12

アプリケーションは " Any CPU" 構成を使用して構築されています。アプリケーションの WIX インストーラーは で構築されてplatform=x86いるため、結果の MSI は 32 ビットです。

64 ビット Windows で 32 ビット MSI を実行すると。プロパティは「[ProgramFilesFolder]C:\Program Files (x86)」に解決され、レジストリ パスはWow6432Node. アプリケーションを実行すると、プロセスは予想どおり 64 ビットです。

SOに関する多くの関連記事を読んだ後、私が理解している限り。64 ビット Windows では、[ProgramFilesFolder]を「C:\Program Files」に解決し、レジストリ パスを通常のパス ( の下ではないWow6432Node) にします。別の 64 ビット MSI が必要です。私が回避しようとしているもの - 私にとっては、別の 64 ビット MSI[ProgramFilesFolder]とレジストリ パスを正しい場所に解決するだけの価値はありません。私のプログラムが 64 ビット Windows で 64 ビットを実行する限り、デフォルトで「C:\Program Files (x86)」にインストールされ、いくつかのレジストリ値が に存在するかどうかはあまり気にしませんWow6432Node

それで、私の質問は、32ビットMSIを使用して64ビットWindowsに「AnyCPU」プログラムをインストールすると、デフォルトでinstallDirが「C:\ Program Files(x86)」であり、いくつかのレジストリ値はWow6432Node? の下に保存されます。

4

1 に答える 1