管理対象コードをx86からx64プラットフォームに移行する際に問題が発生しています。私はMSIを作成するためのWiXプロジェクトを持っており、これはBootstrapperを通して実行されます。WiX 3.0のプラットフォームID
x86プラットフォームでは、ファイルはProject.wxsファイルごとに "Program Files"にコピーされます。しかし、同じMSIがBootstrapperを介してx64プラットフォームにインストールされている場合、すべてのインストールファイルはデフォルトで "Program Files(x86)"にコピーされ、アプリケーションの機能は12ヒープ階層で必要なファイルが見つからないため失敗します。プログラムファイル(64ビットの場合は「C:¥Program Files¥Common Files¥Microsoft Shared¥Webサーバー拡張¥12¥CONFIG」)。
$(var.ProcessorArchitecture)= x64?>の場合、<のようなプリプロセッサ変数を使用しようとしましたが、プロジェクトプロパティでこの変数をx86またはx64にハードコードする必要があります。最後に、2つの異なるプラットフォーム用の2つの異なるMSIで終わりますが、これは私には望ましい解決策ではありません。
WiXを通じて、プラットフォームを特定して希望の場所に確実に設置できるかどうかを確認してください。
WiX 3では、プラットフォーム属性の使用はお勧めしません。彼らはそれを残して、キャンドルの代わりに '-arch'スイッチを使うことを勧めます。 http://wix.sourceforge.net/manual-wix3/wix_xsd_package.htm – Chris
var.Platformではなくsys.BUILDARCHを使用する必要があります。 –