Wix Bootstrapper检查Net 4.5.2,然后下载并检查Windows版本

时间:2018-07-03 19:10:12

标签: wix bootstrapper burn

我正在尝试创建一个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版本。

1 个答案:

答案 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>

干杯!