私のVisual Studioインストーラプロジェクトでは、COMに登録するDLLがあります。また、COMレジストリの一部であるキー(InprocServer32キー)を変更する必要があります。しかし、Visual Studioのレジストリ設定にエントリを作成すると、そのエントリはCOM登録によって上書きされます。Visual Studioインストーラ - COMによって上書きされるレジストリキー
MSIトランスフォームを使用してレジストリキーをレジストリテーブルの末尾に追加していましたが、COMIを上書きすることがありました。しかし、これはエラーが起こりやすいので、Visual Studioのレジストリ設定に切り替えることにしました。
自動COM登録(レジストリテーブルの後半)で作成されたエントリを上書きするレジストリエントリを作成するにはどうすればよいですか?
コンポーネントIDの変更を維持する方法を教えてください。私のトランスフォームは特定のコンポーネントIDを使用しますが、これはビルドからビルドに変更されることがあります。同じコンポーネントIDを保持することは可能ですか?または、トランスフォームの一部としてコンポーネントを作成する必要がありますか? –
VDPROJは吸いますが、私はそれを吸うことは決して見たことがありません。 :-)私がComponentIDを変更すると思う唯一の方法は、検出された依存関係として作成されているかどうかです。ファイルがインストーラに追加されている場合、ComponentIDは安定しているはずです。 ComponentIDの変更はコンポーネントルール違反です。 –
個人的には、自分のブログで説明しているように、すべてのコンポーネントをWiXマージモジュールに組み込んでいます。これにより、コンポーネントのオーサリングを100%コントロールできます。 –