加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb6 – 如何使用InnoSetup进行静默安装?

发布时间:2020-12-17 00:17:36 所属栏目:大数据 来源:网络整理
导读:我需要在下一个安装向导过程中为我的应用程序启动静默安装.请任何人帮助我. 在静默模式下运行设置的正确方法是,始终使用 /SILENT 命令行参数执行它.例如这样: setup.exe /SILENT 在我们在评论中澄清了您的要求后,我看到,您确实想要构建一个设置,它将在没有
我需要在下一个安装向导过程中为我的应用程序启动静默安装.请任何人帮助我.
在静默模式下运行设置的正确方法是,始终使用 /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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读