我们经常会遇到这样的问题:自己开发好了一个Winform系统,如何使之可以平稳的运行在没有安装.NET Framework 的操作系统上?这就涉及到打包和部署的内容,通过打包和部署形成安装程序,实现WinForm应用软件正常的安装在客户的操作系统上。另一方面同时需要考虑通过打包和部署形成卸载程序,将该应用软件卸载掉,达到方便客户使用的目的。
本章重点介绍Winform系统打包和部署的概念,通过实例介绍如何进行打包和部署的方法。
u本章的学习目标:
n了解打包和部署的概念
n掌握简单打包和部署的方法
n掌握复杂打包和部署的方法

8-1           Winform打包和部署介绍

本节学习目标:
n了解Winform打包模式
n了解部署项目应遵循的基本步骤

8-1-1 简介

1.打包模式

为应用程序打包有很多种方法,其中包括:
n安装程序文件(使用 Microsoft Windows 安装程序)
nCAB 文件项目
n合并模块
要将合并模块添加至部署项目,请执行以下步骤:在解决方案资源管理器中选择部署项目。单击项目添加合并模块。使用添加模块对话框选择要添加的合并模块。

 2.部署应用程序

  可以使用下列其中一种方式部署 Winform 应用程序
n运行安装程序
n使用 Internet 下载并部署 CAB 程序包
n使用 XCOPY 将文件复制到目标文件夹中
n使用系统管理服务器将应用程序部署到几台目标计算机上

8-1-2 创建部署项目

1.新建部署项目应遵循如下步骤:

(1).打开现有或新的 WindForms 应用程序
(2).单击文件新建项目,打开新建项目对话框
(3).项目类型列表中选择安装和部署项目文件夹(如图8-1
(4).在对话框右边的模板列表中选择所需的部署项目类型
    不同的类型有:
n安装项目
nWeb 安装项目
n合并模块项目
n安装向导
nCab 项目
8-1  新建项目举例

2.可用于 Winform 应用程序的模板的说明

项目类型
 
安装项目
用于为 Winform 应用程序创建安装程序
Web 安装项目
Visual Studio.NET 还支持在 Web 服务器上部署。使用此方法在 Web 服务器上安装文件将自动处理与注册和配置相关的问题
合并模块项目
可以由多个应用程序共享的程序包和组件。例如,如果应用程序有五个实用程序文件,则可以将它们打包到一个合并模块项目中,然后合并到任何应用程序中
安装向导
它是一个向导,指导用户快速完成创建安装程序的步骤。可以自定义安装向导,以便在安装期间添加更多文件或练习更多控件
Cab 项目
生成用于下载到 Web 浏览器的 Cab 文件
8-1 安装项目类型

8-2            简单的打包和部署

本节学习目标:
n配置应用程序文件夹
n配置应用程序菜单
n配置用户桌面快捷文件
n配置快捷文件图标
n配置卸载快捷文件的基本步骤
n生成安装卸载包文件
  在安装项目类型中,比较适合Winform 应用程序创建安装程序部署的是表8-1的第一项。下面,我们通过实例学习怎么进行简单的Winform 应用程序的打包和部署。

8-2-1 案例学习:Visual Studio2005环境下建立简单的打包和部署系统

1. 新建安装部署项目

打开Visual Studio2005,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。详见图8-2所示。
8-2  新建安装部署项目示意

2. 配置安装系统文件

在点击图8-2的确定后,将进入到安装系统文件的配置界面中,如图8-3所示。
8-3 安装系统文件的配置界面图
u实验步骤(1):
鼠标左键点击“应用程序文件夹”,在打开的右侧界面中单击鼠标右键,在弹出的快捷菜单中选择“添加”->“文件”,如图8-4所示。
8-4  创建可执行文件快捷方式示意图
u实验步骤(2):
在打开的文件选择界面中,添加某文件夹中具体的文件,这类文件主要包括两种:.EXE文件或者是.dll文件。一般而言,一个C# Winform应用程序在Visual Studio2005平台下开发的时候,会自动将这两种文件生成在你的Winform应用程序所在目录下的bin文件夹里面的Debug子文件夹下面,其中.EXE为可执行文件,而.dll文件的来源多是用户自定义编辑的类库文件,或者是第三方的动态链接库文件,如果你的项目之中存在上述两种情况,那么请你务必将这些文件一并作为打包文件放进来。我们以第二章应用软件为例进行打包,图8-5为最终找寻的.EXE文件或者是.dll文件所在之处。其实一个比较简单的办法就是,将你的Winform应用程序所在目录下的bin文件夹里面的Debug子文件夹下面的所有文件全部取来即可。这里有一点提醒读者的是:如果你的项目中有图片或者其他多媒体文件,请你也一并将之选中,放在文件里面。
8-5  选择动态链接库和可执行文件示意图
选择后的文件将出现在“应用程序文件夹”之中,如图8-6所示。
8-6  选择可执行文件和动态链接库文件后示意图
    鼠标右键单击应用程序文件夹,选择属性窗口,在弹出的属性窗口中将defaultlocation属性路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是“c:\programm file\你的用户名\安装解决方案称
8-7 删除属性[manufacturer]示意图
u实验步骤(3):
在图8-6基础上,于右侧栏目单击鼠标右键,添加“文件夹”,并为该文件夹取名为img,如图8-7所示。该img文件夹存储系统的所有图片文件,为启动和卸载文件分别增加快捷图像做前期准备,类型必须为.ICO文件(图标文件)
8-8  添加图片文件夹示意图
在点击左侧新建的img文件夹, 于右侧栏目单击鼠标右键,添加“文件”,从你的磁盘中选择两个.ICO文件(图标文件)放置其中即可。如图8-8所示。
8-9  添加ICO图片文件夹示意图
u实验步骤(4):
本步骤对于卸载软件系统至关重要,如果不添加将无法形成卸载你已经安装的文件。请你再次于右侧栏目单击鼠标右键,添加“文件”,请你在c:\windows\system32文件夹下找寻一个叫msiexec.exe的文件,并将之添加到应用程序文件夹下面。该文件将负责执行卸载你安装的软件。如图8-9所示。
8-10  添加卸载可执行文件示意图
u实验步骤(5):
本步骤将在应用程序文件中增加系统.Net FrameWork组件,如果不进行这一步,对于没有安装.Net FrameWork组件的操作系统,即便安装了您的应用软件,该系统也无法运行。
打开解决方案管理器,右击你的解决方案名称,选择属性:在打开的属性页中,选择系统必备。如图8-10,图8-11所示。
8-11  选择安装项目属性示意图
8-12  展开后的系统安装包配置示意图
在图8-11展开的系统必备内容中,将.Net FrameWork2.0组件包和Windows Installer2.0组件包一并选中。如图8-12所示。
8-13  .Net FrameWork2.0组件包和Windows Installer2.0组件包一并选中
u实验步骤(6):
截至步骤5,我们完成了对应用程序夹中全部文件的添加工作。本步骤将引导读者开始配置左侧导航条中的“用户的程序菜单”。该菜单将出现在操作系统“开始”栏目的“程序”里面。因此建议以文件夹形式出现,里面包含执行程序和卸载程序两个可执行文件的快捷方式文件。
鼠标左键点击“用户的程序菜单”,在右侧导航栏目中的空白处单击鼠标右键,添加文件夹,假设我们给这个文件夹取名“警匪争霸”。如图8-13所示。
8-14  “用户的程序菜单”中建立文件夹
在“警匪争霸”文件夹中单击鼠标右键,选择“创建新的快捷方式”。如图8-14所示。
8-15  创建新的快捷方式
在打开的创建新的快捷方式窗口中,选择“应用程序文件夹”中的可执行文件(.exe文件)。这两个文件分别是:WindowsApplication2.exe(项目可执行文件)和msiexec.exe(卸载软件项目可执行文件)如图8-15所示。
8-16  添加快捷方式文件
在“应用程序文件夹”中,名称不太适合安装包的命名。请你将这两个快捷方式分别更名为假设的“警匪争霸”和“卸载警匪争霸”,如图8-16所示。
8-17  为快捷方式文件重新命名
u实验步骤(7):
截至步骤6,我们完成了在开始栏目的程序中添加执行文件夹的任务。此次步骤我们将完成快捷方式文件的图标配置工作。
鼠标右键单击快捷文件“警匪争霸”,在弹出菜单中选择“属性窗口”,在属性窗口之中配置快捷文件“警匪争霸”的icon属性,选择浏览。如图8-17所示。
8-18  配置快捷文件“警匪争霸”的icon属性
在弹出的“图标”对话框中,点击浏览,寻找应用程序文件夹下面的img文件夹,选择其中的一个ico图标。如图8-18所示。对于“警匪争霸卸载”的快捷方式图标的配置也是一样。
8-19  选择图标文件
u实验步骤(8):
此次步骤我们将完成对卸载文件注册表的配置工作。按照图8-19,将“解决方案资源管理器”和“属性”窗口进行排列,在“解决方案资源管理器”中单击此次项目,你会看到在“属性”窗口中出现名为productcode属性,该属性为项目操作系统注册表文件的注册编号,拷贝该编号。
8-20  查看此次安装包注册表编号
鼠标右键点击“卸载警匪争霸”快捷文件,弹出菜单选择属性窗口,将刚才拷贝的注册编号复制到Arguments属性之中,并进行如下修改:在“/x {ProductCode}”,以本次案例为准就是:/x {DC17056E-F331-449C-8409-4A74CE60F383},如图8-20所示。
8-20  配置卸载快捷方式Arguments属性
u实验步骤(9):
截至步骤8,我们已经完成了“用户程序菜单”的快捷文件配置工作,本次步骤我们将配置桌面快捷文件。用鼠标左键点击“用户桌面”,在右侧栏目中创建快捷方式,添加可执行文件,配置可执行文件快捷方式的图标属性。具体步骤与步骤8基本一致,如图8-21所示。
8-21  配置桌面快捷方式
u实验步骤(10):
最后,选择菜单“生成”,运行“生成解决方案”。如图8-21所示。
8-22  生成解决方案
在目标输出路径下可以看见输出的安装包文件,如图8-22所示。
8-23  生成安装包文件
运行setup.exe文件,既可以安装你的软件到任何的计算机中。图8-23的桌面快捷方式和开始栏目中的程序部分的运行文件。当然,你执行“卸载警匪争霸”,既可以完成对软件的卸载工作。效果图如图8-23和图8-24所示。
8-24  软件安装步骤
8-25  软件安装后的程序运行部分