wdu*_*mon 4 .net wix version bootstrapper
我有一个Wix安装程序和bootstrapper应用程序来安装我的应用程序和服务.作为先决条件,我需要安装.NET 2.0 SP2 Framework并尝试使用以下codesnippet检测:
<Chain>
<PackageGroupRef Id='Netfx2Package' />
<MsiPackage SourceFile="..\Wix.CHL7.Dispatcher.Service.AZHF\bin\Debug\Wix.CHL7.Dispatcher.Service.AZHF.msi" Id="Wix.CHL7.Dispatcher.Service.AZHF_PackageId" Cache="yes" Visible="no">
<MsiProperty Name="INSTALLDIR" Value="[INSTALLPATH]" />
<MsiProperty Name="WixAppFolder" Value="[INSTALLSCOPE]"/>
</MsiPackage>
</Chain>
</Bundle>
<Fragment>
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx2Package" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
<PackageGroup Id="Netfx2Package">
<ExePackage Id="Netfx2Exe"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="C:\Installation\Wix.CHL7.Dispatcher.Service.Bootstrapper\lib\NetFx20SP2_x86.exe"
DownloadUrl="http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe"
DetectCondition="NETFRAMEWORK20"
InstallCondition="FALSE"/>
</PackageGroup>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
当我在安装了.NET 2.0 SP2的计算机上运行安装程序时(在注册表中检查),我的安装程序想要下载并安装框架.
我认为我的DetectCondition不正确但似乎无法找到解决问题的正确方法.那么如何检测我的引导程序中是否安装了.NET 2.0 SP2?
提前致谢!
w ^
确保正确引用NetFxExtension.
资料来源:WixNetfxExtension
使用WixNetfxExtension属性要在MSI中使用WixNetfxExtension属性,请使用以下步骤:
为上面列出的要在MSI中使用的项添加PropertyRef元素.在调用light.exe时添加-ext命令行参数以在MSI链接过程中包含WixNetfxExtension.
例如:
<PropertyRef Id="NETFRAMEWORK20" />
Run Code Online (Sandbox Code Playgroud)
此外,NETFRAMEWORK20_SP_LEVEL如果需要SP2 ,您可能希望使用该属性来获取相应的Service Pack级别.在进行故障排除时,我还要检查安装日志以查看它是否指示属性值的设置.