3

我有一个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;
4

1 回答 1

4

您缺少 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;
于 2013-01-15T21:20:25.943 回答