[英]CloseApplication while uninstalling - wix
我正在使用Wix 3.6。 我有一個問題,在卸載時是否打開了任何窗口並顯示在任務欄中(此窗口是我試圖卸載的msi的一部分),它顯示了一個對話框,要求用戶關閉應用程序(“在繼續安裝之前,應關閉以下應用程序”)。
我嘗試了以下方法,但是沒有運氣。
<InstallExecuteSequence>
<Custom Action="WixCloseApplications"
Before="InstallInitialize">Installed</Custom>
<Custom Action="StartMonitor"
After="StartServices">NOT Installed</Custom>
</InstallExecuteSequence>
<util:CloseApplication Id="CloseMonitor" Target="Monitor.exe"
CloseMessage="yes" RebootPrompt="no">
Installed
</util:CloseApplication>
我希望wix檢測到應用程序並在卸載過程中將其關閉。 無需顯示對話框提示。 誰能幫我實現它。
它可以通過帶有/ qn開關的命令提示符進行安裝,但沒有/ qn開關,則可以正常工作,我會看到對話框(“在繼續安裝之前,應關閉以下應用程序”)。 有人可以幫我解決此問題。
添加一個C#
自定義事件,並在InstallUISequence
上添加使其成為第一個事件,並使用以下代碼殺死該進程:
try
{
Process proc = Process.GetProcessesByName("MyApplication");
proc.Kill();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
如果您的應用程序支持多個實例,則計算為否。 實例數:
int count = 0;
Process[] process = Process.GetProcessesByName("MyApplication");
foreach (Process pr in process)
{
if (pr.MainModule.FileName.Equals(Assembly.GetExecutingAssembly().Location, StringComparison.OrdinalIgnoreCase))
{
count++;
}
}
如果您根本不使用DllEntry
點擊此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.