2019-10-26-Inno-Setup-安装包脚本-Run-的-Flags-标记
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
Inno Setup 安装包脚本 Run 的 Flags 标记
|
lindexi
|
2019-10-26 08:42:39 +0800
|
2019-10-25 09:47:40 +0800
|
安装包 InnoSetup
|
在制作安装包的时候,可以在 Inno Setup 安装包脚本的 Run 里面添加在解压缩安装包文件完成之后,整个安装结束之前执行指定的命令,是作为定制化最高的内容
有小伙伴觉得安装包脚本比较难写,也不熟悉,也不好调试。推荐的方法是自己写安装辅助 exe 程序,在安装包解压缩完成之后调用辅助安装程序,这样安装逻辑可以放在安装程序,而安装程序本身可以使用自己熟悉的语言开发
在 Inno Setup 安装包脚本,可以在 Run 里面添加执行命令,如下面代码
[Run]
Filename: "{app}\After.bat"; Description: "{cm:LaunchProgram,安装程序}";Flags: runhidden
上面代码就是在解压缩完成之后调用 After.bat 执行批处理,上面的 {app} 就是程序解压缩文件夹,也就是路径是绝对的
而想要执行命令,就会遇到如何执行命令的问题,有一些命令是让用户勾选才执行,如打钩点击完成启动 xx 程序,这部分就需要用到 Flags 的值
在 Flags 多个不同值用空格分开,可选内容如下
32bit
将 {sys} 常量应用到 32 的系统,将会修改 Filename 和 WorkingDir 的内容,默认在32系统上安装将会应用。这个标记设置之后不能加上 shellexec 内容
64bit
当使用 Filename 和 WorkingDir 参数将会设置里面用到的 {sys} 常量为 64 系统的工作路径,默认在 64 系统上安装将会应用
[Run]
Filename: "{sys}\After.bat"; Description: "欢迎访问我博客 blog.lindexi.com 大量 WPF 博客";Flags: 64bit
此时上面代码的 {sys} 将会根据设置的标记选用 32 或 64 系统文件夹
nowait
执行命令的时候,安装包进程不等待此命令执行完成
不能和 waituntilidle 和 waituntilterminated 组合
runascurrentuser
用当前用户权限运行
runasoriginaluser
传递权限运行
runhidden
执行命令,但是隐藏命令的界面
主要是调用批处理或命令行程序时,不会显示控制台界面
用上此标记可以在安装完成之前调用批处理程序时,不会让安装包调用时显示控制台界面
runmaximized
让调用的程序最大化
runminimized
让调用的程序最小化
shellexec
用默认程序打开传入的文件,在传入的文件不是可执行文件时,可以加上这个标记
skipifdoesntexist
如果传入的文件不存在,那么什么都不做就跳过
skipifnotsilent
如果当前不是静默安装模式,那么跳过
在 Inno Setup 安装包,可以通过 /silent 命令或 /verysilent 命令进行静默安装
使用 /silent 时,静默安装,但如果又报错,还是会提示,并且有进度条也就是用户能看见进度条界面,加上这个命令可以让安装包自动安装不需要让用户选择
使用 /verysilent 时,静默安装,更强制,不过是否报错,都不会有任何提示,也就是用户什么都没看见,用这个选项可以在后台静默安装。这样就能做到安装包在后台无界面安静安装
skipifsilent
如果当前是静默安装模式,那么跳过
postinstall
将会在安装完成界面创建一个可选按钮,让用户勾选或不勾选,当用户勾选时将会执行。默认选项是勾选
unchecked
配合 postinstall 将会修改默认值是不勾选,也就是点击完成不会执行命令
waituntilidle
等待调用的命令在等待用户输入时才执行下一步
waituntilterminated
等待调用的命令暂停或退出
如果以上内容有不明白的,请点击官方文档 Inno Setup Help
2019-10-26-Inno-Setup-安装包脚本-Run-的-Flags-标记的更多相关文章
- inno setup教程解释脚本
inno setup教程解释脚本 2007-04-08 21:31:36| 分类: 科技-> Inno Setu | 标签:inno |举报 |字号 订阅 下载LOFTER客户端 ...
- Inno Setup的常用脚本
Inno Setup的常用脚本 分类: VC++神奇理论 2012-12-06 10:07 3234人阅读 评论(2) 收藏 举报 安装不同的目录: [Files] Source: "我的程 ...
- Inno Setup执行SQL脚本的方法
作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个 ...
- 分享一个自用的 Inno Setup 软件打包脚本
此脚本支持打包mysql.安装mysql服务.安装windows服务.操作ini文件.操作注册表.高效压缩文件等功能,基本能满足常用的软件打包需求. ;定义各种常量 #define MyAppName ...
- 【Inno Setup】Pascal 脚本 ---- 事件函数
转载 事件函数 Inno Setup支持以下函数和过程. 1. [安装初始化]该函数在安装程序初始化时调用,返回False 将中断安装,True则继续安装,测试代码如下: function Initi ...
- [InnoSetup]Inno Setup软件打包脚本
脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "SFT期货交易系统&quo ...
- MySQL 5.6.26几种安装包的区别
一.MySQL Installer 5.6.26 mysql-installer-community-5.6.26.0.msi, 364.2MBMySQL Installer 提供了简单易用.向导式的 ...
- MySQL 5.6.26几种安装包的差别
http://downloads.mysql.com/archives/community/ 一.MySQL Installer 5.6.26 mysql-installer-community-5. ...
- Inno Step 安装包程序 写INI配置文件脚本
[INI]Filename: "{app}\Config\config.ini"; Section: "config";Key: "name" ...
- 2019.10.26 CSP%您赛第三场
\(CSP\)凉心模拟^_^ --题源\(lqx.lhc\)等各位蒟蒻 题目名称 比赛 传递消息 开关灯 源文件名 \(competition.cpp\) \(message.cpp\) \(ligh ...
随机推荐
- 百钱白鸡(for循环的练习)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- pixhawk 常见问题 持续更新
红灯蓝灯闪,初始化中,请稍等 黄灯双闪,错误,系统拒绝解锁 黄灯闪,遥控器关闭 黄灯快速闪且滴滴响,电池保护激活 蓝灯... 未见过.... 绿灯闪: 已加锁,GPS锁定已获得. 准备解锁. 从加锁状 ...
- centos 6.8 搭建禅道 Linux一件安装、进程自起
禅道官网:http://www.zentao.net/ linux一键安装包内置了apache, php, mysql这些应用程序,只需要下载解压缩即可运行禅道.Linux 64位一键安装包(适用于L ...
- CString转const char
CString转换成const char 需要考虑一个因素: 你使用是否为unicode 不使用unicode: CString Cstr("aaaaaaa"); co ...
- 2019-6-23-win10-uwp-未给任务-GenerateAppxPackageRecipe-的必需参数-AppxManifestXml-赋值
title author date CreateTime categories win10 uwp 未给任务 GenerateAppxPackageRecipe 的必需参数 AppxManifestX ...
- UVA11107 Life Forms SA模板
Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 16827 Accepted: 4943 Descr ...
- 跟我一起了解koa(一)
安装koa2 1.初始化package.json npm init 2.新建app.js,并且安装koa cnpm install --save koa //app.js const koa = re ...
- vue项目中实现扫码功能
项目地址:https://github.com/wkl007/vue-scan-demo.git 项目主要是做的一个扫码的功能 核心代码为 <div class="scan" ...
- spring源码学习之bean的加载(二)
这是接着上篇继续写bean的加载过程,好像是有点太多了,因为bean的加载过程是很复杂的,要处理的情况有很多,继续... 7.创建bean 常规的bean的创建时通过doCreateBean方法来实现 ...
- 实战经验 | Cassandra Java堆外内存排查经历全记录
背景 最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测.压测时候比较容易触发OOM Killer,把cassandra进程干掉.问题是8G这个规格我配置的heap(Xmx ...