【问题标题】:how to check condtiotion for version check in bootstraper (wix)?如何检查引导程序(wix)中版本检查的条件?
【发布时间】:2017-08-16 10:45:38
【问题描述】:

我正在使用引导程序安装 VC++ 和 .net 框架,

<?xml version="1.0" encoding="UTF-8"?>
  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
 <Bundle Name="Engage" Version="1.0.0.0" Manufacturer="my Corporation" UpgradeCode="d7d559b1-3388-4275-91e2-d8d44d2f02db">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
  <!-- TODO: Define the list of chained packages. -->
  <PackageGroupRef Id="Netfx45FullPackage" />
  </Chain>
 </Bundle>
 <Fragment>
<PackageGroup Id="Netfx45FullPackage">
  <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile=".\NDP452-x86-x64ENU.exe"  />
  <ExePackage Id="VC2013" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q" SourceFile=".\vcredist_x862013.exe"  />

  <MsiPackage Id="MyProg" Cache="no" Compressed="no" DisplayInternalUI="yes" Vital="yes" SourceFile="D:\Projects\Crimson\engage.client\EngageSetupCreator\bin\Debug\EngageSetupCreator.msi" />
  </PackageGroup>
  </Fragment>
</Wix>

目前我正在安装这两个没有检查任何条件,我应该怎么做才能检查vc++和.netframework是否存在相同的版本,如果存在跳过安装?

如果已经存在则无需再次安装。

【问题讨论】:

    标签: wix windows-installer installation wix3.6


    【解决方案1】:

    您需要添加检测条件并使用注册表搜索来获取已安装的版本。

    例如:

    <?define NetFx451MinRelease = 378675 ?>
    
    <util:RegistrySearchRef Id="NETFRAMEWORK45"/>
    
    <ExePackage Id="NetFx451"
                    ...
                  DetectCondition="NETFRAMEWORK45 &gt;= $(var.NetFx451MinRelease)"
                    ...
                  >
    </ExePackage>
    

    vc++ 也一样。

    【讨论】:

    • 您能解释一下 >= $(var.NetFx451MinRelease)" 的确切含义吗?
    • 378675 这说明了什么?
    • 这是版本号。如果你的条件是。 Net 版本 4.5.1 或更高版本,这就是你的做法。
    • 我的是4.5.2,从哪里可以得到这个数字?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多