2016-07-05 309 views
-1

我的Inno安装脚本的[Run] Section存在问题。Inno Setup:安装程序在安装完成后从不启动

无论我选中或取消选中出现在CurPageID = wpFinished中的复选框,我的程序都不会启动。我设置它的默认值为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.

由于提前。

回答

0

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

你有两个选择:

  • 实现使用Exec功能的推出自己的NextButtonClick(wpFinished)

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

+0

我可以在此代码中更改哪些内容来解决此问题? – flavalee

+0

你没有告诉我们代码应该做什么。程序是否运行,当复选框被选中时?你为什么选中它?为什么您完全使用自定义复选框,而不是“完成”页面上的标准“运行”复选框? –

+0

由于我的安装脚本不是标准版本,它包含大量的代码和皮肤,幻灯片和其他任务...............“标准运行复选框”在我的安装程序中不可见因为这个页面覆盖了一个大的图像。请告诉我这个代码有什么问题。我希望这个代码运行我的程序时,该复选框选中,不运行,如果不检查。而且我想将它的默认值设置为“Checked”。这就是这个代码应该做的。 – flavalee

相关问题