2017-09-21 6 views
0

WIXインストーラで問題に直面しました:修理、変更、またはアップデート中に特定のIISアプリケーションプールを停止するにはどうすればいいですか?? 説明:Webアプリケーションを配布して展開し、修復を実行します。 w3wpプロセスがファイルをロックするというダイアログが表示されます。さらに、要件のために、私はそのメッセージを隠すことができず、Webアプリケーションを変更することはできません。私が実行しようとしました何Wixインストーラ。 IISプールを停止する方法

enter image description here

は:

  1. 私は、サービスに、Servicecontrolと "W3SVC" を停止しようとしましたが、それは素晴らしい作品!しかし、私が本当に必要とするのは、特定のIISプールを停止することだけです。
  2. アプリケーションプールを停止する独自のカスタムアクションを作成する方法を検討しますが、わかっているように、InstallValidateより前にスケジュールを設定することはできません。私が間違っているなら、私を修正してください。

この問題を解決してください。

答えて

1

静かに実行するカスタムアクションを使用すると、appcmdにシェルしてアプリケーションプールを停止できます。あなたは正しいですが、InstallValidateの前に常に昇格しているとは限りません。

https://technet.microsoft.com/en-us/library/cc732742(v=ws.10).aspx

私はこれはおそらく、誤報であると、後にインストーラで自分自身を解決します疑います。私は、このダイアログを抑制するための様々な方法を検討しました。多分これは役立つだろう:

WiX: Avoid showing files-in-use dialog and just prompt for reboot at end of installすべての

0

まず、私の大きな感謝を受け入れてください!

は、私は理解しているように、この問題を克服するために、単に2つのオプションがあります。

  1. 追加<に、Servicecontrol ID = "iisServiceControl" 名前= "W3SVC" スタート= "両方" STOP = "両方"/>、あなたが穴のサービスを停止することに同意する場合
  2. プロパティを追加する<プロパティID = "MSIRESTARTMANAGERCONTROL"値= "無効"セキュア= "はい" />とAppPoolを停止/開始するカスタムアクションをスケジュールします。

要件のためにオプション2を使用すると思います。しかし、私が考えるように、InstallValidateバリデータの後には、名前でフィルタリングする何らかのプロセスを無視しなければならないというのが最善の解決策です。

関連する問題