私が書いたアプリケーションに自動化インターフェースを追加しました。タイプ ライブラリはリソースとしてアプリケーションに格納され、起動時にアプリケーションが呼び出しRegisterTypeLib
てタイプ ライブラリを自動的に登録します。
Visual Studio は管理者として実行されており、アプリケーションはこれを継承しているため、この呼び出しRegisterTypeLib
は Visual Studio からアプリケーションが起動される開発中にのみ機能することがわかりました。コマンド ラインからデバッグ ビルドを実行する場合、またはインストーラーによってインストールされたアプリケーションを実行する場合、アプリケーションは管理者として実行されず、呼び出しがRegisterTypeLib
失敗します。
したがって、インストール時にタイプ ライブラリを登録する必要があると思います (これには、最初にアプリケーションを実行しなくても、自動化インターフェイスを使用できるようにするという良い副作用もあります)。インストーラーは、Visual Studio の Windows インストーラー プロジェクトです。
インストール中に効果を達成することは可能RegisterTypeLib
ですか (また、可能であればどのように)? インストーラー ソリューションが開いているとき、Visual Studio はレジストリにキーを追加できる "Registry" というエディターを表示しますが、各キーを個別に追加する方法はありません。のようRegisterTypeLib
に。
編集:マニュエルのヒントと私自身のいくつかの調査の後、質問はこれに要約されます:インストーラーから呼び出す必要がMyApp /RegServer
あります(インストーラーによって作成されていない他の必要なレジストリキーも作成しますRegisterTypeLib
); これをどのように正確に行うのですか?Visual Studio インストーラー ソリューションに「インストール」カスタム アクションを追加しましたが、それをトリガーする方法がまだわかりません。