我想使用 innosetup 从 Web 下载并安装 .netframework 4.5。我遵循了这些程序,1.我下载并安装了 InnoTools Downloader。2.In InitializeWizard 我声明
itd_init;
itd_addfile('http://go.microsoft.com/fwlink/?LinkId=225702',expandconstant('{tmp}\dotNetFx45_Full_x86_x64.exe'));
itd_downloadafter(10);
其中 10 是 curpageId。而在
NextButtonClick(CurPageID: Integer) i added ,
if CurPageId=104 then begin
`filecopy(expandconstant('{tmp}\dotNetFx45_Full_x86_x64.exe'),expandconstant('{app}\dotNetFx`45_Full_x86_x64.exe'),false);
end
*现在我需要做的是,我想检查我的电脑中是否安装了.net framework 4.5,使用我如何检查的功能*,
function Framework45IsNotInstalled(): Boolean;
var
bVer4x5: Boolean;
bSuccess: Boolean;
iInstalled: Cardinal;
strVersion: String;
iPos: Cardinal;
ErrorCode: Integer;
begin
Result := True;
bVer4x5 := False;
bSuccess := RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Install', iInstalled);
if (1 = iInstalled) AND (True = bSuccess) then
begin
bSuccess := RegQueryStringValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Version', strVersion);
if (True = bSuccess) then
Begin
iPos := Pos('4.5.', strVersion);
if (0 < iPos) then bVer4x5 := True;
End
end;
if (True = bVer4x5) then begin
Result := False;
end;
end;
我需要检查这个条件的地方,在我这边下载和安装.netframework 4.5的情况很好,我需要检查.net framework 4.5是否安装的唯一条件,在调用这个**itd_downloadafter(10)Where 10之前是 curpageId.**。如果.netframework 已经存在于我的最终用户电脑中,那么只有下载不会发生。我怎样才能完成这项任务?有任何想法吗?