1

WMI win32_product クラスを使用して、完全にインストール/アンインストールされたアプリケーションの通知を取得しようとしています。C#でそれを行う他の方法はありますか??

4

4 に答える 4

1

インストーラーを自分で作成した場合は、アンインストール時に何が起こるかを制御できます。それで十分?

于 2012-05-18T09:20:56.463 に答える
0

Process.Startインストール/アンインストールファイルを呼び出して、終了するまで待つ必要があると思います

于 2012-05-18T09:23:42.473 に答える
0

一般的な統計情報およびインストール/アンインストールには、無料のオプションがあるDeskMetricsを使用できます。

于 2012-05-18T09:24:53.243 に答える
0

申し訳ありませんが、できないと確信しています。WMI は、コンピュータのインベントリに関する情報の単なるデータベースです。アプリケーションが正常にインストールされるかどうかは、アプリケーションが使用するインストーラーに完全に依存します。

インストーラーが破損している場合でも、インストールは正常に完了したと報告されますが、プログラムは実際には動作しません。

Microsoft Installers (MSI) は、ロールバック機能を備えているため、非常に信頼性があります。インストール中にエラーが発生した場合、インストーラーはそれまでに行ったすべての変更をロールバックするため、WMI には表示されません。

これで少し解決したことを願っています。

- - - 編集

実際には、プロジェクトの範囲に応じて..インストーラーラッパーを作成できます(私自身の前に行ったことはありませんが、実行できるはずです)。

ほとんどの有名なインストーラー (MSI、Installshield など) は、実行が完了すると結果コードを返します。

インストーラーを実行するアプリケーションを作成した場合は、結果コードを取得して、インストールが成功したかどうかを知ることができます。インストールが成功すると、通常は 0 が返されます。

しかし、これが機能するためには、すべてのインストールが直接ではなくラッパーによって実行されることを確認する必要があります。また、インストーラーに依存するため、100% 信頼できるわけではありません。

ちょっとした考え

于 2012-05-18T09:33:13.690 に答える