VS2008 インストーラー (およびカスタム Orca アクション) を使用して、.NET 製品のインストーラーを作成しています。
最近、私が使用していたサードパーティ製アセンブリの 1 つが x86 固有のものであることがわかりました (ネイティブ コードが含まれているため)。そのため、x64 のお客様は、アセンブリがプラットフォームに適していないというエラーで起動時にクラッシュしていました。
私はそのような顧客に、このサードパーティ アセンブリの x64 バージョンのコピーを送り、既存の x86 アセンブリにコピーするように伝えました。うまくいきました、甘い!したがって、インストーラーにこれを実行させる必要があります。
これは実際には自明ではないようです:(。理想的には、インストーラー(両方のプラットフォームで実行できるため、x86になります)に、このサードパーティアセンブリのx86バージョンとx64バージョンの両方を含め、適切なものをインストールするだけです。つまり、ユーザーの生活を楽にする単一のインストーラーが必要です。
MSI条件ステートメントなどを使用して、これがうまくいったと思いました。しかし、どうやらいいえ...「x86」または「x64」を指定しない限り、VS2008 セットアップ プロジェクトはコンパイルされません。x86 を指定すると、x64 アセンブリを含めることができないというコンパイル エラーが発生します。x64 を指定した場合、結果は x86 コンピューターでは実行できません。くそ!
誰かが以前にこの問題を抱えていたに違いありません。残念ながら Google は役に立たないので、StackOverflow に頼ります。