0

複数の msi を呼び出してインストールする vb.net プロジェクトを作成しようとしています。

私はこれを使用してこれを行うことができました

Program.StartInfo.FileName = "C:Windows\System32\msiexec.exe"
Program.StartInfo.Arguments = "/i  MsiName.msi /qb”
Program.Start()
Program.WaitForExit()

これは機能しますが、フォームを使用して、MsiSetExternalUI を使用すると思われるインストールの進行状況に関連する進行状況バーを表示し、exe に終了コードを渡すことができるようにしたいと考えています。

この方法で msi を呼び出す方法がわかりません。フォームに表示できるように、1 つの msi を呼び出してこの情報を渡すコードを手伝ってくれる人はいますか?

ご協力ありがとうございました。

アップデート

いくつかの C++ の例とコーディングを見つけることができますが、残念ながら私はスクリプト作成に比較的慣れていないため、C++ を VB.net に変換する方法がわからないため、このプロセスのコーディングの助けをいただければ幸いです。

4

1 に答える 1

0

Windows Installer XML の (Wix) Deployment Tools Framework (DTF) MSI 相互運用ライブラリ (Microsoft.Deployment.WindowsInstaller.dll) を見てください。これには、インストールを起動し、ProgressBar 更新メッセージを受信するための外部 UI ハンドラーを提供するために必要なすべての要素が含まれています。 VB.Net UI にルーティングできます。

詳細については、次のトピックとサブトピックを参照してください。

MsiSetExternalUI を使用したインストールの監視

サンプルは MSI Win32 関数を使用した C++ であり、DTF 相互運用ライブラリはこれらすべてをクラスでカプセル化します。DTF ヘルプ ファイルには、どのクラスとメソッドがどの Win32 関数にマップされているかが示されています。

于 2013-07-30T13:21:50.930 に答える