我需要在下一个安装向导过程中为我的应用程序启动静默安装.请任何人帮助我.
在静默模式下运行设置的正确方法是,始终使用
/SILENT
命令行参数执行它.例如这样:
setup.exe /SILENT
在我们在评论中澄清了您的要求后,我看到,您确实想要构建一个设置,它将在没有提到的命令行参数的情况下以静默模式运行.目前,没有内置的方法告诉编译器,您要构建静默设置,因此我们需要通过在初始化设置时使用/SILENT
命令行参数重新运行设置来解决此问题.
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program [Code] #ifdef UNICODE #define AW "W" #else #define AW "A" #endif type HINSTANCE = THandle; function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string; lpParameters: string; lpDirectory: string; nShowCmd: Integer): HINSTANCE; external 'ShellExecute{#AW}@shell32.dll stdcall'; function InitializeSetup: Boolean; begin // if this instance of the setup is not silent which is by running // setup binary without /SILENT parameter,stop the initialization Result := WizardSilent; // if this instance is not silent,then... if not Result then begin // re-run the setup with /SILENT parameter; because executing of // the setup loader is not possible with ShellExec function,we // need to use a WinAPI workaround if ShellExecute(0,'',ExpandConstant('{srcexe}'),'/SILENT',SW_SHOW) <= 32 then // if re-running this setup to silent mode Failed,let's allow // this non-silent setup to be run Result := True; end; end;