第14章软件的安装和部署教学提示:在这一章中,主要介绍MicrosoftWindows安装程序的基本概念和如何使用VisualC++.NET制作安装程序,并且还将详细介绍VisualStudio.NET中的部署项目。学习这些内容后,相信读者对VisualStudio.NET开发环境中的软件安装程序制作和软件的部署将会有一个比较全面的了解。教学目标:掌握安装程序的基本概念,能在VisualStudio.NET开发环境中制作软件安装程序;掌握软件的部署的方法。通过上机实践,初步掌握上述内容的灵活运用。14.1MicrosoftWindows安装程序介绍Windows安装程序对于广大读者来说并不陌生,每当要安装一个新的Windows软件时,一般都会使用到Windows安装程序,跟随安装程序向导结束,就可以很方便地把一个新的软件安装到Windows平台上。那么如何将自己做的应用程序作为安装程序呢?在VisualStudio.NET中提供了制作安装程序的解决方案。首先从Windows安装程序的概念和基本原理开始。Windows安装程序基于数据驱动模型,该模型在一个软件包中提供所有安装数据和指令。相比而言,传统的脚本安装程序基于过程模型,为应用程序安装提供脚本指令。脚本安装程序强调安装的方法,而Windows安装程序则强调安装的内容。14.2制作简单的安装程序下面通过具体的实例来介绍怎样制作一个简单的安装程序,具体步骤如下:(1)单击【文件】|【新建】|【项目】命令,在弹出的【新建项目】对话框中选择【项目类型】为【安装和部署项目】。(2)选择【安装向导】模板类型(该类型可创建安装项目和Web安装项目),在【名称】文本框中输入项目名称“Install”。选择或输入项目位置,如D:\程序例子,结果如图14.1所示。(3)单击【确定】按钮,就会显示安装向导的第1步,如图14.2所示。(4)单击【下一步】按钮,将显示安装向导的第2步,如图14.3所示。在这个对话框中有安装项目类型及重新发布的邮件包的类型的选择,在这里选择【创建用于Windows应用程序的安装程序】单选按钮。(5)单击【下一步】按钮,显示安装向导的第3步,如图14.4所示。在其中单击【添加】按钮可以添加要发布的相关文件。(6)单击【下一步】按钮,显示安装向导的第4步,如图14.5所示。(7)单击【完成】按钮,完成基本框架创建。(8)选择Visual.NET菜单【项目】|【添加】|【合并模块】,选定用于MFC应用程序本地化支持的模块:VC_User_MFC71_Loc_RTL_X86_---.msm,单击【打开】按钮。如图14.6所示。返回(9)打开VisualC#.NET的【生成】菜单,单击【生成解决方案】,系统就会在指定项目位置下生成一个Install.msi、Setup.Exe等安装文件,如图14.7所示。(10)在该目录下单击Setup.Exe,就可以运行刚才制作的安装程序,如图14.8所示。(11)单击【下一步】按钮,进入【选择安装文件夹】对话框,如图14.9所示。(12)单击【下一步】按钮,进入【确认安装】对话框,如图14.10所示(13)单击【下一步】按钮,系统开始安装,并显示安装进度,最后显示安装完成对话框。返回图14.1【新建项目】对话框返回图14.2安装向导的第1步返回图14.3选择项目类型返回图14.4选择项目包含的文件返回图14.5创建项目信息提示返回图14.6合并模块选择图返回图14.7项目生成图返回图14.8安装向导的欢迎页面返回图14.9【选择安装文件夹】对话框返回图14.10【确认安装】对话框返回14.3部署VisualStudio.NET中的部署项目在确定解决方案中的部署位置和方法方面提供了很强的灵活性。在部署解决方案的过程中,可能希望指定文件安装到目标计算机上的位置、添加的注册表键或者设置安装的特殊条件或要求,可能还希望自定义安装过程中显示的用户界面,或者希望运行代码以便在目标计算机上执行自定义操作。14.3.1使用文件系统编辑器14.3.2使用文件类型编辑器14.3.3注册表设置管理14.3.4用户界面管理14.3.5自定义操作管理14.3.6启动条件管理14.3.1使用文件系统编辑器使用【文件系统】编辑器可以在部署项目中添加项目输出、文件和其他项,并指定他们在目标计算机上的安装位置。返回14.3.2使用文件类型编辑器【文件类型】编辑器用于建立目标计算机上的文件关联,它通过将文件扩展名与应用程序相关联并指定每种文件类型所允许采取的操作来建立关联。在【文件类型】编辑器中选择任何文件类型或操作后,会显示所有相关属性,并且可在【属性】对话框中编辑这些属性。可通过拖动或使用【编辑】下拉菜单中的【剪切】和【粘贴】命令在节点间移动【文件类型】编辑器中的大部分项。返回14.3.3注册表设置管理【注册表】编辑器可以指定要添加到目标计算机注册表中的注册表键和值,如图14.13所示。图14.13【注册表】编辑器返回14.3.4用户界面管理【用户界面】编辑器可用于指定和设置在目标计算机上进行安装的过程中显示的预定义对话框的属性,如图14.14所示。图14.14用户界面编辑器返回14.3.5自定义操作管理【自定义操作】编辑器可以指定安装结束时在目标计算机上执行的附加操作,例如可能希望运行将服务器组件与特定消息队列相关联的程序。自定义操作必须编译为.DLL或.exe文件,或者作为脚本或程序集添加到某个项目中,才能添加到部署项目中。只能在安装结束时运行操作。该编辑器包含4个文件夹,分别与一个安装阶段相对应:安装、提交、回滚和卸载。自定义操作的运行顺序与其在编辑器中的显示顺序相同,可通过拖动或使用【编辑】下拉菜单中的【剪切】和【粘贴】命令将自定义操作重新排序。返回14.3.6启动条件管理【启动条件】编辑器可用于指定要成功运行安装必须满足的条件,例如可能希望检查特定版本的操作系统。即如果用户尝试在不满足该条件的系统上安装,那么安装不会发生。可在目标计算机上执行搜索,以确定是否存在特定文件、注册表键或MicrosoftWindows安装程序组件。预定义启动条件允许在单个步骤中同时添加搜索和启动条件,各搜索和启动条件的属性在【属性】窗口中设置。搜索的Property属性自动在启动条件的Condition属性中被引用。搜索和条件计算在安装开始时执行,而且其执行顺序与其在【启动条件】编辑器中的显示顺序相同。返回14.4上机指导在本次上机指导中,将针对前面几节中的内容进行实际上机练习。其主要内容是:制作软件的安装程序。14.4.1创建一个安装和部署的项目14.4.2配置安装项目