2013-08-29 47 views
0

我對WIX很陌生,正在使用最小的GUI來安裝和卸載dll。這個DLL被註冊爲一個自定義安裝腳本中的服務,我正在調用安裝。如何在卸載過程中擺脫「正在使用的文件」對話框?

卸載後,我停止並取消註冊自定義腳本中的服務。

我的問題是,在自定義卸載腳本被調用之前,我得到正在使用的文件對話框,因爲該服務正在使用該DLL。我想避免這種情況,因爲我知道我將停止自定義卸載操作中的服務。

這個問題的任何簡單的解決方案?

謝謝! Nikhil。

回答

0

您是否使用自定義操作停止服務?如果是的話我會確保您的自定義操作刪除您的文件運行前

<CustomAction Id="StopService" Directory="DirMyService" ExeCommand="NET STOP ServiceName" /> 
<CustomAction Id="StartService" Directory="DirMyService" ExeCommand="NET START ServiceName" /> 

<InstallExecuteSequence> 
    <Custom Action="StopService" After="InstallInitialize">Installed</Custom> 
    <Custom Action="StartService" Before="InstallFinalize">Installed</Custom> 
</InstallExecuteSequence> 

沒有測試過這一點,所以你可能需要在WINDIR粘淨停止前這些可能是錯誤的地方來停止/啓動腳本。但是可能會讓你知道如何解決你的問題。