質問の背景
私は現在、COMで公開されている.NET DLLをユーザーのシステムに登録する必要がある、作業中の新しいプロジェクトを配布する手段をまとめようとしています。WiXを初めて使用する場合は、それに移行します。このため、私は物事をできるだけシンプルに保つようにしています。
問題
DLL登録の大きな問題は、regasmがInProcServer32キーのデフォルト値を「mscoree.dll」に設定することですが、DLLへのフルパスが使用されている場合にのみ、DLLがインスタンス化されているように見えます(例:「C:\ Windows \」)。 SysWow64 \ mscoree.dll "
現在、セットアッププロジェクト(WiXの使用を中止したい)にカスタムアクションがあり、SearchPath APIを呼び出してmscoree.dllへのフルパスを検索し、デフォルト値をフルパスで上書きして、DLLができるようにします。問題なくインスタンス化できます。
提案された解決策/質問
私はWiXを初めて使用するので、CLSIDツリーに入るのに必要なすべての情報を含む.regファイルを準備し、WiXにそれを何らかの方法で実行させるというアイデアを思いつきました。
私の質問は:
- この方法でDLLを登録することによる固有の欠陥はありますか?
- 私がここで回避策を見つけようとしている主な理由はmscoree.dllの問題ですが、WiXでこれを行うためのネイティブな手段はありますか?