IISの管理部分(IIS WMIプロバイダ)は、IISランタイムとは別にインストール可能です。IISにアドオンをインストールする場合、IIS WMIプロバイダが利用可能であることを確認するにはどうすればよいですか?
IISへのアドオン用のインストーラを作成したいと思います.WIXプロジェクトでIISランタイムが存在するかどうかを確認する方法を知っています。しかし、インストーラーはさまざまな管理作業、つまりWMIのことを行う必要があります。そのためには、IISだけでなくIIS用のWMIプロバイダーも必要です。私が言ったように、存在してもいなくてもよい。
WIXプロジェクトでは、IIS WMIプロバイダの存在を確認する方法と、IIS WMIプロバイダが存在しない場合に適切なダイアログをユーザーに提示する方法を教えてください。
インストーラは、すでにJavaScriptで実装され、いくつかのMSIカスタムアクションを持っている、と私は、WMIプロバイダの存在を確認するために...
var iis = GetObject("winmgmts:root\WebAdministration");
を使用することができます。 WMIプロバイダがない場合は失敗します(スロー)。私はこれを使ってPropertyを設定し、Product.wxsファイルのConditionの早い段階でPropertyをチェックすることができます。
これは動作する予定ですか?他の提案はありますか?
私はWixプロジェクトのレジストリ検索に従ってプロパティを設定する方が簡単だから、レジストリを使うことを考えました。 WMIプロバイダが存在しているかどうかを判断するために、regキーをスキャンするかどうかを決定することができるという確信はほとんどありませんでした。多分、オブジェクトの1つがそこに存在するかもしれませんが、別のオブジェクトは存在しません。等々。あまりにも多くの可能性とエッジケース。だからこそ私は存在のテストとしてモニカを通してオブジェクトのインスタンス化を使うことに決めました。 – Cheeso