Advanced Installer是一个windows平台下的打包软件,他可以将我们的程序打包为不依赖开发环境的安装包。接下来我简单介绍一下Advanced Installer的使用。

上图是新建程序的选项,一般来说对于发布的程序我们使用Professional模板,如果程序比较简单可以使用Simple模板。在这里我们选择Professional。

上图是产品详细信息的参数,包含了产品名称,产品版本号,公司名称等,建议黑每个版本添加一个版本号,当需要重新发布时修改版本号,并选择重大升级,此时便会更新产品代码。
    在新建或删除程序部分我们可以设置程序安装包的图标,并可选择禁用修改等选项。

这一部分是产品安装参数选项,通过程序定义的变量[AppDataFolder]等选择程序的安装目录及快捷方式等安装选项。

这一部分是针对不同的开发环境添加的一些依赖,比如我们使用VS2010编译的程序,就可以将VS2010的依赖包打包进程序中。

文件、文件夹和快捷方式是最重要的一部分,它包含了我们的主程序的所有文件以及快捷方式,我们可以通过下图的设置文件夹同步,将每次都需要打包的文件夹进行同步,避免每次打包都需要重新导入文件夹。

下一部分是快捷方式的设置,我们可以通过快捷方式目标指定快捷方式所指向的执行程序,并可添加不同的参数来执行

最后我们介绍一下ini文件,我们可以在程序中将.ini文件打包,并在我们的代码中读取ini文件的内容,解析其中的变量值来执行自定义卸载等操作。以本程序的一个自定义卸载为例:
第一步:新建一个.ini文件,将其值设为 [SystemFolder]msiexec.exe /x [ProductCode]该值指向C:\WINDOWS\SysWOW64\msiexec.exe /x {492C224F-4CC7-4FBB-9398-36AC41F8A1A0}用于在Windows Install下卸载程序
第二步:新建一个快捷方式,将快捷方式目标指向我们的主程序,并附加参数uninstall
第三步:在代码中执行shell命令,代码示例如下:

def uninstall():if len(sys.argv) >= 2 and sys.argv[1] == 'uninstall' and os.path.exists('information.ini'):config = configparser.ConfigParser()config.read('information.ini')uninstall_command = config['General']['UninstallCommand']subprocess.Popen(uninstall_command, creationflags=0x00000008)return Truereturn False

实际上最终的逻辑为:读取ini文件,得到shell命令–>将快捷方式指向主程序,并添加参数uninstall–>在主程序中执行从ini中得到的shell命令,执行卸载。

Advanced Installer打包及自定义卸载相关推荐

  1. 使用 Advanced Installer 打包 一键安装Web应用程序

    使用 Advanced Installer 打包 一键安装Web应用程序 原文 http://www.cnblogs.com/codealone/archive/2013/04/03/2998148. ...

  2. Advanced Installer 打包程序并支持自动升级

    参考:  Advanced Installer 打包Winform程序 转载于:https://www.cnblogs.com/IKang8701348/p/9988161.html

  3. Advanced Installer打包Winform后安装在C盘权限不足的解决方法

    Advanced Installer打包Winform后安装在C盘权限不足的解决方法 开发环境:VS2012 运行环境:Win7+ 问题描述:Advanced Installer是一个使用起来很方便的 ...

  4. Advanced Installer打包

    Advanced Installer是一款功能非常强大的打包工具,可以对windows程序,web程序,windwos服务等各种类型的应用程序进行打包,具有清晰的可视化操作界面,非常易上手,使用起来简 ...

  5. 使用Advanced Installer 打包Revit插件

    Revit二次开发中有时候我们需要打包插件给用户去安装使用,这里我们使用Advanced进行打包 下载地址:https://download.csdn.net/download/baidu_27922 ...

  6. Advanced Installer打包msi文件操作流程

    应用场景 当程序员编译出可执行程序后要发布使用,要进行二次打包,建议使用 Advance Installer软件,这款软件简单并且完善. 使用步骤 第一步:安装Advance Installer 直接 ...

  7. Advanced Installer 11.0打包cad插件教程

    Advanced Installer 11.0打包cad插件教程 主题步骤: 创建新工程,选择专业模板创建,如下图: 设置产品信息,如公司名称,产品名称,产品版本如下图: 设置产品guid,产品唯一编 ...

  8. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  9. Advanced Installer 9.8打包实录

    原文 Advanced Installer 9.8打包实录 主要介绍:(1)创建工程,(2)创建快捷方式及其图标(3)卸载设置 创建工程(.net为例): 工程创建完成....接下来进行简单设置 开始 ...

最新文章

  1. 彩色图像分割MATLAB代码
  2. 初级软件工程师的成长
  3. 神牛笔记:吉林大学ACM总结(fennec)
  4. 微型计算机十号功能,青岛理工大学练习题微机原理(10页)-原创力文档
  5. Python办公自动化 - 2 Word办公自动化
  6. c# Application.run和form.show区别
  7. leetcode56. Merge Intervals
  8. AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化
  9. 【Python通过分贝监测Windows系统是否有声音播放】
  10. NorthWind基本数据库添加问题
  11. java在线测试工具_9个最好用的在线编译/调试工具
  12. yahoo邮箱停止服务器,国内@yahoo.com邮箱用户不能登录的几个解决方案
  13. FFmpeg的音频处理详解
  14. 【LeetCode每日一题】——LCP 44.开幕式焰火
  15. 关卡 动画 蓝图 运行_虚幻4 UE4 蓝图之关卡蓝图实现自动开关门
  16. python 生成诸如A001 A002 ... A100这样的序列
  17. 记录:删除鼠标右键的某个“流氓”选项
  18. windows电脑关机开机后没声音,重启就有声音故障处理方法
  19. matlab生成数字1-n的列向量
  20. 虚拟机M0n0wall软件防火墙配置

热门文章

  1. 吐血整理,2023年最新【阿里、头条、美团】【软件测试】面试题(持续更新)
  2. 使用createPatch生成OpenFOAM可用的cyclic边界
  3. 现实世界中的Windows Azure:澳大利亚的体育博彩公司为赛马微型网站押注Windows Azure
  4. Java版QQ聊天工具
  5. 场景共同体:浪潮存储的生态突围秘诀
  6. 前端小白分享|canvas用户上传图片选择相框并长按保存到本地
  7. Vue 项目修改运行端口
  8. poj2492 A Bug‘s Life
  9. 聊聊车企与碳纤维的那些事儿
  10. java刻画三角形和梯形和圆形,三角形、梯形和圆形的类封装.doc