软件打包方案框架的筛选

Igor 未分类评论7,070字数 1826阅读6分5秒阅读模式

 

  1. 方案筛选:

    1. 有四个可选方案

  • Visual Studio Installer是VS自带的安装器
  • WIX安装方案
  • Advanced Installer 安装方案
  • InstallShelled方案,是Installer的先行者,易用性不如Advanced Installer,也是付费软件
  1. 三者的优劣

据网上一篇深度解读文档说明:

  • 微软在设计操作系统的时候,给软件安装器开放了很多参数。
  • Visual Studio Installer在设计的时候做了大量封装,造成很多参数设置不了。
  • 相对应的是WIX方案,该方案是基于XML配置方案实现,即操作系统开放给安装器的所有参数都能够以XML的方式完成配置并生成目标安装文件。
  • Advanced Installer安装方案则是,在WIX方案基础上、开发的一体化的窗口界面完成配置的软件方案。该软件能完全满足我们现在的需求,但是付费软件。

 

  1. Advanced Installer向导

  2.  
  3.  
    1. 启动向导模式

打开Advanced Installer软件,选择 ".NET应用",会弹出向导窗口。

软件打包方案框架的筛选-图片1

  1. 输入软件名称和组织名称,下一步。

    软件打包方案框架的筛选-图片2

  2. 选择安装包的形式(单个文件的exe,还是一组文件/文件夹集合,等等)。

    软件打包方案框架的筛选-图片3

  3. 选择当前打包工程的路径,用于保存生成的软件包。

    软件打包方案框架的筛选-图片4

  4. 添加应用程序文件夹,点击浏览,浏览到打印机软件的开发路径下的Release目录。

    软件打包方案框架的筛选-图片5

    软件打包方案框架的筛选-图片6

  • 勾选同步文件夹。

软件打包方案框架的筛选-图片7

  1. 设置生成快捷方式

    软件打包方案框架的筛选-图片8

  2. 添加依赖的程序集,默认选择作为常规文件安装即可,有特别需要可以注册程序集。

    软件打包方案框架的筛选-图片9

  3. 添加启动条件,选择.net库版本和支持的操作系统。

    软件打包方案框架的筛选-图片10

  4. 如果指定的.NET库不存在怎么安装。

    软件打包方案框架的筛选-图片11

  5. 安装完成后启动。

    软件打包方案框架的筛选-图片12

  6. 选择安装界面的风格。

    软件打包方案框架的筛选-图片13

  7. 选择多语言支持。

    软件打包方案框架的筛选-图片14

  8. 添加许可协议文档。

    软件打包方案框架的筛选-图片15

  9. 许可协议的本地化,这里可以等向导结束在 "翻译" 板块操作。

    软件打包方案框架的筛选-图片16

  10. 向导结束,可以去掉勾选 "现在构建项目",因为还有些配置需要完成。

    软件打包方案框架的筛选-图片17

    关闭向导,显示项目窗口。

    软件打包方案框架的筛选-图片18

     

  1. 更详细的配置项

  2.  
    1. 产品细节,填写详细的软件信息。

      软件打包方案框架的筛选-图片19

    2. 数字签名,防止软件被篡改。

      软件打包方案框架的筛选-图片20

    3. 更新程序,配合服务器的更新描述符,提示软件升级。

      软件打包方案框架的筛选-图片21

    4. 授权验证,用于软件基于授权的策略。

      软件打包方案框架的筛选-图片22

    5. 文件和文件夹,用于预览待打包的文件和文件夹。

      软件打包方案框架的筛选-图片23

    6. 磁贴,用于Win10在开始菜单添加磁贴。

      软件打包方案框架的筛选-图片24

    7. 注册表项

      软件打包方案框架的筛选-图片25

    8. 文件关联,我创建了一个dmk的关联格式。

      软件打包方案框架的筛选-图片26

    9. 程序集,为空,因为向导中,我们把所有的程序集都以 "作为常规文件安装" 打包。

      软件打包方案框架的筛选-图片27

    10. 服务,我们的打印机没有使用服务。

      软件打包方案框架的筛选-图片28

    11. 安装参数,向导会默认选择静默安装(不会出现安装过程窗口),需要去掉勾选。

      软件打包方案框架的筛选-图片29

    12. 组织,主要是检查dll调用是不是完整。

软件打包方案框架的筛选-图片30

  1. 构建,这里选择单个EXE文件。

需要特别注意在生成单个安装文件同时支持多语言时,要按照下图标号4所示选择。

软件打包方案框架的筛选-图片31

  1. .NET运行环境。

    软件打包方案框架的筛选-图片32

  2. 启动条件,包括3个tabs,分别是系统和硬件条件、软件条件、自定义条件。

    软件打包方案框架的筛选-图片33

  3. 安装软件的主题:

    软件打包方案框架的筛选-图片34

  4. 对话框,该对话框的风格受主题影响,同时也可以独立编辑。

    软件打包方案框架的筛选-图片35

  5. 独立编辑窗口的布局。

    软件打包方案框架的筛选-图片36

  6. 幻灯片显示,在安装进度过程可以显示幻灯片。

    软件打包方案框架的筛选-图片37

  7. 多语言支持,按下图选择,最终生成的软件效果就能够支持多语言。部分对话框多语言仍然显示英文,需要对对话框进行必要的编辑。

    软件打包方案框架的筛选-图片38

  8. 还有一些其他的参数可以设置,比如环境变量等。

    软件打包方案框架的筛选-图片39

  1. 生成安装包并安装

  2.  
    1. 点击左上角的保存按钮和构建按钮,生成安装包,包括中文简体版、中文繁体版、英语版、日语版、多语言一体版。

软件打包方案框架的筛选-图片40

  1. 安装过程

软件打包方案框架的筛选-图片41软件打包方案框架的筛选-图片41

软件打包方案框架的筛选-图片42软件打包方案框架的筛选-图片42

软件打包方案框架的筛选-图片43软件打包方案框架的筛选-图片43

 

  1. 软件正常启动

软件打包方案框架的筛选-图片44
软件打包方案框架的筛选-图片44

  1. 软件卸载,在控制面板像正常程序一样卸载

软件打包方案框架的筛选-图片45

  1. 特殊配置项说明

  2.  
    1. 多语言的license文件问题

需要在向导配置license文件位置一次性填写完成。如下图所示,

  • 第一步选择语言:简体、繁体、日语、英语,
  • 下一步选择当前语言的license文件,当前语言参考窗口上面的描述。
  • 再下一步选择其他语言对应的license文件。

 

软件打包方案框架的筛选-图片46软件打包方案框架的筛选-图片46软件打包方案框架的筛选-图片46

下图是打包后实际运行过程中,繁体中文安装过程的运行截图:

软件打包方案框架的筛选-图片47

  1. 怎样附加驱动程序并在安装过程安装

    1. 在运行环境tab添加驱动信息。

软件打包方案框架的筛选-图片48

软件打包方案框架的筛选-图片49

软件打包方案框架的筛选-图片50

上述步骤操作完成就添加了一个组件,但是还需要一个选择窗口。

  1. 在对话框tab添加组件选择窗口。

软件打包方案框架的筛选-图片51

软件打包方案框架的筛选-图片52

这就完成了,编译运行即可。

 

  1. 安装过程的窗口设计效果和最终效果

软件打包方案框架的筛选-图片53

下图是打包后实际安装过程,下面是选择了英文语言。

软件打包方案框架的筛选-图片54软件打包方案框架的筛选-图片54软件打包方案框架的筛选-图片54

下面是选择日语的效果。

软件打包方案框架的筛选-图片55软件打包方案框架的筛选-图片55软件打包方案框架的筛选-图片55

 

  1. 升级安装问题

产品Upgrade Code要与上一个版本一致,该版本号是升级的必须条件。

软件打包方案框架的筛选-图片56

 

到自定义事件tab,添加UninstallPreviousVersions,参照下图。

软件打包方案框架的筛选-图片57

  1. 添加快捷方式

下图是添加卸载快捷方式。

软件打包方案框架的筛选-图片58

 

如果要在开始菜单和桌面添加快捷方式,只需要把下图1处的快捷方式文件,复制到下图开始菜单à程序à[ProductName]文件夹下,及系统桌面文件夹下,即可。

软件打包方案框架的筛选-图片59

文章末尾固定信息

weinxin
我的微信
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
 
Igor
  • 本文由 Igor 发表于 2020-05-2517:53:27
PHP preg_match() 函数 | 菜鸟教程 未分类

PHP preg_match() 函数 | 菜鸟教程

返回值 返回 pattern 的匹配次数。 它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后 将会停止搜索。preg_match_all() 不同于此,它会一直搜...
未分类

CoAP协议介绍

CoAP Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252。COAP名字翻译来就是“受限应用协议”,顾...
B站测试2 未分类

B站测试2

https://www.bilibili.com/video/BV17P41157a6/?spm_id_from=autoNext&vd_source=80804e04ca68f8da607865f8...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证
加载中...