C# Winform打包和部署

来源:互联网 发布:嘉兴软件开发 编辑:程序博客网 时间:2024/04/27 17:07
我们经常会遇到这样的问题:自己开发好了一个 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-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  软件安装后的程序运行部分