2

インストーラーを作成する必要がある C++ ActiveX コントロールがあります。dll を削除し、いくつかのレジストリ キーを作成する必要があります。

regsvr32 を介して自己登録用に作成した .RGS ファイルが約 6 個あります。

インストーラーを実行するために、RGS スクリプトを Visual Studio 2008 Windows インストーラー レジストリ GUI に手動で移植しています。正確なポートを行うことはできないように感じます (たとえば、ForceRemove のような RGS キーワード)。

これらのファイルを IDL ファイルから生成する方法はありませんか? 私はこれを間違っていますか?

4

2 に答える 2

1

SelfRegはプロセス外で壊れやすいため、MSIインストールのベストプラクティスではありません。Visual Studio 2008インストーラーには制限がありますが、RegisterプロパティをvsdrfCOMSelfRegではなくvsdrfCOMに設定できるはずです。これにより、COMメタデータがDLLから収集され、MSIでネイティブに作成されます。

MSIを構築した後、SelfRegテーブルが空であり、COMデータ用にレジストリテーブルに自動的に作成された行が深刻であることに気付くはずです。

注:VDPROJは、このCOMを抽出する際の一種の不安定なものであるため、機能しない可能性があります。InstallShieldやWindowsインストーラーXMLなどのより強力なツールを検討する必要があるかもしれません。

于 2010-08-25T22:53:40.687 に答える
1

あなたはそれを誤解している。.rgsファイルは、コンポーネントがそれ自体をインストールできるようにするためにあります。すべてのインストーラーは、コンポーネント自体のインストールをサポートしています。たとえば、Visual Studioセットアッププロジェクトでは、Registerプロパティを設定します。

于 2010-08-25T16:59:28.897 に答える