Inno Setup:安装程序在安装完成后永远不会启动

Inno Setup : The Installed Program Never Launches after Setup Completion

我的 Inno 设置脚本 [Run] Section 有问题。

无论我选中还是取消选中出现在 CurPageID = wpFinished 中的 CheckBox,我的程序都不会启动。

我把它的默认值设为Checked

我的脚本部分属于此:

#define AppExec "hddbsfinder.exe"
#define AppName "HDD Bad Sectors Finder"

[Run]
Filename: "{app}\{#AppExec}"; Check: CheckLaunching; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: NoWait PostInstall

function CheckLaunching: Boolean;
begin
  Result := not LauncherCB.Checked;
end;

var    
LauncherCB: TNewCheckbox;

LauncherCB := TNewCheckBox.Create(WizardForm);
  with LauncherCB do
  begin
    Parent := WizardForm;
    Left := (225);
    Top := (245);
    Width := ScaleX(14);
    Height := ScaleY(15);
  end;

if CurPageID=wpSelectTasks then begin
LauncherCB.Hide;
LauncherCB.Checked := True;
end;

if CurPageID = wpFinished then begin
with WizardForm do begin
LauncherCB.Show;
end;
end;

即使我选中或取消选中 LauncherCB,我的程序也从未启动。

(默认值为Checked.

提前致谢。

postinstall 运行 条目的 Check 参数用于评估是否显示复选框,而不是 运行 条目。

你有两个选择:

  • 使用 Exec 函数在 NextButtonClick(wpFinished) 中实现自己启动。

  • 使用标准的 运行 清单框,只需将其移动到您需要的位置即可。您可能需要将列表的 .Parent 更改为 WizardForm 以将其从 "Finished" 页面中删除。