gpt4 book ai didi

.net-4.0 - .NET Framework 作为使用 Inno-Setup 安装的先决条件

转载 作者:行者123 更新时间:2023-12-02 19:51:19 26 4
gpt4 key购买 nike

我有一个应用程序,我必须检查 .NET FW 3.5 是否已安装。如果已经安装,我想打开一个消息框,要求用户从 Microsoft 网站下载它并停止安装。

我找到了以下代码。你能告诉我吗:

a) 我应该从哪里调用这个函数?b) 我应该检查是否已安装 .NET FW 3.5 或更高版本?例如如果安装了固件 4.0 - 是否需要安装 3.5?

谢谢

function IsDotNET35Detected(): Boolean;
var
ErrorCode: Integer;
netFrameWorkInstalled : Boolean;
isInstalled: Cardinal;
begin
result := true;

// Check for the .Net 3.5 framework
isInstalled := 0;
netFrameworkInstalled := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5', 'Install', isInstalled);
if ((netFrameworkInstalled) and (isInstalled <> 1)) then netFrameworkInstalled := false;

if netFrameworkInstalled = false then
begin
if (MsgBox(ExpandConstant('{cm:dotnetmissing}'), mbConfirmation, MB_YESNO) = idYes) then
begin
ShellExec('open',
'http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en',
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
result := false;
end;

end;

最佳答案

如果您想在安装开始时但在显示向导表单之前执行检查,请使用 InitializeSetup它的事件处理程序。当您向该处理程序返回 False 时,安装程​​序将中止,当返回 True 时,安装程​​序将开始。这是您发布的一些优化脚本:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[CustomMessages]
DotNetMissing=.NET Framework 3.5 is missing. Do you want to download it ? Setup will now exit!

[Code]
function IsDotNET35Detected: Boolean;
var
ErrorCode: Integer;
InstallValue: Cardinal;
begin
Result := True;
if not RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5',
'Install', InstallValue) or (InstallValue <> 1) then
begin
Result := False;
if MsgBox(ExpandConstant('{cm:DotNetMissing}'), mbConfirmation, MB_YESNO) = IDYES then
ShellExec('', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en',
'', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
end;

function InitializeSetup: Boolean;
begin
Result := IsDotNET35Detected;
end;

关于.net-4.0 - .NET Framework 作为使用 Inno-Setup 安装的先决条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com