图解C#安装包制作相关步骤

开发 后端
你也许正在为发布自己开发的应用程序和组件犯难,因为按照传统的方法,需要写一些复杂的安装脚本。本文的目的就是帮助.NET程序员熟悉使用非常简单方便的工具来进行C#安装包制作而无须编写安装脚本。

Windows Installer的特性

◆和传统的基于脚本的安装工具对比,它基于一个数据驱动的模型,在单个包内提供所有的安装数据和指令

◆它支持自修复功能--程序可以自动重新安装

◆它提供安装时回退到某一步骤的功能

创建发布工程

Visual Studio.NET里提供了四种类型发布工程的模板:

◆安装工程:为基于windows的应用程序建立安装包

◆合并模块工程(.msm):可以被多个程序共享的包组件

◆Web安装工程:为一个web应用程序建立安装包

◆Cab工程(.cab):创建cab文件

与此同时,安装向导也提供了伴随创建发布工程的过程中的帮助步骤:

◆对于一个安装工程,将把需要安装的文件发布到目标计算机的一个程序目录下

◆对于一个Web安装工程,将把需要安装的文件发布到Web服务器的一个虚拟目录下

注意:如果你创建了一个标准发布工程,后来打算发布它到Web上,你必须重新创建一个新工程。

五步制作程序安装包

C#安装包制作***步:打开VS IDE,选择File->New->Setup and Deployment Projects. 选择Setup Wizard。给出存储工程的文件名和存放目录。如图1所示。

Setup

图1 Setup Wizard

C#安装包制作第二步:这里将会显示安装工程向导的对话框的欢迎界面。这是一个简单的四步向导,点击Next,第二步将会询问安装的类型,请选择合适的回答,这里我选择windows应用程序的安装,点击Next。

选择windows应用程序

图2 选择windows应用程序的安装

C#安装包制作第三步:这里向导将会让你添加开发的程序或者组件,以及其他一些所需要的文件,如文档文件等。

添加开发的程序

图3 添加开发的程序或者组件

添加开发的程序

图4 添加开发的程序或者组件


***,你会看到如图5所示的内容:

应用程序文件夹

图5 应用程序文件夹是你的程序和支持文件的安装文件夹

这里,应用程序文件夹是你的程序和支持文件的安装文件夹,而用户的桌面和程序菜单分别是目标系统的桌面和程序菜单。

C#安装包制作第四步:

你可以在制作过程中选择使用如下的编辑器:

文件系统编辑器:可以增加工程的输出,文件和其他一些项到发布工程中,并且指定它们在目标计算机上的安装位置。

注册表设置管理编辑器:可以指定需要加入到目标计算机的注册表中的一些键值。

文件类型管理编辑器:建立目标计算机上的文件关联。

定制处理管理编辑器:可以指定在安装后执行的一些处理(如重启)等。

启动条件管理编辑器:可以为成功完成一次安装指定必须满足的一些条件。

用户界面管理编辑器:你可以用它来设置安装过程中显示的一些预定义的对话框,图7显示了增加一个用户许可证协议和序列号对话框的例子。

设置安装过程中显示的一些预定义

图6 设置安装过程中显示的一些预定义的对话框

设置安装过程

图7 设置安装过程中显示的一些预定义的对话框

C#安装包制作结束语

如果你还在使用传统的安装脚本程序的话,来试试使用Windows Installer吧。如果你购买了正版的Visual Studio.NET,那么它本身就附带提供了Windows Installer。现在是你熟悉和使用它的时候了。

【编辑推荐】

  1. 浅析C#转义字符双引号的实现方法
  2. C#进度条的使用及开发浅析
  3. C#进度条使用之多线程应用浅析
  4. C#进度条实现之异步实例浅析
  5. C#进度条实现实例
责任编辑:彭凡 来源: 天极
相关推荐

2009-08-10 17:50:05

ASP.NET安装包制

2011-07-27 11:09:07

iPhone PXL

2011-07-20 16:03:48

iPhone PXL 安装包

2009-08-10 18:04:39

ASP.NET安装包制

2011-08-05 09:33:30

Func局部变量作用域

2009-08-25 16:32:24

C#语言

2020-12-03 08:39:54

Qt程序

2009-08-13 09:32:00

C#读取TXT文件

2019-07-11 09:45:48

Debian 10安装Linux

2022-08-08 19:15:00

Linux

2009-08-06 17:31:46

C#制作屏幕保护

2015-10-15 15:11:21

安装包UbuntuLinux

2009-08-28 10:22:47

C# DLLImpor

2009-08-05 18:39:54

C#异常类

2009-08-21 08:41:44

C#反射

2009-08-25 17:13:57

C#串口编程

2010-02-23 17:47:27

Fedora RPM

2009-08-13 17:15:44

C#屏幕保护程序

2010-01-11 10:23:14

linuxrpm包

2009-08-28 15:07:31

C#线程
点赞
收藏

51CTO技术栈公众号