2016-08-13 8 views
0

私はいくつかのパッケージを含むWix Bundleを持っています。 2つのパッケージは互いに排他的です。つまり、32ビットマシンにインストールする必要があり、64ビットマシンにインストールする必要があるからです。その問題を解決するために、私はこのようなパッケージ・グループを定義していますWixマネージドブートストラップアプリケーションでInstallConditionを取得する

<Fragment> 
    <PackageGroup Id="Drivers"> 
    <MsiPackage Id="Driversx64" InstallCondition="VersionNT64" SourceFile="SRC\drivers64.msi" DisplayInternalUI="no" Visible="no" ForcePerMachine="yes" EnableFeatureSelection="yes"/> 
    <MsiPackage Id="Driversx86" InstallCondition="NOT VersionNT64" SourceFile=".SRC\drivers32.msi" DisplayInternalUI="no" Visible="no" ForcePerMachine="yes" EnableFeatureSelection="yes"/> 
    </PackageGroup> 
</Fragment> 

そして、チェーンに私はちょうど<PackageGroupRef Id="Drivers"/>

物事はそれに期待どおりに動作含んエンジンは、正しくに基づいてインストールを計画しますオペレーティングシステム。

私がいるトラブルは、私がインストールされるパッケージのリストを表示したいと私はしたいです:

  • パッケージはに見えることになっているかどうかをカスタムブートストラップから決定UIかどうか、そして多分それはだレベルが
  • は、パッケージのInstallConditionがのtrueに評価されるかどうかのカスタムブートストラップから決定偽

一番下の行は、しかし、私は私のカスタムBAがで宣言されているものに従うことができることを確認したいです束ねるターゲットシステムにどのパッケージをインストールすることが許されているかは、

答えて

2

実行時に、BootstrapperApplicationData.xmlという名前のファイルがあります。このファイルには、InstallCondition(パッケージが追加されたかどうかわからない、v3.10.3が必要な場合があります)など、各パッケージに関する情報が含まれます。各条件の値をエンジンのEvaluateConditionメソッドに渡して、それが真か偽かを判断することができます。

+0

ありがとうございました - 3.10.2でしたので、3.10.3にアップグレードし、その属性が表示されるかどうかを確認します。 –

+0

あなたが推奨するようにインストール条件をアップグレードして解析した後、EvaluateConditionを実行していました。ありがとうございました! –

関連する問題