2014-07-23 31 views
0

我有一個卸載程序,用RMDir和RMDir/r刪除目錄。在調試時,我意識到如果在像Windows資源管理器這樣的文件管理器中打開目錄,那麼這兩個函數都不起作用。該目錄未被刪除。當文件管理器中打開目錄時,NSIS RMDir

爲什麼會發生這種情況。我可以對此做什麼?

回答

0

documentation

如果指定/ REBOOTOK是,這已經不能過程中移除任何文件或目錄將會在重啓

+0

確定刪除,但我想使用卸載程序在安裝程序中。如果程序已安裝,我想先卸載它,只有在卸載成功時才繼續安裝。 我不想在這種情況下重新啓動。 – infingy

+0

我不確定是否有檢測打開文件的適用方式,但您可以始終在[IfFileExists](https://github.com/NSIS-Dev/Documentation/blob/master/Reference/IfFileExists.md)中使用一個循環並顯示一個[MessageBox](https://github.com/NSIS-Dev/Documentation/blob/master/Reference/MessageBox.md),要求用戶關閉文件夾/文件 – idleberg

+0

hm - 不是很實用,但可以這可能是一種解決方法。如果不會有太多的文件和文件夾... 而我仍然不明白爲什麼這是一個問題nsis – infingy

相關問題