我们经常会遇到这样的问题:自己开发好了一个Winform系统,如何使之可以平稳的运行在没有安装.NET Framework 的操作系统上?这就涉及到打包和部署的内容,通过打包和部署形成安装程序,实现WinForm应用软件正常的安装在客户的操作系统上。另一方面同时需要考虑通过打包和部署形成卸载程序,将该应用软件卸载掉,达到方便客户使用的目的。
本章重点介绍Winform系统打包和部署的概念,通过实例介绍如何进行打包和部署的方法。
u
本章的学习目标:
n
了解打包和部署的概念
n
掌握简单打包和部署的方法
n
掌握复杂打包和部署的方法
8-1 Winform打包和部署介绍
本节学习目标:
n
了解Winform打包模式
n
了解部署项目应遵循的基本步骤
8-1-1
简介
1.打包模式
为应用程序打包有很多种方法,其中包括:
n
安装程序文件(使用 Microsoft Windows 安装程序)
n
CAB 文件项目
n
合并模块
要将合并模块添加至部署项目,请执行以下步骤:在“解决方案资源管理器”中选择部署项目。单击“项目”→“添加”→“合并模块”。使用“添加模块”对话框选择要添加的合并模块。
2.部署应用程序
可以使用下列其中一种方式部署 Winform 应用程序 :
n
运行安装程序
n
使用 Internet 下载并部署 CAB 程序包
n
使用 XCOPY 将文件复制到目标文件夹中
n
使用系统管理服务器将应用程序部署到几台目标计算机上
8-1-2
创建部署项目
1.新建部署项目应遵循如下步骤:
(1).打开现有或新的 WindForms 应用程序
(2).单击“文件”→“新建”→“项目”,打开“新建项目”对话框
(3).从“项目类型”列表中选择“安装和部署项目”文件夹(如图8-1)
(4).在对话框右边的“模板”列表中选择所需的部署项目类型
不同的类型有:
n
安装项目
n
Web 安装项目
n
合并模块项目
n
安装向导
n
Cab 项目
图
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
-4A
74CE
60F
383},如图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 软件安装后的程序运行部分
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/231848,如需转载请自行联系原作者