2012-02-02 27 views
2

目前,我有我的[运行]的Inno Setup的脚本Inno Setup的:与CLI标志禁止安装后复选框

Filename: {app}\App.exe; Description: {cm:LaunchProgram,App}; Flags: nowait postinstall

的部分病例的99.9%以下,这是完美的,该复选框默认打勾,并且应用程序在静默安装(我们用于自动更新)后启动,但总是有一种情况不是。

本质上,我需要一种方法来在静默安装中禁用/取消选中该命令行中的该选项。我试过使用任务和组件,但是这些添加额外的页面和复选框,我真的不想出现。

任务似乎是迄今为止最简单的方法,如果有办法阻止正常安装过程中出现的复选框,则可以打开任何想法!

干杯。

回答

2

我不确定关闭或取消选中它,但是您可以通过使用“Check”参数来调用脚本函数,从最后一页中完全删除它(或不)。

[Run] 
Filename: {app}\App.exe; Description: {cm:LaunchProgram,App}; Flags: nowait postinstall; Check: NoRunSwitch 


[Code] 
function NoRunSwitch: boolean; 
var 
    i: integer; 
begin 
    // Return TRUE to show the checkbox on the final page, return FALSE to hide it. 
    Result := True; // In case there are no parameters 
    for i := 1 to ParamCount do 
    begin 
    // Tweak the switch parsing to suit your needs here 
    Result := not (UpperCase(ParamStr(i)) = '/NORUN'); 
    if not Result then break; 
    end; 
end; 

编辑:在重新阅读你的消息后,我不知道,但你可能会问如何为所有无提示安装这样做呢?如果您在任何无提示安装期间都不希望发生这种情况,则可以使用“skipifsilent”标志。如果您的意思是您的静默安装只是条件的一部分,您可以使用上述的Check方法,并且可以在检查功能中使用'WizardSilent'来确定安装程序是否以静默方式执行。

+0

布拉德,非常感谢!到底是什么我!为了澄清其他任何人,我们希望它在运行安装程序的任何实例中自动启动,但在选择的情况下(如无人参与安装),我们不希望它自动启动,因此希望标志。再次感谢! – Tram 2012-02-06 06:53:33