信頼性の問題のため、インストール中に COM DLL を自己登録しないでください。代わりに、COM 登録情報を抽出して MSI データベースにコンパイルする必要があります。このプロセスは、WiX の heat.exe ツールによって容易に実行されます。
DLL から COM レジストリ データを抽出するには、次のコマンドを使用して heat.exe を実行します。
heat.exe file YourFileName.ocx -o YourFileName.wxs
これにより、必要なレジストリを含む WiX ソース ファイルが生成されますdata.
heat.exe によって抽出されたレジストリ データは、メインの WiX ソース ファイルに含めることができます。これを行う方法については、以下のリンク先の記事で説明しています:
依存関係が欠落していると、COM の登録が成功しない可能性があります。欠落している依存関係を特定するには、Dependency Walker または新しい依存関係ツールを使用します。これらの依存関係がインストール中にローカルまたはパスで利用可能であることを確認してください。
Heat.exe は現在、64 ビット COM バイナリを正しく処理しません。 64 ビット コンポーネントを使用している場合は、WiX Expansion Pack (無料ではありません) を使用するか、ここで説明されているように自己登録を試みる必要がある場合があります。
COM 登録は次のとおりです。カスタム アクションやバッチ ファイルではなく WiX を通じて実行されます。 heat.exe を使用して COM レジストリ データを抽出し、それを WiX ソースに組み込むことで、インストール中に信頼性が高く効率的な COM 登録を確保できます。
以上がカスタム アクションやバッチ ファイルを使用せずに MSI インストーラーに COM DLL を登録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。