C#之二十二 WIN应用程序的安装部署

简介: C#之二十二 WIN应用程序的安装部署

视频课堂https://edu.csdn.net/course/play/7621

C#程序设计及宿舍管理系统实战

https://edu.csdn.net/course/detail/27107

.NET应用程序的部署

 

很多软件在使用时都需要经过安装才能够使用。安装程序就是一个被打包的应用程序。你可以将应用程序打包成易于部署的形式,然后再安装到目标系统或服务其上。部署是将应用程序安装到另一台机器上的过程,一般通过执行安装程序来完成。

部署应用程序时,你可以使用以下策略:

⊙ XCOPY部署

⊙使用VS创建部署

XCOPY部署

 

XCOPY部署是因MS-DOSXCOPY命令而得名。XCOPY命令用于将某个目录及其子目录中的文件拷贝到需要运行的应用程序的目标计算机。

XCOPY部署的局限性:

★    要求具备所有文件,而这些文件必须位于应用程序所在的目录中,以便在运行时使用。

★    目标计算机必须安装.NETFramework。

★   不能用于部署需要使用数据库或共享组件的应用程序。需要在其上安装程序的客户计算机,必须安装有数据库和共享组件。

使用VS创建部署

首先我们简单了解一下安装的步骤:

1、创建部署工程,其方法与创建窗体的方法略有相同,只是我们需要的是在项目类型中选择其他项目-à安装和部署,如下图:

 

 

2.我们需要添加安装的应用程序,如下图:

 

 

 

3、我们要创建快捷方式

 

 

1、测试生成

Net应用程序编译器

.Net应用程序编译器也叫文件系统编译器

,它与于向部署工程中添加输出项,如.exe和.dll文件,以及readme.tex等附加文件。该编译器也用于在目标计算机上指定文件夹,用来存放输出文件和附加文件。


怎样打开文件系统编译器呢?有两种方法:


①          我们在部署工程项目的菜单栏中选择视图-à编译器-à文件系统;


②          在解决方案资源管理器窗口中单击文件系统编译器按钮。


部署工程中的文件系统编译器如下图所示:




文件夹操作



使用文件系统编译器的好处是我们可以在部署工程中添加子文件夹、特殊文件夹或自定义文件夹。特殊文件夹指一些预定义的Windows文件夹,如果把这些文件夹作为目标计算机上的目标文件夹,就无需为文件夹指定具体路径。



文件系统编译器的应用



使用文件系统编译器我们可以实现以下操作:


①          添加特殊文件夹


②          添加自定义文件夹


③          添加子文件夹


④          删除文件夹


⑤          添加或移除工程输出


⑥          添加或移除文件


⑦          添加或移除快捷方式

注册表编译器

当我们安装应用程序时,我们需要在计算机的注册表中添加注册表键和值。


那么怎样打开注册表编译器呢?很简单,我们只需在部署工程中选择视图-à编译器-à注册表,或者我们也可单击在解决方案资源管理器窗口中单击文件系统编译器按钮。下图就是注册表编译器视图:




注册表编译器是以层级的方式,显示了目标计算机上的注册表。它与Windows注册表编译器的布局类似,由导航窗格和详细信息窗格组成。



注册表编译器的应用



应用注册表编译器,我们可以实现以下操作:


①         添加或删除注册表键


②         添加或删除注册表键的值


③         将现有的注册表文件导入注册表编译器


 

文件类型编译器

 

文件类型编译器用于指定计算机上的文件类型和文件关联关系。如:假设有个工作表(扩展名为.xls),Windows将可执行的文件与文件类型关联起来,因此双击扩展名为.xls的文件后,系统将启动.exe文件。


怎样打开文件类型编译器呢?我们只要在部署工程中选择视图-à编译器-à文件类型。



文件类型编译器的应用



应用文件类型编译器,我们可以实现以下操作:


①         添加或移除文件类型


②         添加或移除操作项


     

用户界面编译器

 

我们在创建部署工程时,除了系统自动生成的一些对话框外,我们也可以添加自定义对话框。我们可以通过在部署工程中选择视图-à-编译器à用户界面,来打开用户界面编译器。用户界面编译器如下图所示:




用户界面编译器中显示的对话框共有以下类型:


①          Start对话框:在安装过程开始前显示;


②          Progress对话框:用于根据已经完成的比例,以可视的方式向用户描述安装过程的进展情况;


③          End对话框:在安装过程结束后显示,用于告知用户安装过程是否成功。



用户界面编译器的应用



通过用户界面编译器,我们可以实现以下操作:


①         添加或删除对话框


②         自定义安装对话框

自定义操作编译器

 

在安装过程中或安装完成后,我们可以应用Installer执行一些附加的自定义操作。需要执行的自定义操作必须被编译为.dll或.exe文件,并通过文件系统编译器添加到部署工程中。选择部署工程中的视图-à-编译器à自定义操作,来打开自定义操作编译器。部署工程中的自定义操作编译器如下图所示:




自定义操作编译器由四部分组成,即安装、提交、回滚和卸载。每个部分代表安装过程中的一个阶段,并确定了自定义操作的执行顺序。



自定义操作编译器的应用



应用自定义操作编译器,我们可以实现以下操作:


①    添加自定义操作项


②    删除自定义操作项

启动条件编译器

 

应用程序能否运行可能取决于多种因素,如文件是否完备、目标计算机的操作系统版本,以及注册表键。因此,要想运行应用程序,我们必须确保自己的计算机上安装了合适的操作系统版本。怎样打开启动条件编译器呢?和其它编译器一样,我们选择视图-à-编译器à启动条件,即可打开启动条件编译器。启动条件编译器如下图所示:




通过启动条件编译器,我们可以添加启动条件:


①     文件启动条件:检测我们的计算机上是否存在某个文件。如不存在,安装过程将发生回滚;


②     注册表启动条件:检测我们的计算机上是否存在某个注册表项;


③     Windows Installer启动条件:检测我们的计算机上是否存在WindowsInstaller组件;


④     .Net Framework 启动条件:检测我们的计算机上是否安装了.NET运行时文件;


⑤     互联网信息服务(IIS)启动条件:检测我们的计算机上是否安装了IIS。


 


启动条件编译器的应用



应用启动条件编译器,我们可以实现以下操作:


①     添加文件启动条件


②     添加注册表启动条件


③     添加Windows Installer启动条件


④     添加.Net Framework 启动条件


⑤     添加IIS启动条件

————————————————

版权声明:本文为CSDN博主「云和数据.张晨光」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

小结

在本章中,我们主要学习了:

u          常用的两种部署策略:·XCOPY部署

·安装和部署工程

u          使用VS创建部署

u          在部署工程中的各种编译器

·文件系统编译器

·注册表编译器

·文件类型编译器

·用户界面编译器

·自定义操作编译器

·启动条件编译器

实践项目

 

对QQ应用程序进行打包安装

 

目录
相关文章
|
1月前
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
57 3
|
1月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
38 3
|
1月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
62 1
|
1月前
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
18 0
|
6月前
|
C#
C#||应用框体设计计算器
C#||应用框体设计计算器
|
3月前
|
设计模式 开发框架 前端开发
MVC 模式在 C# 中的应用
MVC(Model-View-Controller)模式是广泛应用于Web应用程序开发的设计模式,将应用分为模型(存储数据及逻辑)、视图(展示数据给用户)和控制器(处理用户输入并控制模型与视图交互)三部分,有助于管理复杂应用并提高代码可读性和维护性。在C#中,ASP.NET MVC框架常用于构建基于MVC模式的Web应用,通过定义模型、控制器和视图,实现结构清晰且易维护的应用程序。
65 2
|
3月前
|
编译器 C# Android开发
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
369 8
|
2月前
|
消息中间件 网络协议 安全
C# 一分钟浅谈:WebSocket 协议应用
【10月更文挑战第6天】在过去的一年中,我参与了一个基于 WebSocket 的实时通信系统项目,该项目不仅提升了工作效率,还改善了用户体验。本文将分享在 C# 中应用 WebSocket 协议的经验和心得,包括基础概念、C# 实现示例、常见问题及解决方案等内容,希望能为广大开发者提供参考。
163 0
|
3月前
|
存储 C# 开发者
枚举与结构体的应用:C#中的数据组织艺术
在C#编程中,枚举(`enum`)和结构体(`struct`)是非常重要的数据类型。枚举用于定义命名常量集合,提高代码可读性;结构体则封装相关数据字段,适合小型数据集。本文从基本概念入手,探讨它们的使用技巧、常见问题及解决方案,帮助开发者更好地利用这些特性构建健壮的应用程序。
53 8
|
2月前
|
Web App开发 网络协议 API
基于C#编写一个远程桌面应用
基于C#编写一个远程桌面应用
71 0