“安装项目” Step By Step

本文详细介绍了.NET程序集的自描述性及其与绿色软件的关系,阐述了使用安装项目模板构建复杂软件部署流程的具体步骤,包括准备资源、新建安装项目、配置安装程序、设置用户界面、添加自定义操作、应用条件部署等内容,以及如何使用Orca自定义安装对话框和安装程序类。旨在提供一套完整的解决方案,帮助开发者高效、灵活地部署Windows应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一 基本操作

二 定制安装对话框

三 安装程序类

四 总结

  .NET程序集因为包含了元数据,所以程序集具有自描述性。多数程序自身包含了运行所需要的全部信息,这类程序集就是我们常说的“绿色软件”。对于绿色软件,使用压缩工具制作自解压文件就足以满足我们大多数需要。如果我们构建的是部署比较繁琐的应用程序,或者是希望以一种更为正规的形式来分发软件,我们则可以使用VS内置的“安装项目”模版。“安装项目”常用于安装Windows窗体应用程序以及Windows服务,其基于Windos Installer技术,可以帮助用户在向导的指引下完成程序的部署。

一 基本操作

Step 1:准备应用程序需要的所有外部资源

  应用程序常用的外部资源包括配置文件、COM组件、第三方程序集、相关文件等。好的实践是,在项目构建阶段,就创建并维护这样一份依赖性列表。

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,可以查看“预置三个文本框的对话框”的相关表设置,如下:

  其它表还包括:

  • ModuleDialog:定义对话框的现实信息。
  • ModuleSignature:定义签名。
  • ModuleInstallExecuteSequence:定义了一些操作这些操作将合并到主安装程序的InstallExecuteSequence中。
  • ModuleInstallUISequence:定义了一些操作这些操作将合并到主安装程序的InstallUISequence中。

  定义对话框的一般步骤如下:

  • Step 1:从0目录中,已定义好的对话框中复制一个副本,并用于修改(我喜欢直接用2052的,这样就不用设置语言了)。
  • Step 2:用Orca打开原型,通过修改相关表数据,来改变UI界面(具体用法参考示例)。
  • Step 3:查看预览效果。
  • Step 4:将制作好的对话框文件复制到VS下了对应语言目录。

  P.S.经过笔者尝试,使用Ocra定义安装对话框理论上是可行的,但实践中可能只能满足简单需求。笔者曾使用Ocra定义复杂对话框,并陷入相等痛苦的过程,Orca的项目均采用手工输入,且资料有限,使用起来十分困难。所以笔者建议,如果是定义简单对话框,请使用该方法,如果定义负责的对话框,除非对自身能力有足够自信,否则误尝试。

三 安装程序类

  在添加自定义操作时,我们可以使用脚本(例如:vbs),但对于大多数人来说,脚本可能比较陌生,安装程序类使我们能够以一种更熟悉的方式定义操作。

  自定义安装程序类需要一些步骤:

  • Step 1:引用System.Configuration.Install命名空间,定义安装类并继承Installer类。(VS新建项包括“安装程序类”模版。)
  • Step 2:为该类声明[RunInstaller(true)]特性。
  • Step 3:重写Install类中的方法(包括“安装”、“提交”、“回滚”、“卸载”)。

  具体用法请参考MSDN。

 四 总结

  在实际使用中,对于简单界面我们只需用使用内置的安装对话框即可,如果需要使用与内置对话框类似的,但有少许区别的,可以使用Orca定制对话框,但大多数情况,我们的安装对话框会比较复杂,这时最简单的方法是使用WinFrom窗体。篇幅有限,本文不再赘述具体实例,读者可以参考MSDN或其他技术社区关于“安装时使用自定义操作创建数据库”的相关主题。

 

转载于:https://www.cnblogs.com/MeteorSeed/p/2684538.html

内容简介 《Visual Basic 2010从入门到精通(Step by Step)》全面介绍了visual basic 2010的编程思想及特色,主要包括如何使用控件创建简单的应用程序,如何编写条件分支结构和循环结构、调试程序以及更正程序中的错误,如何设计用户界面、实现数据库和web编程等。 《Visual Basic 2010从入门到精通(Step by Step)》重要主题: ·使用Visual Basic 2010集成开发环境(IDE) ·构建用户界面并进行自定义 ·掌握管理代码执行流程和数据的核心技术 ·添加窗体,用于自定义特性和功能 ·调试程序和处理运行时错误 ·使用ADO.NET 4构建以数据为中心的应用程序 ·使用.NET Framework 4中功能强大的类和方法 ·添加动画效果、可视化继承和打印支持 ·使用ASPNET 4进行Web编程 作者简介 作者:(美国)哈尔弗森(Michael Halvorson) 译者:张丽蘋 汤涌涛 曹丹阳 目录 第Ⅰ部分 开始使用Visual Basic 2010 第1章 Visual Studio集成开发环境 第2章 编写第1个程序 第3章 使用工具箱控件 第4章 使用菜单、工具栏和对话框 第Ⅱ部分 编程基础 第5章 Visual Basic变量、公式和.NET Framework 第6章 条件分支结构 第7章 循环结构和计时器 第8章 调试Visual Basic程序 第9章 使用结构化错误处理程序捕获错误 第10章 使用模块和过程 第11章 使用数组管理数值和字符串数据 第12章 使用集合 第13章 处理文本文件和字符串 第Ⅲ部分 设计用户界面 第14章 在运行时管理Windows窗体和控件 第15章 添加图形和动画效果 第16章 继承窗体和创建基类 第17章 使用打印机 第Ⅳ部分 数据库和Web编程 第19章 使用DataGridView控件显示数据 第20章 使用Visual Web Developer和ASP.NET创建网站和网页 第Ⅴ部分 附录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值