インストーラーがあります (Advanced Installer で作成)。対話する必要があるアプリケーションがありますが、そのインストールの MSIHANDLE を見つける方法がわかりません。Microsoft リファレンスを調べましたが、私の問題に役立つものは見つかりませんでした。
何か助けてください。
インストーラーがあります (Advanced Installer で作成)。対話する必要があるアプリケーションがありますが、そのインストールの MSIHANDLE を見つける方法がわかりません。Microsoft リファレンスを調べましたが、私の問題に役立つものは見つかりませんでした。
何か助けてください。
MSI ハンドルは、アウト プロセス コードでは使用できません。アプリケーションがやり取りできるある種の RPC メカニズムをホストできるカスタム アクションを作成する必要があります。これは基本的に、Windows Installer XML (Wix) の Deployment Tools Foundation (DTF) の仕組みです。これにより、C++ ホストでラップされる C# を使用してカスタム アクションを作成できます。C++ ホストは RunDLL32 を使用してマネージ コードをアウト プロセスで実行し (CLR バージョンで msiexec プロセスをタトゥーしないように)、2 つの間に IPC トンネルが作成されます。
C# には、C++ コードが MSI API を呼び出して結果を返す IPC トンネルを介して呼び出しをマーシャリングする相互運用ライブラリがあります。