目录数据库
一 基本操做编辑器
三 安装程序类动画
四 总结ui
.NET程序集由于包含了元数据,因此程序集具备自描述性。多数程序自身包含了运行所须要的所有信息,这类程序集就是咱们常说的“绿色软件”。对于绿色软件,使用压缩工具制做自解压文件就足以知足咱们大多数须要。若是咱们构建的是部署比较繁琐的应用程序,或者是但愿以一种更为正规的形式来分发软件,咱们则可使用VS内置的“安装项目”模版。“安装项目”经常使用于安装Windows窗体应用程序以及Windows服务,其基于Windos Installer技术,能够帮助用户在向导的指引下完成程序的部署。spa
Step 1:准备应用程序须要的全部外部资源code
应用程序经常使用的外部资源包括配置文件、COM组件、第三方程序集、相关文件等。好的实践是,在项目构建阶段,就建立并维护这样一份依赖性列表。blog
Step 2:新建安装项目并设置属性继承
Step 3:定义“生成”方式
进入属性设置对话框,配置安装程序的生成方式及必备组件:
Step 4:设置“文件系统”
打开“文件系统编辑器”,配置安装程序在目标机器中的不一样位置如何部署文件及程序集:
经过“文件系统编辑器”,能够在以上3个目录中定制部署涉及的文件及程序集。能够添加的项包括:“文件夹”、“项目输出”(其余项目的所包含的项,如程序集和文件等等)、“文件”、“程序集”。
添加项目输出:
Step 5:设置“注册表”
打开“注册表编辑器”设置目标机器的注册表项和值:
Step 6:创建文件关联
创建文件关联其实是为某个扩展名映射处理程序,打开“文件类型编辑器”能够设置扩展名与应用程序的映射关系。
1 创建并设置文件类型
2 定义操做
默认定义了一个“打开”操做,该操做也是该类型的默认操做,即当用户双击该类型文件时执行的操做。
操做能够定义多个,默认操做会加粗显示在首行,全部操做都会显示在对应文件的右键菜单中,其显示顺序与定义操做时的排列顺序相同。
Step 7:设置安装程序的用户界面
根据安装方式不一样,分为了2组,每组又细分为3个阶段——启动、进度、结束。在简单应用中,咱们能够彻底使用默认设置,默认预置5个界面,并自动生成的相应属性值。
安装项目每一个对话框只能在项目中使用一次,因此咱们在使用时,会发现功能相同的对话框可是不一样名字。下面显示了VS内置的安装对话框:
1 欢迎使用
2 安装文件夹
3 确认安装
4 进度
5 已完成
6 单选按钮
7 复选框
8 客户信息
9 启动画面
10 文本框
11 许可协议
12 注册用户
13 自述文件
Step 8:添加自定义操做
经过添加自定义操做使咱们能够在应用程序安装时执行附加操做,例如:安装数据库,修改配置文件等,能够在安装的某和时间点执行程序集和脚本。(VS内置了“安装程序类”模板,用以定义此处使用的程序集,具体用法见下文。)
打开“自定义操做管理器”,会看到四个阶段,用户能够按须要在各个阶段添加自定义操做。
添加操做后,须要设置操做的属性:
须要注意的是自定义操做最好成对使用,即在“安装”阶段添加的文件,最好在“卸载”阶段进行删除。
Step 9:应用条件部署
“条件部署”就如其名字同样,能根据安装环境选择不一样的部署操做,是安装项目中少有的分支操做。但其使用并不够简单直接,其最经常使用的场景是限制安装程序的安装条件。即在安装程序时检查客户机的安装环境,对不知足要求的客户机执行某个处理。实现条件部署功能由两种方式,分别是“属性方式”和“管理器方式”。
1 经过“Condition”属性实现条件部署
在安装项目中的不少项,都有一个“Condition”属性,用于指定必须知足的Windos Installer条件,以达到在特性条件下的部署须要。在VS中,并无给出相似WF那样的规则编辑器,条件须要人为键入,其语法比较复杂,也不太经常使用,若是读者感兴趣请参考MSDN关于“Windos Installer条件语句语法”相关内容的描述。
2 在“启动条件管理器”中实现条件部署
综上所述,VS为咱们完成了大量的工做,若是咱们没有特殊要求,彻底能够跳过不少步骤,咱们仅仅须要少许配置便可完成打包。下面,我将分享安装项目的“外挂”功能,以帮助读者打造复杂安装程序。
在定义安装程序安装界面时,VS为咱们内置了多种界面。但对于复杂需求来说,咱们会发现VS提供的安装对话框没法知足当前的需求,此时就须要咱们来自定义安装对话框了。遗憾的是该功能不能在VS里操做,而是须要借助“Orca”来完成。Orca是一款由微软提供的用于Windows Installer数据库表的编辑器,是VS附带的工具,但默认不会安装,能够在“\%Program Files%\Microsoft SDKs\Windows\v6.0A\bin”(笔者安装的是VS2008,VS2010的路径与之相似)下找到该工具的安装包。
安装对话框被安装在VS安装目录下的Common7\Tools\Deployment\VsdDialogs子目录,扩展名为wid。打开该目录,看到的是复数个以数字命名的子目录,里面的东西都差很少,它们表明了不一样语言版本,其中有三个目录须要注意:第一,“0”目录下的对话框是咱们自定义对话框的“基类”,它们是语言中性的;第二,“1033”目录为英语专用;第三,“2052”为中文专用。打开任意子目录,咱们能够看到以wid为扩展名的文件,这就是咱们在VS中看到的安装对话框。
用Orca打开VsdCustomText3Dlg.wid,能够查看“预置三个文本框的对话框”的相关表设置,以下:
其它表还包括:
InstallExecuteSequence中。
InstallUISequence
中。
定义对话框的通常步骤以下:
P.S.通过笔者尝试,使用Ocra定义安装对话框理论上是可行的,但实践中可能只能知足简单需求。笔者曾使用Ocra定义复杂对话框,并陷入相等痛苦的过程,Orca的项目均采用手工输入,且资料有限,使用起来十分困难。因此笔者建议,若是是定义简单对话框,请使用该方法,若是定义负责的对话框,除非对自身能力有足够自信,不然误尝试。
在添加自定义操做时,咱们可使用脚本(例如:vbs),但对于大多数人来讲,脚本可能比较陌生,安装程序类使咱们可以以一种更熟悉的方式定义操做。
自定义安装程序类须要一些步骤:
具体用法请参考MSDN。
在实际使用中,对于简单界面咱们只需用使用内置的安装对话框便可,若是须要使用与内置对话框相似的,但有少量区别的,可使用Orca定制对话框,但大多数状况,咱们的安装对话框会比较复杂,这时最简单的方法是使用WinFrom窗体。篇幅有限,本文再也不赘述具体实例,读者能够参考MSDN或其余技术社区关于“安装时使用自定义操做建立数据库”的相关主题。