【发布时间】:2014-01-12 05:21:46
【问题描述】:
我有一个类似于Inno Setup: Verify that .NET 4.0 is installed 的问题,但似乎略有不同。
[Files]
Source: "dependencies\dotNetFx40_Full_x86_x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall; Check: FrameworkIsNotInstalled
Source: "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll"; DestDir: "{app}\lib"; StrongAssemblyName: "MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, ProcessorArchitecture=MSIL"; Flags: "gacinstall sharedfile uninsnosharedfileprompt"
[Run]
Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Description: Install Microsoft .NET Framework 4.0; Parameters: /q /norestart; Check: FrameworkIsNotInstalled
[code]
function FrameworkIsNotInstalled: Boolean;
begin
Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Microsoft\.NETFramework\policy\v4.0');
end;
如您所见,我正在尝试向 GAC 注册一个文件。不幸的是,在某些机器上可能没有安装了 .NET 框架。所以我需要先安装它。在我尝试注册我的文件之前,我是否可以强制安装 .NET 运行时?
【问题讨论】:
-
@stuartd,它不是重复的...
-
绝对不是重复 - 只是检查,我已经在做。我正在分发可执行文件并希望在尝试将下一个文件安装到 GAC 之前安装它。 (这个问题也是我链接到的问题;)
-
注意正确的参数是
/norestart而不是/noreboot。 -
@Marc.2377 为那些不阅读 cmets 的人更新了正确的参数 ;)
标签: .net inno-setup