C#与.NET程序员面试宝典 2.3.4 面试题19:简述C#中ClickOnce部署(图)
Windows Installer部署的缺点是每次应用程序更新,用户都必须重新安装整个应用程序,在很多情况下会给用户带来许多麻烦。本小节通过回答ClickOnce 部署这个问题,向读者介绍另外一种自动更新的部署方式。
【出现频率】★★★★★
【关键考点】
ClickOnce
ClickOnce的特点
ClickOnce应用程序的发布
【考题分析】
ClickOnce是一种部署技术,该技术是通过最低程度的用户交互来安装和运行的、自动更新的、基于Windows的应用程序。ClickOnce提供了多种部署方式,它可以将部署在ASP.NET上的一个Web站点发布。ClickOnce主要有以下2个特点:
(1)无需干预
ClickOnce的部署过程无需干预。ClickOnce部署将应用程序放置在下载缓存中,这不会对本地机器的性能产生多少影响。正是出于安全方面的考虑,在下载缓存执行的应用程序只有有限的安全特权。
(2)自动升级
对于需要经常升级的应用程序,ClickOnce应用程序的自动升级特点是尤其有用的。在Windows Installer技术模式下,部署一个需要经常升级的应用程序是耗时繁琐的过程。ClickOnce应用程序只需要一次部署,即可以自动联机升级。
注意:客户端机器必须支持.NET Framework,在该部署中桌面电脑是受控的。ClickOnce应用程序可以用传统方式来部署,但是自动升级需要在线连接。
在Visual Studio中的ClickOnce部署是自动进行的,这包括清单文件和Web服务器配置文件的创建。开发人员可以使用“发布向导”来为ClickOnce部署安装一个应用程序。在项目MyClickOnceApp右键菜单→属性→发布,如图2.9所示:
图2.9 部署安装应用程序
可以依据项目需要修改相应的版本、发布网站的地址以及更新条件等,运行“发布向导”。在图2.9中,“指定发布此应用程序的位置”可以选择磁盘路径、文件共享、FTP服务器、网站这4种发布方式,笔者选择网站的形式发布。图2.10、图2.11、图2.12展示了发布向导的3个步骤。这样,ClickOnce应用程序完成了它的发布。用户通过访问的Web站点的publish.htm(此为默认配置,也可以自行修改)页面就可以安装相应的程序。
图2.10 指定发布应用程序的位置
图2.11 选择是否联机使用
图2.12 发布准备就绪
【答案】
ClickOnce是一种部署技术,使用该技术可创建自行更新的基于Windows的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。通过Visual Studio的发布向导,程序员可以快速创建ClickOnce应用程序。