COM コンポーネントをインストールし、インストーラーがそれらを登録するアプリケーションを開発しているとしましょう。これはうまくいきます。
現在、ソフトウェアはメモリースティックから実行する必要があります。ライブラリ ランタイムを登録し、アプリケーションの実行後にレジストリがクリーンアップされるようにするにはどうすればよいですか?
COM コンポーネントをインストールし、インストーラーがそれらを登録するアプリケーションを開発しているとしましょう。これはうまくいきます。
現在、ソフトウェアはメモリースティックから実行する必要があります。ライブラリ ランタイムを登録し、アプリケーションの実行後にレジストリがクリーンアップされるようにするにはどうすればよいですか?
常に XP 以降で実行していますか? 気にしないでください。「登録不要COM」をご利用ください。
基本的に、COM コンポーネントのマニフェスト ファイルを作成して、Windows ローダーがその登録内容をレジストリに追加しなくても認識できるようにします。
何をすべきかのチュートリアルは、MSDN のこの記事に あります: COM コンポーネントの登録不要のアクティブ化: ウォークスルー
その記事の「ステップ 6」と「ステップ 7」は、マニフェストの作成方法を示しています。メイン プログラムがマネージドではなくネイティブである場合は、いくつかの API 呼び出しも行う必要がある場合があります。
シェルコマンドを使用してそれを行うことができます。シェルを使用して、dll 名で Regsvr32 を呼び出します。
あなたが望むものかもしれないサイドバイサイドCOMに関する記事を見たことがあります。ただし、Windows のすべてのバージョンで使用できるわけではないことに注意してください。