INNO SETUP 学习心得

1.脚本结构


1.[Setup] 段
  
  这个段包括了安装和卸载程序所使用的全局设置,并且有些关键字在你建立的安装程序中是必须要用到的。
  
2.[Dirs] 段
  
  这个段是可选的,而且通常对于大多数简单的应用程序来书不是必需的。这个段是用来创建除用户选择的应用程序目录以外的其它的附加的目录,它是被自动创建的。这个段所创建的子目录是可以脱离主应用程序而共同使用的目录。当然在 [Files] 段里面的文件被复制到某个目录之前你并不一定要创建它,然而在卸载程序的时候在 [Dirs] 和 [UninstallDelete] 段里面没有指定的目录就不会被删除。
  
3.[Files] 段
  
  这个段是可选的,但对于大多数安装程序来说是必不可少的。在这里定义了安装程序需要复制到用户的系统当中的全部文件。
  
  在安装期间,卸载程序和数据被自动的复制到应用程序的目录当中去,因此你不必手工的将它们添加到 [Files] 段。
  
4.[Icons] 段
  
  这个段是可选的,但对于大多数安装程序来说是必不可少的。它定义了所有的安装程序要在用户系统中创建的程序管理器/开始菜单的图标。它也能被用来在其它的位置创建应用程序图标(快捷方式),比如就像桌面。
  
  卸载图标是由安装程序内部创建的,这样一来你就不需要在 [Icons] 段里面手工的添加它。默认情况下,安装程序运行在 Windows 95/NT 4+ 的时候是不创建卸载图标的 ――除了安装程序运行于 Windows NT 3.51 的时候。 要强制创建一个卸载图标,请使用 [Setup] 段里面的 AlwaysCreateUninstallIcon 关键字。
  
5 [INI] 段
  
  此段是可选的,它定义了一些 .INI 文件项,在文件被复制以后安装程序在用户的系统中的设定。
  
6.[InstallDelete] 段
  
  它使用的是和 [UninstallDelete] 段相同的格式,不同的是它是在安装程序的第一步被处理的。
  
7.[Messages] 段
  
  [Messages] 段是用于定义安装程序和卸载程序所显示的消息。通常你不需要在你的脚本文件里面创建 [Messages] 段,默认情况下所有的显示消息都由 Inno Setup 包含的文件 Default.isl 定义。 (或由 [Setup] 段的关键字 MessagesFile 指定的任何文件)。
  
8.[Registry] 段
  
  这个段是可选的,他定义了一些注册表项,用于在复制完文件之后创建在用户的系统中。
  
9.[Run] %26amp; [UninstallRun] 段
  
  [Run] 段是可选的,指定任意数量的程序在成功安装程序以后及显示结束对话框之前被执行。同样 [UninstallRun] 段也是可选的,指定任意数量的程序在%26ldquo;卸载程序%26rdquo;的第一步时被执行。除非下面有其它说明,两个段共有相同的语法。
  每个程序按照你的脚本编排的顺序被执行,当出路 [Run]/[UninstallRun] 的项时,安装程序将会等到当前的程序终止之后才处理下一个,当然除非使用了 nowait 标记。
  

  1. [UninstallDelete] 段
      

  该段是可选的。该段是用来定义一些附加的除了那些被安装的应用程序之外的要被卸载程序删除的文件或目录。使用该段来删除由你的应用程序创建的 .INI 文件是一个常用的办法。卸载程序在卸载过程的最后一步处理这些项。

 

2.目录常量


  

{app}

  应用程序目录,这是用户在安装向导的选择安装目录页里面所选择的。
  例如:如果你使用了 {app}MYPROG.EXE 作为一项并且用户选择了“C:MYPROG”作为应用程序的目录,那么安装程序就会将它转换成“C:MYPROGMYPROG.EXE”。

{win}

  系统的 Windows 目录。例如:如果你使用了 {win}MYPROG.INI 作为一项并且系统的 Windows 目录是“C:WINDOWS”,那么安装程序就会将它转换成“C:WINDOWSMYPROG.INI”。

{sys}

  系统的 Windows 系统(System)目录(在 Windows NT/2000 下是 System32)。例如:如果你使用了 {sys} CTL3D32.DLL 作为一项并且系统的 Windows 系统目录是“C:WINDOWSSYSTEM”,那么安装程序就会将它转换成“C: WINDOWSSYSTEMCTL3D32.DLL”。

{src}

  这个文件夹指向安装程序所在的位置。
  例如:如果你使用了 {src}MYPROG.EXE 作为一项并且用户是从“S: ”安装的,那么安装程序就会将它转换成“S:MYPROG.EXE”。

{sd}

  系统驱动器,它是指 Windows 被安装到的那个驱动器,典型的是“C:”,对于 Windows NT/2000,这个常量同系统的环境变量“SystemDrive”是等效的。

{pf}

  程序文件夹(Program Files),这个路径是系统的 Program Files 目录,典型的是“C:Program Files”。

{cf}

  公共文件夹(Common Files),这个路径是系统的 Common Files 文件夹,典型的是“C:Program FilesCommon Files”。

{tmp}

  临时目录,这个目录并不是用户的 TEMP 环境变量指向的目录,而是安装程序在启动时在用户的临时目录下建立的一个子目录,在安装程序退出时所有的文件和子目录将会被删除。对于在 [Run] 段里面要被执行且在安装以后又不需要的程序文件来说这个功能是非常有用的。

{fonts}

  字体目录,在 Windows 95/NT 4+ 下有一个专门为字体设立的目录(通常这个目录在 Windows 目录下且被命名为“FONTS”),这个常量就指向这个目录。对于 Windows NT 3.51,这个常量是和 {sys} 等效的,因为当时还没有字体目录。

{dao}

DAO 目录,当安装程序运行在 Windows 95/NT 4+ 上时,它被等效为 {cf}Microsoft SharedDAO,当运行于 Windows NT 3.51 时,它被等效为 {win}MSAPPSDAO。

inno setup 打包脚本学习相关推荐

  1. Inno Setup 打包脚本笔记

    Inno Setup 打包脚本总结 1.1. 脚本段 1.1.1. #define宏定义常量 1.1.2. [Setup] 1.1.3. AppId 1.1.3.1. ShowLanguageDial ...

  2. inno setup打包软件学习

    目录 一  打包结果 二 示例打包脚本 三 错误解决 3.1 另一个程序正在使用此文件,进程无法访问 3.2 桌面图标无法修改 四 参考资料 一  打包结果 测试程序来自: 泽森科工 (zenuste ...

  3. inno setup打包脚本总结

    inno setup是比较简单好用的一款打包工具. 下面以打包HelloWorld.exe为例进行说明. 一.打包目录的建立 创建source目录:用于放置主程序.依赖dll.资源等待打包文件. 创建 ...

  4. Inno setup打包软件安装

    Inno setup打包软件特点是开源.简单.重点还是免费的. 软件下载官网 https://jrsoftware.org/isinfo.php 界面汉化包地址:https://jrsoftware. ...

  5. inno setup打包程序安装出现CreateProcess failed;code 740

    问题: 使用inno setup打包我们发布的程序test.exe,在安装结束后,勾选了Launch xxx运行程序,然后出现如下报错: Unable to execute file:xxx Crea ...

  6. Inno setup 打包教程

    inno setup 是较常用且简单的软件打包工具. 1.安装并打开 inno setup 软件 ① 运行环境 系统:Windows 7 软件:inno setup 5.5.5 ② 安装 inno s ...

  7. Inno Setup 打包发布exe程序的步骤及注意事项及解决发布后的exe解压后文件都在主目录下导致程序无法正常运行的问题

    目录 一.链接.exe文件的.dll动态链接库 1.1.可以利用QT官网提供的工具windeployqt 生成方式见如下: 1.2.使用脚本文件 二.使用绿色汉化版打包小程序inno setup5.5 ...

  8. Inno setup打包vc++运行库

    windows下打包应用程序,基本都要依赖vc++运行库,打包工具使用的Inno setup,记录一下inno setup打包vc运行库的方法 下载地址 https://support.microso ...

  9. Inno Setup 打包的文件以管理员权限运行

    近期发现一个问题,就是Inno Setup打包的程序安装完成后运行需求管理员权限的程序的时候会失败( inno createprocess   需要提升),解决这个问题的最简单办法就是打包的后的程序也 ...

最新文章

  1. 把二叉搜索树转换为累加树
  2. Python开发技巧-使用Python生成HTML表格
  3. pandas内置绘图_使用Pandas内置功能探索数据集
  4. 对你的的应用程序进行Debug
  5. 大多数项目能不能投资,能不能去创业,取决于自己是站在什么高度看问题
  6. 模拟虚拟的文件系统initrd/initramfs
  7. 利用百度OCR实现验证码自动识别
  8. html中引入的图标库,动态引入阿里图标库
  9. 关掉外接键盘的背光灯
  10. 计算机主机配件及图解,电脑主机配件组成解析图文
  11. k8s的优势和部署模式
  12. 计算机安装xp蓝屏怎么办,xp系统装win7系统蓝屏怎么办
  13. C# 时间日期的获取与比较
  14. git之如何合并部分提交
  15. 知网、万方paperfree 查重的区别
  16. 调试大普RTC芯片驱动-ins5699s
  17. 【QA】VMware Workstation 不可恢复错误: (vmx)解决方案
  18. Lawliet|Python学习笔记——numpy库
  19. FFMPEG常用的一些命令介绍:音频录制、视频录制
  20. 《Head First 设计模式》(四):工厂模式

热门文章

  1. Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法 .
  2. Error, some other host already uses address 192.168.0.202错误解决方法
  3. SQL Server无法连接到(local)问题的解决的方法
  4. IDEA解决maven多module出现多root的问题
  5. 解析docker中的环境变量使用和常见问题解决
  6. Python非本地语句
  7. 在Vim中将DOS行尾转换为Linux行尾
  8. 撤消git pull,如何将repos带到旧状态
  9. win11如何执行干净启动 windows11执行干净启动的设置方法
  10. 七牛云存储,图片储存