2012-03-16 5 views
6

32ビットExcelアドインアプリケーションにタイプライブラリがあります。32ビットtypelibを64ビットプロジェクトに転送する方法(ネームフラッシュを防止しながら)

アプリ全体を64ビットに翻訳する必要があります。 GUIDのネーミングのために既にインストールされている32ビットアプリ、同上と衝突するので、

enter image description here

は、私はちょうど、タイプライブラリをコピー&ペーストすることはできません。
ネームクラッシュを避ける方法でアプリケーションを64ビットに変換する最善の方法は何ですか?

または、私が知りませんが自動的に名前とGUIDの衝突を解決するメカニズムがありますか?

+0

[Windows 64-bit registry v.s. 32ビットレジストリ](http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry)が役に立ちます。 – kobik

+0

したがって、32ビットのビルド構成と64ビットのビルド構成のXE2アプリがあり、ビルド構成を切り替えて再構築するだけです。右?デイヴィッドの答えが正しければ(私はそれが疑わしい)、それはすべてそれにある。 –

+0

@WarrenPそれだけです。私はこれをExcel COMアドインでやったことはありませんでしたが(まだTODOのリストでは非常に高いですが)、私は数年前にシェル拡張でこれを行いました。きちんとしたことは、すべての点で同じコードを使用し、x86またはx64のいずれかをターゲットにすることです。条件付きコンパイルはまったく必要ありません。 –

答えて

11

32ビットと64ビットCOMサーバーは、異なるレジストリビューに登録されています。したがって、32ビットのプロセスと64ビットのプロセスは、分離したGUID名前空間に存在します。つまり、32ビット版と64ビット版の両方で同じGUIDを使用します。レジストリリダイレクタは残りの処理を行います。

+0

Davidさん、ありがとうございました。 – Johan

関連する問題