Visual Studioの私のセットアッププロジェクトは、COMに登録するように設定されたDLLを展開します。インストーラは必要なレジストリ設定を処理しますが、変更したいキーが1つあります。自分のクラスのInprocServer32キー。通常は 'mscoree.dll'が含まれていますが、 '[SystemFolder] mscoree.dll'が含まれている必要があります。私はこれをいくつかの方法で修正しようとしました。WindowsインストーラのCOM登録の変更
私が試した最初のことは、レジストリテーブルへのエントリが追加されたMSIトランスフォームを作成し、ポストビルドアクションとして適用することでした。これは、私のComponentキーがビルド全体で一貫していなかったために、これは日常的に壊れました。
その後、レジストリウィンドウにVSでレジストリエントリを作成しようとしました。 COM登録が私のレジストリキーを上書きしたため、これはうまくいきませんでした。
次に、私はMSI変換のアイデアに戻り、コンポーネントテーブルにエントリを追加し、そのコンポーネントのレジストリキーエントリを作成しました。これはまったく機能しませんでしたが、私は理由を知らない。
WindowsインストーラでCOM登録を変更する方法を知っている人はいますか?私が間違っていたところを指摘できますか?
[Visual Studio Installer - COMによって上書きされるレジストリキー]の重複が可能です。(http://stackoverflow.com/questions/9020576/visual-studio-installer-registry-keys-being-overwritten-by-com) –
私はあなたが間違っている場所を正確に指摘することができます:Visual Studioデプロイメントプロジェクトの使用。このツールは、単にWindowsインストーラをあまりにも抽象化し、操作する必要のあるWindowsインストーラの機能を公開しません。 WindowsインストーラでCOM登録データを修正する方法を正確に教えてもらえますが、VDPROJでそれを行う方法を隠すことはできません。 –
Orcaを使用することを意味する場合、私はそれを行う方法を知っていますが、自動化されていないため変換されます。しかし、変換には私にとって問題があります。 –