首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将参数(/verysilent)传递给从Inno设置中的Pascal代码执行的应用程序(子安装程序

将参数(/verysilent)传递给从Inno设置中的Pascal代码执行的应用程序(子安装程序),可以通过以下步骤实现:

  1. 在Inno Setup脚本中定义一个全局变量,用于存储传递的参数。例如,可以在[Code]部分添加以下代码:
代码语言:pascal
复制
var
  SilentMode: Boolean;
  1. InitializeSetup函数中,解析命令行参数,判断是否存在/verysilent参数,并将结果存储到全局变量中。例如,可以添加以下代码:
代码语言:pascal
复制
function InitializeSetup(): Boolean;
var
  CommandLine: string;
begin
  CommandLine := GetCmdTail();
  SilentMode := Pos('/verysilent', CommandLine) > 0;
  Result := True;
end;
  1. 在需要执行子安装程序的地方,根据全局变量的值来决定是否传递/verysilent参数。例如,可以使用Exec函数来执行应用程序,并根据SilentMode变量来决定是否传递参数。以下是一个示例:
代码语言:pascal
复制
function NextButtonClick(CurPageID: Integer): Boolean;
var
  SubInstallerPath: string;
  Params: string;
begin
  if CurPageID = wpReady then
  begin
    SubInstallerPath := 'path_to_sub_installer.exe';
    Params := '';
    
    if SilentMode then
      Params := '/verysilent';
    
    if Exec(SubInstallerPath, Params, '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then
    begin
      // 子安装程序执行成功
      Result := True;
    end
    else
    begin
      // 子安装程序执行失败
      MsgBox('Failed to execute sub installer.', mbError, MB_OK);
      Result := False;
    end;
  end
  else
  begin
    Result := True;
  end;
end;

在上述示例中,SubInstallerPath变量表示子安装程序的路径,Params变量用于存储传递的参数。根据SilentMode变量的值,决定是否将/verysilent参数添加到Params中。然后使用Exec函数执行子安装程序,并根据执行结果进行相应的处理。

这样,当使用Inno Setup进行安装时,可以通过命令行参数/verysilent来控制子安装程序的执行方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Inno Setup 安装包脚本 Run 的 Flags 标记

在制作安装包的时候,可以在 Inno Setup 安装包脚本的 Run 里面添加在解压缩安装包文件完成之后,整个安装结束之前执行指定的命令,是作为定制化最高的内容 有小伙伴觉得安装包脚本比较难写,也不熟悉...推荐的方法是自己写安装辅助 exe 程序,在安装包解压缩完成之后调用辅助安装程序,这样安装逻辑可以放在安装程序,而安装程序本身可以使用自己熟悉的语言开发 在 Inno Setup 安装包脚本,可以在 Run...上面代码就是在解压缩完成之后调用 After.bat 执行批处理,上面的 {app} 就是程序解压缩文件夹,也就是路径是绝对的 而想要执行命令,就会遇到如何执行命令的问题,有一些命令是让用户勾选才执行...这个标记设置之后不能加上 shellexec 内容 64bit 当使用 Filename 和 WorkingDir 参数将会设置里面用到的 {sys} 常量为 64 系统的工作路径,默认在 64 系统上安装将会应用...Inno Setup 安装包,可以通过 /silent 命令或 /verysilent 命令进行静默安装 使用 /silent 时,静默安装,但如果又报错,还是会提示,并且有进度条也就是用户能看见进度条界面

2.7K20

常用软件打包类型及静默安装参数(nsis|msi|InstallShield|Inno)

可以使用命令行选项运行wise installation.exe,以自动执行常用任务 更多参数: /c file.wse 从WISE脚本创建可执行文件 /r 在 SetupCapture 窗口中打开WISE...: /T 测试模式 /X 路径名 将文件提取到路径名中 /Z 路径名 将文件提取到路径名并重新启动 /S 静默安装 /M 提示输入windows、system、temp目录(/M=文件名-指定一个类似于...六、Inno Setup 使用 Inno 技术制成的程序安装包可以使用 /SILENT 和 /VERYSILENT 参数进行静默安装。...我们可以通过使用一个参数跳过这个对话框: setup.exe /silent /suppressmsgboxes 有些利用 Inno 技术做作的安装包会在程序安装完毕后自动运行所安装的程序,例如:ISOBuster...这类的软件都会在安装结束后显示一个确认屏幕(CDex)或者一个设置文件关联方式的结束安装屏幕(Winamp) 怎么判断哪个程序是使用 NSIS 技术打包的?

16K23
  • Pyinstaller打包exe完整教程

    原创文|Space9 Python文件打包成可安装、无需Python依赖的高效可执行exe程序 工具及环境 PyInstaller Inno Setup Windows和Python PyInstaller...打包Python应用程序为独立的可执行文件 安装PyInstaller pypi 镜像使用帮助https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ pip install...参数解释: -D 创建一个包含可执行文件的单文件夹捆绑包(不推荐-F单文件形式,原因:单文件每次启动前需要解压操作,会拖慢启动速度) -w 不显示控制台窗口,GUI可视化程序需要此项 -i 指定可执行文件的图标...Inno Setup安装目录里的Languages目录中 使用向导生成打包脚本 使用向导生成打包安装程序的脚本,并保存 参考脚本 setup.iss ; Script generated by the...\resources\logo.ico 设置卸载程序的图标 Flags: checkablealone 设置创建桌面快捷方式默认勾选状态 卸载删除文件或文件夹 [UninstallDelete]

    1.3K40

    利用Inno Setup在VS编译时自动构建安装包

    选择应用需要打包的文件 Application main executable file: 应用程序主程序 Other application files: 主程序所依赖的项目或第三方依赖等,这里建议直接选择输出目录...应用文件类型关联 若你程序用不上这个功能一般不用勾选。 2.8. 应用程序快捷方式创建 2.9. 应用协议许可文件 2.10. 安装模式选择 2.11....但....这并不是本篇的主题。显而易见,如果每次程序有改动,就需要去Inno Setup的编辑器手动执行编译一下生成安装包,有些繁琐。 3. 自动化构建安装包 3.1....修改刚才创建安装包时生成的脚本文件 主要是将绝对路径改为相对路径以及自动获取主程序文件版本等,避免其它同事/电脑编译时报错,可以参考下我的脚本 ; Script generated by the Inno...结语 Visual Studio中的生成事件其实是一个很实用的东西,可以在编译前、编译后自动化执行一些经常需要人为手工操作的事,比如还可以利用生成后事件进行代码混淆,本篇文章就暂时不展开细说了。

    65220

    Java打包成.exe完美教程

    如若想做成可安装的程序的话,请看下一步骤 使用inno setup制作可安装程序 第一步:到官网下载innosetup-6.2.2.exe并安装 注意:innosetup默认的是英文安装,简体中文安装需要自己去官网下载中文语言包...我们将这些脚本代码复制下来,创建一个ChineseSimplified.isl文件,把脚本代码放进去 2,找到Inno Setup安装文件,进入Languages子文件夹,将刚刚的ChineseSimplified.isl...文件复制进去(注意要把编码格式设为UTF-8或者UTF-8-BOM),然后到以下打包步骤的第八步中设置安装的语言就可以选择简体中文了。...第二步:打开安装好的 Inno Setup Compiler 点击File->New,点击Next,如下图: 第三步:设置应用程序名称和版本号后点击Next(注意是必填) 第四步:设置文件夹名称,一般保留默认就行...Next 第七步:点Next 第八步:设置安装的语言,这里把简体中文勾上 第九步:设置安装包基本信息,设置好后点击Next,一直到Finish 第十步:到最后会弹出一个窗口告诉你是否立即执行脚本?

    3.2K10

    大一Java课设,五子棋小游戏

    生成可执行文件与安装包摆脱对开发环境的依赖:利用生成工具exe4j,将jar软件包与转为exe 可执行程序。...最后通过Windows 安装程序制作软件InnoSetup 将生成的exe文件与程序的源文件打包成安装包。...exe4j:是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。...Inno Setup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务。...详情请看:如何将Java程序转换为exe可执行文件并生成安装包 ---- 献上源码、图片与音乐资源:链接:GoBang 提取码:8hge 发布者:全栈程序员栈长,转载请注明出处:https

    2.2K20

    使用 Inno Setup 制作桌面软件安装包

    桌面应用程序的 CI/CD 桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的“部署”只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以很复杂,也可以很简单。...在简单的情况下,Azure Pipelines 中一个桌面应用(WPF)的 CI/CD 过程如下: 触发器启动 Pipeline 构建 WPF 应用程序 启动单元测试以确保构建质量 创建安装包 将安装包复制到目标位置...假设我们已经根据 使用 Azure Pipelines 实现 CI 的做法发布了一个 WPF 应用程序,发布到 Artifacts 的文件将会如上图所示,可以以 Zip 的方式将所有输出文件下载到本地,...CopyFiles 任务,将 Installer\output 目录中的安装包复制到 $(build.artifactstagingdirectory)。...最后 现在,一个桌面应用程序的 CI/CD 已经基本完成了。

    2.3K10

    C# Windows桌面应用打包指南

    本文将详细介绍 C# 应用打包的各种方法,包括 ClickOnce、MSI 安装包、Visual Studio Installer Projects、WiX Toolset 和一些第三方工具(如 Inno...使用 MSI 安装包MSI(Microsoft Installer)是 Windows 系统原生的安装包格式,适合更复杂的应用程序。...选择 “安装项目” 类型,配置项目名称和路径。在安装项目中添加需要打包的文件(例如应用程序文件、依赖库等)。配置安装包的属性(如版本号、安装路径等)。...使用 WiX 的命令行工具编译 XML,生成 .msi 安装包。WiX Toolset 的优势:高度可定制,适用于复杂的安装需求。支持丰富的安装功能,如服务安装、注册表管理、系统权限设置等。...编写 NSIS 安装脚本,配置安装过程中的各项细节。使用 NSIS 编译器生成安装程序。第三方工具的优势:灵活、轻量,可以通过脚本实现高度自定义。支持压缩安装包,生成体积较小的安装程序。

    35532

    Java程序员新手老手都离不开八大开发工具

    现在有很多库、实用工具和程序任Java开发人员选择。每个工具都有其优点,但其中有一些因它的知名度、多功能性和有效性从众多选项中脱颖而出。 以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。...Eclipse的工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE的出发点。工作空间将项目、文件和配置设置组合在一个单独的 目录下。视角定义工具、视图和有效设置。...Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。...当提供源代码时,FindBugs还可高亮显示检测出bug的代码行。 在它的3.0.1版本中,FindBugs继续保持着数以百计的bug描述。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中的VisualVM是监控和审查Java应用程序性能的工具。

    1K20

    Java程序员新手老手都离不开八大开发工具

    现在有很多库、实用工具和程序任Java开发人员选择。每个工具都有其优点,但其中有一些因它的知名度、多功能性和有效性从众多选项中脱颖而出。 以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。...Eclipse的工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE的出发点。工作空间将项目、文件和配置设置组合在一个单独的 目录下。视角定义工具、视图和有效设置。...Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。...当提供源代码时,FindBugs还可高亮显示检测出bug的代码行。 在它的3.0.1版本中,FindBugs继续保持着数以百计的bug描述。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中的VisualVM是监控和审查Java应用程序性能的工具。

    86400

    Java程序员新手老手都离不开八大开发工具

    现在有很多库、实用工具和程序任Java开发人员选择。每个工具都有其优点,但其中有一些因它的知名度、多功能性和有效性从众多选项中脱颖而出。 以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。...Eclipse的工作流程可分为三个方面:工作台,工作空间和视角。工作台作为到IDE的出发点。工作空间将项目、文件和配置设置组合在一个单独的 目录下。视角定义工具、视图和有效设置。...Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。...当提供源代码时,FindBugs还可高亮显示检测出bug的代码行。 在它的3.0.1版本中,FindBugs继续保持着数以百计的bug描述。...官方网站:http://findbugs.sourceforge.net/ 7.VisualVM 包含在JDK中的VisualVM是监控和审查Java应用程序性能的工具。

    91230

    学会这些,QtIFW制作安装包不再是难题

    1 前言 1.1 安装包制作工具的选择 安装程序生成工具就是将应用程序和依赖的文件打包到一个可执行的安装程序种,可以简化用户的安装流程和体验,但开发的软件依赖和配置过于繁杂的时候,制作一个安装包就特别必要...; TitleColor 设置标题和副标题的颜色(采用 HTML 颜色代码,例如“#88FF33”); RunProgram 如果用户接受操作,则在安装程序完成后执行命令。...提供应用程序的完整路径; RunProgramArguments 传递给指定的程序的参数。...将追加特定于平台的可执行文件扩展名; MaintenanceToolIniFile 生成的维护工具配置的文件名; MaintenanceToolAlias 将创建到应用程序目录的维护工具别名的文件名。...操作函数:addOperation是一个辅助函数,用于添加操作到安装脚本中。它接收一个或多个参数,这些参数定义了需要执行的操作及其参数。

    2K62

    函数式编程:Flutter&Dart中的组合

    本文翻译自: Composition in Flutter & Dart 在 Flutter & Dart 中使用组合创建模块化应用程序。 什么是组合?...因此,组合可以认为是数据流动的管道。 组合的数字符号是 f.g。 f(g(x))它从里向外执行。 首先 x 初始化。 将 x 作为参数传递给 g,g(x)被初始化。...两者区别在于组合执行顺序是从右到左,而管道执行顺序是从左至右。 这个区别尤为重要,不要忽视,它间接影响到代码可读性。中国人的阅读习惯是从左到右的,如果你是阿拉伯人可以忽略我说的,哈哈!...在第 14 行,使用了 compose,它的执行顺序是从右至左,函数 g 首先执行,结果传递给 f 。 在第 17 行,使用了管道,它的执行顺序是从左至右,函数 f 先执行,结果传递给 g 。...将“lorem_ipsum_dolor_sit_amet”作为参数传入函数中,compose 是从右至左的执行顺序。

    1.2K20

    Python 图形化界面基础篇:发布应用程序到不同平台

    最好的方式是在一个虚拟环境中管理依赖项,以确保不会与系统中的其他应用程序产生冲突。 1.2 创建用户文档 为你的应用程序创建用户文档或用户手册。文档应包括关于如何安装、配置和使用应用程序的详细说明。...这可能涉及到特定于平台的代码或配置。 步骤2:创建安装程序 一旦你的应用程序准备就绪,下一步就是创建安装程序( Installer )。安装程序可以帮助用户在他们的计算机上安装和配置你的应用程序。...以下是一些常见的安装程序工具: 2.1 使用cx_Freeze创建独立包 cx_Freeze 是一个用于创建独立包的工具,可以将 Python 应用程序打包成可执行文件,并自动包含所需的依赖项。...pip install cx_Freeze 2.2 使用 PyInstaller 创建可执行文件 我们在前面的博客中已经讨论了如何使用 PyInstaller 将 Python GUI 应用程序打包成可执行文件...dmg 文件是一种常见的安装方式,用户只需将应用程序拖到应用程序文件夹中即可完成安装。 确保你的应用程序符合 macOS 的界面准则,包括菜单栏的设置和应用程序图标的设计。

    52550

    Shell:子shell概念

    子Shell的本质可以理解为Shell的子进程,子进程的概念是由父进程的概念引申而来的,在Linux系统中,系统运行的应用程序几乎都是从init(pid为1的进程)进程派生而来的,所有这些应用程序都可以视为...Shell脚本是从上至下、从左至右依次执行每一行的命令及语句的,即执行完一个命令之后再执行下一个。...如果在Shell脚本中遇到子脚本(即脚本嵌套),就会先执行子脚本的内容,完成后再返回父脚本继续执行父脚本内后续的命令及语句。...不管是子进程还是子 Shell,都是“传子不传父”。...注释:使用 fork() 函数可以创建一个子进程;除了 PID(进程ID)等极少的参数不同外,子进程的一切都来自父进程,包括代码、数据、堆栈、打开的文件等,就连代码的执行位置(状态)都是一样的。

    1.4K30

    ABAP 模块化编程概念详解

    Function的导入参数 在IMPORTING块中,可使用导出参数访问调用结果 异常 在处理Function时出现应用程序错误(例如,值不适于计算), 函数模块就会提出相应的异常。...参数传递方式 参数传递: 将主程序变量传递给子例程形式参数 传递类型: 值传: 子例程中参数变量的值的改变,不影响外部程序实际变量的值 引用传: 若子例程中的参数变量的值发生了改变...,那么,外部程序的实际变量的值也发生改变 值传并返回结果: 传递参数的方式同值传递相同,但在子例程执行过程中,变量值不改变,而结束执行后,把变量的最终值返回 局部和全局变量 局部和全局变量: 全局变量...值传并返回结果 C:值传并返回结果 传递参数的方式同值传递相同,但在子例程执行过程中,变量值不改变,而结束执行后,把变量的最终值返回。..."调用指定程序执行后可返回上一屏幕 宏 宏定义 宏(Macros)是一段独立的代码,能实现数据的运算与输出, 功能与子例程类似,主要应用于同一程序中某些重复的运算,以简化代码 语法: DEFINE INCREMENT

    1.6K21

    ​Vue + SpringCloud前后端分离项目3个月项目实战经验分享(下)

    Vuex:是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。...组件间的传值>>> 父组件传参数给子组件,在子组件的自定义标签上写动态属性 :data = '数据',子组件中定义props的选项['data']。...子组件传参数给父组件, 子组件中自定义绑定事件 ,触发事件 this....$emit('toParent', this.msg),将子组件运算的结果通过emit事件传递回调函数toParent给父组件,this.msg为传递给父组件的参数。...vue.js支持打断点>>> 和之前使用javascript一样,vue代码中也可打debugger,也可在Google Chrome浏览器安装vue插件vue devtools,插件可以查看组件的数据

    1.5K10

    我的react面试题整理2(附答案)

    在子组件中使用props来获取值子组件给父组件传值 在组件中传递一个函数 在子组件中用props来获取传递的函数,然后执行该函数 在执行函数的时候把需要传递的值当成函数的实参进行传递兄弟组件之间传值...;hooks 常用的useEffct使用:如果不传参数:相当于render之后就会执行传参数为空数组:相当于componentDidMount如果传数组:相当于componentDidUpdate如果里面返回...最终更新只产生一次组件及其子组件的重新渲染,这对于大型应用程序中的性能提升至关重要。...∶优点:数据共享、代码复用,将组件内的state作为props传递给调用者,将渲染逻辑交给调用者。...当应用程序在开发模式下运行时,React 将自动检查咱们在组件上设置的所有 props,以确保它们具有正确的数据类型。

    4.4K20

    vue学习笔记4

    子组件向父组件传值 原理:父组件将方法的引用,传递到子组件内部,子组件在内部调用父组件传递过来的方法,同时把要发送给父组件的数据,在调用方法的时候当作参数传递进去; 父组件将方法的引用传递给子组件,其中...$emit('方法名', 要传递的数据)方式,来调用父组件中的方法,同时把数据传递给父组件使用 <!...; 前端路由:对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash...实现; 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由); 在 vue 中使用 vue-router 导入 vue-router 组件类库: 设置路由重定向 设置路由高亮 设置路由切换动效 在路由规则中定义参数 在规则中定义参数: { path: '/register/:id', component: register } 通过 this.

    59440
    领券