0

Antを使用して、いくつかのWindowsインストーラーパッケージ(MSI)をさまざまなマシンに展開してインストールしています。

インストールする前に、Antにmsiパッケージが(ProductCodeを使用して)マシンにすでにインストールされているかどうかを確認してもらいたいです。

Antに条件を追加して、msi製品がすでにインストールされているかどうかを確認する方法はありますか?

Windowsインストーラー製品を照会するには、API: リンク別のリンクを使用できることがわかりました。

私の唯一のオプションは、ProductCodeを受け取り、APIを使用してmsiがインストールされているかどうかを確認する.exeを作成することだと思います。次に、どういうわけか、製品がインストールされているかどうかをAntに通知します。

4

1 に答える 1

0

Ant (NAnt と MSBuild; はい) の経験はあまりありませんが、「外部タスク」を作成してビルド スクリプトから呼び出すことができることがわかります。外部タスクは Java を使用して記述されていると仮定します。また、何らかの形で Java (JNI?) で Win32 または COM API を呼び出すことができると想定しているので、ProductCode または UpgradeCode を引数として受け取り、何かがインストールされているかどうか。

于 2013-01-02T18:39:25.583 に答える