2014-04-01 104 views
1

我有一個WIX安裝程序。安裝程序無法關閉運行目標...解決方法?

當我在運行舊版本軟件的計算機上測試安裝程序時,出現以下提示。

問題是安裝程序無法管理關閉應用程序。當新程序運行時,它會抱怨舊程序正在運行。

有沒有辦法強制殺死應用程序? 如果沒有,WIX中是否有一些條目要求用戶在繼續安裝之前關閉應用程序?

enter image description here

回答

2

我找到了答案在這裏:

WiX <util:CloseApplication> element not working

我做了一個好辦法,以在上述職位的解決方案。我在安裝序列的早期殺死了應用程序,所以上面的窗口沒有出現。

<!-- Code to force termination of running program...MSIExec couldn't do it --> 
<Property Id="QtExecCmdLine" Value='"[WindowsFolder]\System32\taskkill.exe" /F /IM "$(var.ProductName).exe"'/> 
<CustomAction Id="APP.TaskClose" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="ignore"/> 
<InstallExecuteSequence> 
    <Custom Action="APP.TaskClose" After="LaunchConditions"/> 
</InstallExecuteSequence> 

如果你想知道什麼是「$(var.ProductName).EXE」是,我通過EXE名稱在命令行,因爲我創造了同一個程序的幾個品牌版本。只需替換你的exe名稱即可。

是的,在這個特殊的實例中這樣做是安全的。內存中沒有可能丟失的數據。

相關問題