3

DeleteTransferFolderInno 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は呼び出されません。

2番目の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 に答える