2011-05-05 126 views
1

我有一個C#應用程序。除此之外的所有工作正常:運行windows卸載程序時關閉應用程序

當我從添加/刪除程序中卸載應用程序時,如果應用程序未關閉,它將在卸載後保持打開狀態。

對於無法讀取隱含問題的人......「如何在卸載時使應用程序關閉?」。

如果您需要任何詳細信息,請詢問。

+0

也許,我們要問的東西之前,你** **應該這樣做。你錯過了一個問題! – 2011-05-05 13:27:09

+0

如果應用程序仍在運行,您可以正確卸載它嗎?我不認爲.exe被刪除。 – Gabriel 2011-05-05 13:33:05

+0

它被刪除。唯一的問題是它在某處仍然存在。我不能成爲某種傾聽者嗎?當X打開時添加/ rem prg關閉它? – zozo 2011-05-05 13:46:16

回答

0

也許它是開放的,因爲它是在RAM內存中。關閉它。

3

在您的安裝項目(我假設你已經生成使用Visual Studio中的安裝項目的MSI安裝程序),你應該包括從安裝程序的基類繼承的類:

[RunInstaller(true)] 
public class MyInstaller: Installer 
{ 
    public override void Install(IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
    } 


    public override void Uninstall(IDictionary savedState) 
    { 
     base.Uninstall(savedState); 

     //TODO: Code to kill the live instance(s) 
    } 

    // Other override methods here if necessary 
} 

該類'卸載方法將在用戶卸載您的應用程序時執行。

在此方法中,您可以選擇正在運行的進程列表並殺死應用程序的所有活動實例。

+0

使用點擊一次安裝...沒有爲它創建一個特殊的安裝程序。但我會試一試:) Ty。 – zozo 2011-05-05 13:35:24

0

這就是它的工作原理。

卸載將其從磁盤而不是從內存中刪除。

你將不得不一些自定義代碼添加到卸載操作,以獲取應用程序卸載之前關閉

相關問題