我需要包括微软.NET 4.5与我的安装包的先决条件,我希望它尽可能自动。 然而,.NET 不应 unistalling时取出。 我想我已经读了这篇关于如何使用一切DetectCondition
和/或InstallCondition
,但我仍然没有得到它的权利; 它要么始终运行.NET安装,或从未运行它。
这是我最新的设置:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:netfx='http://schemas.microsoft.com/wix/NetFxExtension'>
<!-- Define minimum .NET Framework version -->
<?define NetFx45MinRelease = 377811?>
...
<Chain>
<PackageGroupRef Id="Netfx45FullPackage"/>
...
</Chain>
<PackageGroup Id="Netfx45FullPackage">
<ExePackage Id="Netfx45Full" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
SourceFile="..\..\..\..\Environment\InstallerResources\Prerequisites\dotnetfx45_full_x86_x64.exe"
InstallCommand="/passive /norestart"
DetectCondition="NETFRAMEWORK45 >= $(var.NetFx45MinRelease)"
InstallCondition="NOT REMOVE AND (NETFRAMEWORK45 < $(var.NetFx45MinRelease))" />
</PackageGroup>
(出于某种原因,我不得不定义NetFx45MinRelease
自己即使它应该已包含在WixNetFxExtension。)
我怎样才能获得设置是否正确?