我正在尝试创建一个wix应用程序,以检查Windows安装版本并下载适当的.net版本。它还应检查Windows版本。
我已经创建了一个带有wix 3.0项目的.msi,该项目会检查相应的Windows版本。
<InstallExecuteSequence>
<Custom Action="SetARPINSTALLLOCATION" After="InstallValidate"></Custom>
</InstallExecuteSequence>
<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" /> <Condition Message="Your version of Windows is too low">
<![CDATA[Installed OR (VersionNT <= 602)]]>
</Condition>
然后我创建了一个刻录引导程序,可以下载.net 4.5.1并下载(如果未安装)。
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<PackageGroupRef Id="NetFx451Web"/>
<MsiPackage Id="programName" SourceFile="$(var.SolutionDir)SetupProject1/bin/Release/programNameInstaller.msi"/>
</Chain>
我想以某种方式组合这两个项目,因为显然由于某些原因,这两个功能无法一起使用。我希望尽可能先检查Windows版本,以便在用户未运行足够高的Windows时不下载.net版本。
答案 0 :(得分:1)
好吧,我已经弄清楚了。这是完成的版本。 (到目前为止)您还需要安装WixNetFxExtension.dll和WixBalExtension的依赖项,我相信也是WixUtilExtension
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="MyProgramInstaller" Version="1.0.0.0" Manufacturer="myCompany" UpgradeCode="18b18295-d4a1-4174-99ad-f82f6ca4f7ff">
<!-- checking here for anything over windows 7 you can change this value using the following chart -->
<!-- https://docs.microsoft.com/en-us/windows/desktop/Msi/operating-system-property-values -->
<bal:Condition Message="This application requires Windows 7 or higher to run.">
<![CDATA[Installed OR (VersionNT >= 601)]]>
</bal:Condition>
<!-- here's the license statement, would suggest you update this to something more useful. -->
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<!-- here's the .net download installer you can change this using the following chart -->
<!-- http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html -->
<PackageGroupRef Id="NetFx451Web"/>
<MsiPackage Id="myProgram" SourceFile="$(var.SolutionDir)SetupProject1/bin/Release/myProgramInstaller.msi"/>
</Chain>
</Bundle>
</Wix>
干杯!