2013-01-15 41 views
3

我有一個程序DeleteTransferFolder,它在安裝過程中使用Inno Setup中的BeforeInstall進行調用。無法讓DelTree刪除Inno Setup中的文件夾

我知道該過程被調用,因爲我有幾個MsgBox消息顯示。但DelTree不會刪除指定的文件夾和子文件夾。

有什麼想法?

procedure DeleteTransferFolder(); 
begin 
    MsgBox('DeleteTransferFolder 1', mbInformation, MB_OK); 

    if (FileExists ('{userdesktop}\RemedyNotes 1.0\RemedyNotes Old.remno')) then 
    DelTree(ExpandConstant('{userdesktop}\RemedyNotes 1.0'), True, True, True); 

    MsgBox('DeleteTransferFolder 2', mbInformation, MB_OK);  
end; 

回答

3

您錯過了FileExists行中的ExpandConstant調用,所以它返回false,因此不會調用DelTree。

顯示第二個MsgBox是因爲它超出了條件if(可能是由於缺少開始/結束對)。

所以,你的代碼更改爲:

procedure DeleteTransferFolder(); 
begin 
    MsgBox('DeleteTransferFolder 1', mbInformation, MB_OK); 

    if (FileExists (ExpandConstant('{userdesktop}\RemedyNotes 1.0\RemedyNotes Old.remno'))) then 
    begin 
    DelTree(ExpandConstant('{userdesktop}\RemedyNotes 1.0'), True, True, True); 
    MsgBox('DeleteTransferFolder 2', mbInformation, MB_OK); 
    end; 
end; 
+0

感謝jachguate - 完美的工作! –

+0

不客氣! – jachguate

相關問題