我有一个过程DeleteTransferFolder
,在安装过程中使用Inno Setup中的BeforeInstall调用了该过程。
我知道该过程被称为,因为我有几个显示的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;
最佳答案
您在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;
关于inno-setup - 无法让DelTree在Inno Setup中删除文件夹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14344889/