ホームページ > バックエンド開発 > C++ > カスタム アクションやバッチ ファイルを使用せずに MSI インストーラーに COM DLL を登録するにはどうすればよいですか?

カスタム アクションやバッチ ファイルを使用せずに MSI インストーラーに COM DLL を登録するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-26 12:44:09
オリジナル
1028 人が閲覧しました

How Can I Register COM DLLs in MSI Installers Without Using Custom Actions or Batch Files?

カスタム アクションまたはバッチ ファイルを使用しない COM DLL の登録

はじめに

信頼性の問題のため、インストール中に COM DLL を自己登録しないでください。代わりに、COM 登録情報を抽出して MSI データベースにコンパイルする必要があります。このプロセスは、WiX の heat.exe ツールによって容易に実行されます。

Heat.exe の使用法

DLL から COM レジストリ データを抽出するには、次のコマンドを使用して heat.exe を実行します。

heat.exe file YourFileName.ocx -o YourFileName.wxs
ログイン後にコピー

これにより、必要なレジストリを含む WiX ソース ファイルが生成されますdata.

Heat.exe の出力を WiX に組み込む

heat.exe によって抽出されたレジストリ データは、メインの WiX ソース ファイルに含めることができます。これを行う方法については、以下のリンク先の記事で説明しています:

  • [Wix で熱出力(wxs) を参照する方法 (コマンド) Line)](https://stackoverflow.com/questions/1685282/how-to-reference-a-heat-outputwxs-in-wix-command-line)

依存関係が欠落しています

依存関係が欠落していると、COM の登録が成功しない可能性があります。欠落している依存関係を特定するには、Dependency Walker または新しい依存関係ツールを使用します。これらの依存関係がインストール中にローカルまたはパスで利用可能であることを確認してください。

64 ビット バイナリ (オプション)

Heat.exe は現在、64 ビット COM バイナリを正しく処理しません。 64 ビット コンポーネントを使用している場合は、WiX Expansion Pack (無料ではありません) を使用するか、ここで説明されているように自己登録を試みる必要がある場合があります。

概要

COM 登録は次のとおりです。カスタム アクションやバッチ ファイルではなく WiX を通じて実行されます。 heat.exe を使用して COM レジストリ データを抽出し、それを WiX ソースに組み込むことで、インストール中に信頼性が高く効率的な COM 登録を確保できます。

以上がカスタム アクションやバッチ ファイルを使用せずに MSI インストーラーに COM DLL を登録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート