comコンポーネント用のWindowsインストーラー
-
01-10-2019 - |
質問
インストーラーを作成する必要があるC ++ ActiveXコントロールがあります。 DLLをドロップして、レジストリキーを作成する必要があります。
regsvr32を介して自己登録のために作成した約6つの.RGSファイルが機能します。
インストーラーを実行するには、RGSスクリプトをVisual Studio 2008 WindowsインストーラーレジストリGUIに手動で移植しています。正確なポートを実行することは不可能だと思います(たとえば、ForceremoveのようなRGSキーワード)。
IDLファイルからこれらのファイルを生成する方法はありませんか?私はこれを間違っていますか?
解決
SelfRegは、MSIインストールではプロセスがなく、脆弱であるため、ベストプラクティスではありません。 Visual Studio 2008インストーラーは限られていますが、VSDRFCOMSELEGREGの代わりにレジスタプロパティをVSDRFCOMに設定できるはずです。これにより、COMメタデータがDLLから収穫され、MSIでネイティブに執筆されます。
MSIを構築した後、SelfRegテーブルが空であり、comデータのレジストリテーブルに自動的に執筆された行が真剣であることに気付くはずです。
注:vdprojは、このcomを抽出するのに一種のフレークであるため、機能しない可能性があります。 InstallShieldやWindows Installer XMLなどのより強力なツールを考慮する必要がある場合があります。
他のヒント
あなたはそれを誤解している。 .RGSファイルは、コンポーネントがそれ自体をインストールできるようにします。インストーラーは、コンポーネントをインストールすることをサポートしています。たとえば、ビジュアルスタジオセットアッププロジェクトは、レジスタプロパティを設定します。