2013-01-17 63 views
0

我需要取消由安裝項目做出/ rollbak MSI卸載Visual Studio 2008中安裝項目自定義操作取消

這是我作爲執行卸載自定義操作腳本

set service = GetObject ("winmgmts:") 
for each Process in Service.InstancesOf ("Win32_Process") 
    If Process.Name = "App.exe" then 
     Set WshShell = CreateObject("WScript.Shell") 
     intButton = WshShell.Popup("App is running, you cannot uninstall it", 0, "Uninstall error", 0) 
    End If 
next 

它顯示的信息當進程正在運行,但在我點擊「確定」後,當我想要回滾/取消它時繼續卸載。

謝謝

回答

0

如果拋出異常會怎麼樣?

我在努力記住,但我想我曾經寫過一些卸載程序代碼,這樣做(不小心,但幸運的是在開發環境中!),並嘗試卸載應用程序的工作量很大(因爲它保留當它遇到異常時回滾卸載)。

+0

哈哈!我非常喜歡你。可能下一步是將安裝程序移動到WiX – eugeneK

+0

是的,wix肯定會讓你更接近核心設置API。它的目標是讓建築安裝程序變得「簡單」,這些設置項目會阻止你做這麼多事情,這是一個持續的挫折感。可能這就是他們放棄VS2012的原因?具有諷刺意味的是,設置API本身非常實用,非常困難。 – PeteH

相關問題