如何确定某个文件是否存在于运行Setup.exe的同一位置?
即。像这样的东西:
if (FileExists(App.Path + '\config_file*.txt') = True) then
注意:我不想知道安装应用程序的文件夹,我想知道Setup.exe
正在运行的文件夹(例如" C:\ Documents和设置\ Jennifer Cox") - 在Visual Basic中例如相当于App.Path。
答案 0 :(得分:2)
您可以使用{src}
获取安装程序本身的路径(文件名除外)。这在使用[Files]
标记的external
条目时最常用,但也可以在[Code]
中使用,如下所示:
// procedure/function Whatever();
var
S: String;
begin
S := ExpandConstant('{src}\File.txt');
// ...
end;
答案 1 :(得分:1)
要获取执行设置的路径,您需要从{srcexe}
常量中提取它。要从文件中提取路径,您可以使用ExtractFilePath
函数,因此将它们组合在一起就可以得到如下内容:
var
S: string;
begin
S := AddBackslash(ExtractFilePath(ExpandConstant('{srcexe}'))) + 'File.txt');
if FileExists(S) then
...
end;