在 Inno Setup 中调试非工作 Pascal 检查条件 (DirExists)
Debugging non working Pascal Check condition (DirExists) in Inno Setup
我正在尝试为将来的用户编译一个小安装程序,我已经了解如何更改一些东西。
但现在我只想在目录存在的情况下创建快捷方式。我试图做类似的事情,但什么也没发生……:
[Icons]
; Start menu icon
Name: "{group}\Myprogram"; Filename: "{app}\Myprogram.exe"
; Desktop icon
Name: "{userdesktop}\Myprogram.exe"; Filename: "{app}\Myprogram.exe"; \
Check: DirExists(ExpandConstant('C:\[path]\test'))
你的代码没问题。它应该做你想做的。为了帮助调试,实现一个记录测试的用户函数,如:
[Icons]
Name: "{userdesktop}\P680.exe"; Filename: "{app}\P680.exe"; \
Check: DirExistsLogged('C:\Users\administrator\Documents\Test')
[Code]
function DirExistsLogged(Path: string): Boolean;
begin
Result := DirExists(Path);
Log(Format('DirExists [%s] => %d', [Path, Result]));
end;
日志示例,当文件夹存在时:
2019-12-31 15:04:59.565 DirExists [C:\Users\administrator\Documents\Test] => 1
2019-12-31 15:04:59.565 -- Icon entry --
2019-12-31 15:04:59.565 Dest filename: C:\Users\martin\Desktop\My Program.exe.lnk
2019-12-31 15:04:59.566 Creating the icon.
2019-12-31 15:04:59.583 Successfully created the icon.
2019-12-31 15:04:59.594 Saving uninstall information.
日志示例,文件夹不存在时:
2019-12-31 15:06:23.960 DirExists [C:\Users\administrator\Documents\Test] => 0
2019-12-31 15:06:23.960 Saving uninstall information.
我正在尝试为将来的用户编译一个小安装程序,我已经了解如何更改一些东西。
但现在我只想在目录存在的情况下创建快捷方式。我试图做类似的事情,但什么也没发生……:
[Icons]
; Start menu icon
Name: "{group}\Myprogram"; Filename: "{app}\Myprogram.exe"
; Desktop icon
Name: "{userdesktop}\Myprogram.exe"; Filename: "{app}\Myprogram.exe"; \
Check: DirExists(ExpandConstant('C:\[path]\test'))
你的代码没问题。它应该做你想做的。为了帮助调试,实现一个记录测试的用户函数,如:
[Icons]
Name: "{userdesktop}\P680.exe"; Filename: "{app}\P680.exe"; \
Check: DirExistsLogged('C:\Users\administrator\Documents\Test')
[Code]
function DirExistsLogged(Path: string): Boolean;
begin
Result := DirExists(Path);
Log(Format('DirExists [%s] => %d', [Path, Result]));
end;
日志示例,当文件夹存在时:
2019-12-31 15:04:59.565 DirExists [C:\Users\administrator\Documents\Test] => 1
2019-12-31 15:04:59.565 -- Icon entry --
2019-12-31 15:04:59.565 Dest filename: C:\Users\martin\Desktop\My Program.exe.lnk
2019-12-31 15:04:59.566 Creating the icon.
2019-12-31 15:04:59.583 Successfully created the icon.
2019-12-31 15:04:59.594 Saving uninstall information.
日志示例,文件夹不存在时:
2019-12-31 15:06:23.960 DirExists [C:\Users\administrator\Documents\Test] => 0
2019-12-31 15:06:23.960 Saving uninstall information.