1

同様の投稿がここにありますが、 WiX Bundle bal:condition - util:RegistrySearch variable always falseを機能させることができません

サー、私はこの正確なものを機能させるのに苦労しています。「バージョン」は、レジストリ キーが存在しない場合は 0 に設定され、キーが存在する場合は 1 に設定されます。どちらの場合でも、私のバンドルは引き続きインストールされます。

VS 2015 と Wix 3.10 を使用しています。Plsはあなたが助けることができます.

<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">  
 <Bundle Name="XXX"
      Version="XXX"
      Manufacturer="XXX"
      UpgradeCode="XXX"
      IconSourceFile="XXX"
      Copyright="XXX" >

<util:RegistrySearchRef Id='SearchForMyIns' />

<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">
  ...
</BootstrapperApplicationRef>

<Chain>
  <PackageGroupRef Id='NetFx40Web' />

  <MsiPackage SourceFile="$(var.DummyInstaller.TargetDir)\DummyInstaller.msi"  DisplayName="Dummy Conditioning" />      
</Chain>
</Bundle>

<Fragment>
<util:RegistrySearch
      Id='SearchForMyInst'
      Variable="Version"
      Result="exists"
      Root="HKLM"
      Key="SOFTWARE\MyInst" 
      Win64="yes" />
<bal:Condition Message="ThirdParty Application Required.">Version</bal:Condition>
</Fragment>

</Wix>
4

2 に答える 2

1

MBA を使用している場合、Bal:Condition は評価されません。次のリンクを確認してください

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-Burn-Bundle-condition-does-not-work-if-using-MBA-td7581757.html

変化する

<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost">

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">

Bal:Condition が動作していることがわかります

于 2016-12-20T16:54:42.523 に答える