2016-08-02 6 views
0

私のバンドルには、デフォルトのインストールパスを保持する変数があります。私はこの変数を使用してカスタムBAのデフォルトパスを表示し、MSIパッケージに渡します。私が今直面している問題は、基本的に64ビットマシンの場合は[ProgramFiles64Folder]、32ビットの場合は[ProgramFilesFolder]というアーキテクチャごとに異なる値を設定したいということです。バーンのシステムアーキテクチャに基づいてプロパティを設定する

私がこれまで持っているコードは次のとおりです。

// if 64 bit 
<Variable Name="installationpath" Value="[ProgramFiles64Folder]$(var.Manufacturer)\$(var.ProductName)"/> 
// else 
<Variable Name="installationpath" Value="[ProgramFilesFolder]$(var.Manufacturer)\$(var.ProductName)"/> 

<Chain> 
    <MsiPackage SourceFile="..\32.msi" Id="client32" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR NOT VersionNT64"> 
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" /> 
    </MsiPackage> 
    <MsiPackage SourceFile="..\64.msi" Id="client64" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR VersionNT64"> 
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" /> 
    </MsiPackage> 
</Chain> 

これは私がに苦しんだかの条件です。 1つの変数でそれを行う方法はありますか?それとも2が必要ですか?

答えて

1

組み込みのProgramFiles6432Folder variableを代わりに使用し、バーンに処理させます。

+0

私はそれに気づいていないと信じられない –

関連する問題