でのスケジュRemoveExistingProductsカスタムアクションの前にInstallValidate?
-
20-09-2019 - |
質問
問題
私はMSI作を開始Windowsサービスにインストール時に、停止および削除しサービス時のアンインストール.この作品はオンラインインストールアンインストールにより、ラップする場合には、 ファイルを使用 ダイアログが表示されます(Vista以降の新しい 再長が示唆されていることから、このサービスが主流になっています。
背景
の ファイルを使用 ダイアログが表示されますの InstallExecute 配列の InstallValidate カスタムアクション、直前の RemoveExistingProducts カスタムアクション;これ以前のバージョンはアンインストールされていないの ファイルを使用 ダイアログ すべ 表示されます。
にMSDN文書のことを示し RemoveExistingProducts アクションの実施が必要以降に開催予定の InstallValidate 対して、 RemoveExistingProducts アクションの実行予定直後に InstallValidate ます。
の可能性
今すぐダウンロードの RemoveExistingProducts カスタムアクションへの直前の InstallValidate カスタムアクションで以前のインストレーションが停止および削除の前に ファイルを使用 ダイアログが表示されます。また変更の行動を示すことにより正常に動作しない負の副作用がログに残ることを示し InstallValidate 行動を実行する前に RemoveExistingProducts アクション)が、私は躊躇の使用このソリューションからの侵害でMSDN書類が影響しているところではなくただ見ていない。
でした。のその他の代替できると思いは、新規インストールでサービスを停止することに設置、これは望ましくないので設置が必要としてい情報はすべてのインスタレーションでグレードアップ(止まりこの特定のサービスのような場合、ただのマネージャーのサービスを停止します。
解決
私の実施の可能性には問題、スケジューリング RemoveExistingProducts 直前 InstallValidate.したいと思ってい問題だが、今後の再インストール後に取得します。
更新
当社の設置に使っていることであっせんが、悪影響を与え
他のヒント
それにMSI/Windowsインストーラー...問題はただきます。純インストーラの授業で使用していませんMSI"サービスのインストール"が特徴です。現場で起こっているのは、MSIうファイルをインストールションを行うとともに、カスタムコマンド用のファイルだけをコピーする全てVisual Studioので、MSI).
これを解決するために編集でき、MSIとORCAは、以下のエントリを追加する行の ServiceControl テーブル:
1 ServiceName 170 1 C__489628C5CC1144CB47F43E8BE7F3F31D
の部IDでルックアップからファイルはテーブル---私が選んだのEXEファイルのコンポーネントIDです。の170はビットマップこのWindowsインストーラーを削除する場合、本サービスのインストールアンインストール.
この道路。純インストーラーの追加サービスで利用できますServiceControllerの開始後にサービスも設置されてい経由でカスタムコマンドです。
一つ可能性のある問題を修正いた場合には、ユーザーを解除時のInstallValidate例ていないために十分なディスクスペースまたはファイルを使用)またはインストールの際には、どういうrollbackます。最良の状態であるということは、アプリケーションの状態と同様であった前例前のアプリがインストールされてい).きを与えてしまっている可能性がリニックとの提携により、シーケンシングがロールバックが特徴できます。
いつのまに違反することなくMSDN書を避ける今後の課題です。入条件"を設置PREVIOUSVERSIONSINSTALLEDますので良いレクトすぎて、財PREVIOUSVERSIONSINSTALLEDは前InstallValidate動中FindRelatedProducts.なぜだかよくわかりませんが、物件PREVIOUSVERSIONSINSTALLEDが記載されていないにMSDNものが存在するともに、私にとってますが。