したがって、基本的に私がやろうとしているのは、インストーラーでハードコーディングするのではなく、アプリケーション (サービスを実行する) のインストーラーにいくつかの追加パラメーター (つまり、SERVICENAME と SERVICEDISPLAYNAME) を含めることです。この変更により、インストールは正常に実行されます。ただし、問題はサイレント アンインストールを実行するときです。Service Control はマシンからサービスを削除する前にサービスを停止しないようです。サービスがまだ実行中であることを示すダイアログ ボックスが表示され、アンインストールする前にサービスを停止するかどうかを尋ねられます。機能させるにはどうすればよいですか (つまり、サービスを削除する前に、サービスを自動的に停止するように制御します)。
1 に答える
1
ServiceControl 要素は、基礎となるServiceControl テーブルの単なる抽象化です。何も「しません」。代わりに、何をする必要があるかを表現するだけです。サービスの停止は、前述のテーブルから注文を取得するStopServices アクションによって実行されます。
Windows インストーラーでは、インストールの完了後にプロパティが自動的に保持されません。インストーラーをログに記録すると、SERVICENAME プロパティが null であり、StopServices アクションがそれをどう処理するかがわからないことがわかります。
以下を見てください。
WiX ツールセットの「Remember Property」パターン
このパターンを実装すると、アンインストール中に SERVICENAME のデータが復元され、
于 2013-03-29T11:28:15.973 に答える