我在 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 桌面运行时的安装吗? 或者请建议其他方式。
并向安装程序添加以下代码:
[Code]
function InitializeSetup: Boolean;
begin
Dependency_AddDotNet80;
Dependency_AddDotNet80Desktop;
Result := True;
end;
它似乎适用于 .NET 8。