2

私は .NET プロファイラーに取り組んでいます (プロジェクトの出力は DLL です)。2 つの DLL (c++ で記述) を作成しました。1 つは x86 .NET プロセスによってロードされ、もう 1 つは x64 プロセスによってロードされます。OS が 64 ビットか 32 ビットかをチェックする単一の MSI (x86 パフォームを対象とする) を生成したいと考えています。次に、正しいDLLを登録します。つまり:

 - Project output : - the_x64.DLL
                    - the_x86.DLL
 - A single MSI that targets x86 machines : contains the 2 DLLs
                    - if the OS is 64 bits then both of the DLLs are registered
                    - if the OS is 32 bits then only the x86 dll is registered

それは可能ですか?

4

1 に答える 1

5

MSI プラットフォームは、32 ビットと 64 ビットが混在するインストーラーをサポートしていません。「ハイブリッド」MSI を作成するハックがありますが、公式にはサポートされていません。Microsoft が推奨するアプローチは、2 つ以上の MSI (共通、32 ビット プロバイダー、64 ビット プロバイダー) を作成し、WiX Burn や InstallShield Suite インストーラーなどのブートストラップを使用して、エンド ユーザーに単一のインストール エクスペリエンスを提供することです。

于 2013-04-04T17:23:34.543 に答える