检测 Inno Setup 中安装了 .NET 8 桌面运行时

问题描述 投票:0回答:1

我在 Inno Setup 中使用以下代码来安装 .NET 8 Desktop 运行时:

function InitializeSetup: Boolean;
var             
  dotNetDownloaderPath: string;
  dotNetDownloaderArgs: string;
  downloadResultCode: Integer;
begin
  Result := True;    

  dotNetDownloaderPath := ExpandConstant('{tmp}\windowsdesktop-runtime-8.0.3-win-x64.exe');
  dotNetDownloaderArgs := '';

  ExtractTemporaryFile('windowsdesktop-runtime-8.0.3-win-x64.exe');

  // Run the downloader to fetch the .NET 8 runtime installers
  Exec(dotNetDownloaderPath, dotNetDownloaderArgs, '', SW_HIDE, ewWaitUntilTerminated, downloadResultCode);    
 

end;

它可以工作,但我需要跳过安装,以防计算机上已安装 .NET 8 Desktop 运行时。 它是一个注册表项,可以用来检测 .NET 8 桌面运行时的安装吗? 或者请建议其他方式。

.net-core inno-setup .net-8.0 .net-runtime
1个回答
0
投票

我在InnoDependencyInstaller

的帮助下实现了我需要的东西

并向安装程序添加以下代码:

[Code]
function InitializeSetup: Boolean;
begin    
  Dependency_AddDotNet80;     
  Dependency_AddDotNet80Desktop;   

  Result := True;
end;

它似乎适用于 .NET 8。

© www.soinside.com 2019 - 2024. All rights reserved.