Inno Setup:如果程序文件夹中存在文件,则关闭安装程序向导
Inno Setup: Close installer wizard if file exists in the program's folder
我正在尝试创建一个演示安装程序,如果它在程序文件夹中检测到文件 close.txt
,则会关闭向导或中止安装。
我正在 运行 执行计划任务,该任务会在两天后自动卸载该应用程序。在初始安装时,close.txt
文件安装在程序文件夹中,然后在自动卸载后,close.txt
文件留在程序文件夹中。我希望当您重新 运行 安装程序时,它会检查此文件,如果发现它,则关闭向导或中止安装。我是新手,我认为可以在代码部分完成,但我不确定。
如有任何帮助或代码片段,我们将不胜感激!
测试 InitializeSetup
event function 和 return False
中的文件是否存在。
[Setup]
DefaultDirName={autopf}\My Program
[Code]
function WasMyProgramEverInstalled: Boolean;
begin
Result := FileExists('{#SetupSetting("DefaultDirName")}\close.txt');
end;
function InitializeSetup: Boolean;
begin
Result := True;
if WasMyProgramEverInstalled then
begin
MsgBox('Some message', mbError, MB_OK); { Optionally }
Result := False;
end;
end;
注意,如果安装程序允许自定义安装路径,卸载后重新运行安装时,您是不会知道的。所以这行不通。
我正在尝试创建一个演示安装程序,如果它在程序文件夹中检测到文件 close.txt
,则会关闭向导或中止安装。
我正在 运行 执行计划任务,该任务会在两天后自动卸载该应用程序。在初始安装时,close.txt
文件安装在程序文件夹中,然后在自动卸载后,close.txt
文件留在程序文件夹中。我希望当您重新 运行 安装程序时,它会检查此文件,如果发现它,则关闭向导或中止安装。我是新手,我认为可以在代码部分完成,但我不确定。
如有任何帮助或代码片段,我们将不胜感激!
测试 InitializeSetup
event function 和 return False
中的文件是否存在。
[Setup]
DefaultDirName={autopf}\My Program
[Code]
function WasMyProgramEverInstalled: Boolean;
begin
Result := FileExists('{#SetupSetting("DefaultDirName")}\close.txt');
end;
function InitializeSetup: Boolean;
begin
Result := True;
if WasMyProgramEverInstalled then
begin
MsgBox('Some message', mbError, MB_OK); { Optionally }
Result := False;
end;
end;
注意,如果安装程序允许自定义安装路径,卸载后重新运行安装时,您是不会知道的。所以这行不通。