我目前在Inno安装脚本的[Run]部分中有以下内容
Filename: {app}\App.exe; Description: {cm:LaunchProgram,App}; Flags: nowait postinstall
对于99.9%的情况,这是完美的,默认选中复选框,应用程序在静默安装(我们用于自动更新)之后启动,但总有一种情况不是。
基本上,我需要一种方法来在静默安装中从命令行禁用/取消选中该选项。我尝试过使用“任务和组件”,但是这些添加了额外的页面和复选框,我并不想出现这些页面和复选框。
如果有一种方法可以阻止正常安装期间出现的复选框,那么任务似乎是目前最简单的方法,否则对任何想法开放!
干杯。
答案 0 :(得分: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方法,你可以在check函数中使用'WizardSilent'来知道安装程序是否以静默模式执行。