ClickOnce发布Windows应用程序_第1页
ClickOnce发布Windows应用程序_第2页
ClickOnce发布Windows应用程序_第3页
ClickOnce发布Windows应用程序_第4页
ClickOnce发布Windows应用程序_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用ClickOne发布Windows应用程序TOC o 1-5 h z HYPERLINK l bookmark2 前言2 HYPERLINK l bookmark4 ClickOnce简介2 HYPERLINK l bookmark6 使用ClickOnce的好处2 HYPERLINK l bookmark8 图解发布过程2 HYPERLINK l bookmark10 ClickOnce高级选项4 HYPERLINK l bookmark12 应用程序文件4 HYPERLINK l bookmark14 系统必备5 HYPERLINK l bookmark16 更新6 HYPERLINK

2、 l bookmark18 选项7 HYPERLINK l bookmark20 选择ClickOnce更新策略7 HYPERLINK l bookmark22 服务器部署8 HYPERLINK l bookmark24 客户端部署9 HYPERLINK l bookmark26 为不同应用客户生成发布包10 HYPERLINK l bookmark28 准备工作10 HYPERLINK l bookmark30 生成应用程序清单11 HYPERLINK l bookmark32 生成部署清单11 HYPERLINK l bookmark34 注意事项12 HYPERLINK l bookma

3、rk36 解决方案各项目设置12 HYPERLINK l bookmark38 当存在输出文件13 HYPERLINK l bookmark40 DLL版本问题13 HYPERLINK l bookmark42 提示网络错误13前言简单介绍如何使用ClickOnce发布Windows应用程序。开发者一般按以下步骤操作即可达到发布的目的。此文只介绍最简单的使用。更高级的使用目前正在学习,希望可以尽快完善此文档。更详细请参看微软在线MSDN,上面的介绍很详细,有时间将整理加入到此文档。ClickOnce简介ClickOnce部署使您可以将基于Windows的应用程序发布到Web服务器或网络文件共享

4、以简化安装。VisualStudio对通过ClickOnce部署的应用程序的发布和更新提供完全支持ClickOnce部署可用于使用VisualBasic、VisualC#和VisualJ#创建的项目,但不能用于使用VisualC+创建的项目。使用ClickOnce的好处使用ClickOnce发布Windows应用程序可以使用户方便地更新应用程序,可以起到B/S的效果,当程序更新了不必每一个用户重新安装更新。程序发布者只需要把新版本放到服务器,程序使用者在启动软件或退出软件时即可更新软件(更详细参看图解发布过程)。当然,要使安装过程更可视化、在安装过程加入更多操作则应该自己制作安装程序。图解发布

5、过程首先,选择要发布的项目,右点击选择“属性”,然后选择“发布”选项页,如下图所示:要发布软件,首先弄明白好以下几项发布位置也就是程序发布生成的文件存放在哪里。这些路径可以是URL、共享文件夹、本机绝对路径。安装URL也就是当用用户需要安装此软件时应该访问的路径,将在这里下载文件进行安装。这里路径必须是URL。此路径一般为服务器的IIS站点路径。例如你发布的程序存放在本机IIS站点http:/loca山ost:8000/AnthorTest/。但发布后的程序要放到客户的服务器里,如果客户的服务器的IIS站点在局域网里的路径为 HYPERLINK 74:8012/Setup 74:8012/Se

6、tup。则安装URL应该输入这路径。当客户需要安装软件时,只需要访问此路径,点击“安装”后即会有安装的过程提示。更新位置即客户使用软件时,当软件启动或退出软件时将访问的路径。当软件访问此路径时,将检测是否有新的版本,如有则提示是否安装更新。这个路径应该是客户服务器IIS站点,程序发布后的文件将复制到此站点的所在目录里(如果此路径与发布路径不同)。当此路径与发布路径不同,点击“更新”按钮将出现如下界面,然后填入相应路径即可。安装模式和设置一般选择“可以脱机使用”。否则必须与“更新路径”所在机器连通才能使用软件ClickOnce高级选项下面简要解释各选项应用程序文件这里罗列了发布程序时,将包括(发

7、布)的文件。注意:VS的此功能并不十分完善,如果程序引用了OFFICE组件,它会把stdole.dll、Office.dll以及Microsoft.Vbe.Interop.dll作为系统必备,当在客户机安装时就有可能出现的版本不同的错误(因为安装的office版本不同,而这一般不影响程序使用),此时,你应该把这些DLL的“发布状态”更改为“包括”,这样就不会出再错误。系统必备主要选择软件在安装时将自动安装的组件。开发者可以根到的组件进行选择。例如使用了水晶报表,则应该把“水晶报表查看器”组件选上。还有需要注意的是,为了使用客户安装软件时更方便,一般选择“从与我的应用程序相同的位置下载系统必备组

8、件”。这样,安装程序的相同路径下将包括这些组件。当客户安装软件时,如果计算没有必备的组件,将从这些路径下载组件进行安装。更新这里是程序的更新选项。开发者可根据需要选择。选项在这里可以设置一些高级的选项或输入一些高级信息。如选择“发布语言”等。发布路径有可能选择在本机,而服务器部署并不一定在本机,例如在开发者的机器发布,而需要把文件拷贝到客户的服务器进行部署,这要求“发布路径”与“安装路径”、“更新路径”不同外,最好此时把“验证上载到Web服务器的文件”这项的选定取消,因为“安装路径”和“更新路径”很有可能不存在,如果取消此项的选定,会大大加快发布速度。同时,也可以把“部署网页”改成不是“pub

9、lish.html”。这也可以在一定程序度上防此别人恶意访问网站。选择ClickOnce更新策略设计ClickOnce应用程序时,需要确定应用程序将使用何种策略来检查可用的更新。有三种基本策略可以使用:在应用程序启动时检查更新、在应用程序启动后检查更新(在后台线程中运行)或是提供进行更新的用户界面。此外,还可以确定应用程序检查更新的时间间隔,并且可以强制必须执行更新。服务器部署按照“安装路径”把发布的文件拷贝到相应的机器的相应IIS站点下即可。例如“安装路径”为 HYPERLINK 47/DorichTourSetup,%e5%88%99%e6%8a%8a%e6%96%87%e4%bb%b6%

10、e6%8b%b7%e8%b4%9d%e5%88%b0%e6%ad%a4%e6%9c%ba%e5%99%a8%e4%b8%8b%e9%bb%98%e8%ae%a4%e7%bd%91%e7%ab%99%ef%bc%88%e7%ab%af%e5%8f%a3%e4%b8%ba80%ef%bc%89%e4%b8%8b%e7%9a%84%e8%99%9a%e6%8b%9f 47/DorichTourSetup,则把文件拷贝到此机器下默认网站(端口为80)下的虚拟路径“DorichTour”。特别要注意,此“虚拟目录”的“文档”选项的文档为“publish.htm”。这样才能使需要安装程序的客户顺利进入安装

11、界面。下面几幅图为此“虚拟路径”的几个配置截图,部署人员可参考:配置“文档”为publish.htm配置目录安全性“目录安全性”下的身份验证应设置为“允许匿名访问”注意:如果“更新路径”和“安装路径”不同,则在“更新路径”所在的机器要作同样的配置。这两个路径一般相同,如有不同开发人员将与部署人员协商一致。客户端部署服务器部署完后,需要安装程序的客户只需要访问“安装路径”的站点,即出现如下界面,点击“安装”按钮即有相应提示:注意,安装的整个过程为自动安装,安装后的文件存放的路径一般位于C:DocumentsandSettingsAdministratorLocalSettingsApps2.0H

12、7V6QMR5.4DGQY7X63PH.TLV下的相应路径,其中“Administrator为安装程序系统的登陆者,如果以上路径不存在,就找到路径C:DocumentsandSettingsAdministratorLocalSettingsApps2.0然后寻找相应的路径。当然有一个办法肯定可以找到所在路径:在C:DocumentsandSettings路径下搜索相应的文件,例如安装后在“开始一“程序那出现“DorichTour,则你可以在此路径下搜索“DorichTour.exe即可以搜索到相应的文件,从而知道路径所在。为不同应用客户生成发布包当为不同客户生成发布包时,可以按上述步骤重新生

13、成一仆发布包。但缺点是很明显的:有可能客户很多;可能软件完成后开发环境不一定完整保存,而按上述步骤重新需要完整的开发环境;不同客户使用的应用程序相同,所不同其实就只是安装路径。所以,最好能利用现有的发布包为不同的客户生成发布包。下面介绍如何在不重新生成应用程序的情况下利用现有的发布包为不同用户生成发布包。可参考MSDN的“手动部署ClicokOnce应用程序。但对于ClickOnce发布不熟悉者一般不赞成完全使用手动发布。应该使用上上述步骤生成发布包后再按下面的介绍为不同用户生成不同的用户发布包。准备工作确定部署的类型如果部署类型需要在使用CD自动运行安装,必然包括Setup.exe文件,并且

14、此文件包括了一些部署信息,无法修改。所以此时则必须为不同的用户重新生成新的发布包。如果不是使用CD自动运行安装,可以在现有发布包的基础上为不同客户生成不同的发布包。请继续往下看。处理Setup文件如果不是采用CD自动运行安装的形式。可以不包括此Setup.exe文件。可以把它删除。处理publish.htm文件Public.htm文件的“安装按钮默认链接到Setup.exe文件。请修改为连接到“部署清单文件。如:把HREF=setup.exe修改为HREF=ClickOnceExample.application同时,因为使用VS2005IDE生成ClickOnce部署包时会默认更新publi

15、sh.htm文件,其实此文件可以不重新生成,除非只有一个客户。当需要为publish.htm文件加入相应的内容更更新相应的内容,可以修改publish.htm的源文件。为了保持publish.html文件不变,请在“选项处取消“每次发布后都自动生成部署网页(G)”选项。生成应用程序清单应用程序清单一般位于版本文件。命名格式为:全称.exe.manifest。此文件存储了此应用程序部署时应该包括的文件。如果没有发布包里的文件(此版本文件夹里的全部文件)作修改,则不需要对应用程序清单进行处理。如果对发布包的的任何文件作了修改,如修改了应用程序配置文件里的内容。则需要重新生成新的应用清单。此时,用工

16、具mageui.exe(此工具为.netsdk2.0自带,同时在项目ClickOnceExample”项目下的“工具”文件夹里有保存)打开相应的应用程序清单,然后“保存”。保存时会要求签名,开发者可选择相应的证书文件,一般选择应用程序第一次发布时生成的证书文件(使用VS2005IDE发布ClickOnce应用程序时,会自动生成一个证书文件)。同时需要说明一下的是,发布包的文件默认使用deloy作为文件的后缀,主要是防止用户修改而造成必须重新生成应用程序清单。而有时为不同客户生成发布包需要修改相应的文件,所以可以在“选项”处取消“使用deloy文件扩展名”选项。生成部署清单为不同客户生成不同的发

17、布包,关键是部署清单,它决定了安装时从何处安装。这个文件必须重新生成。使用工具mageui.exe打开相应的部署清单,修改相应的选项,其中需要修改一般为以下选项StartLocation和ApplicationReference。其中StartLoation指明了安装时指向的部署清单,应该为站点的元整路径+部署清单名,女如http:/192.168.L75/ClickOnceExample/ClickOnceExample.application;ApplicationReference指明了所指向的应用程序清单,应该选择相应版本文件夹里应用程序清单。然后保存。保存时要求签名,此时切记使用刚才

18、应用程序清单签名时相同的证书文件。部署清单的编辑如下图。部署清单编辑元成后,原来的发布包即为新的客户的发布包,直接把此发布包部署即可。注意事项解决方案各项目设置ClieckOnce主要是把Windows应用程序发布。当解决方案存在多个Windows应用程序时,将会使用发布过程变得很复杂、麻烦。通常会失败(目前我没有尝试发布多个Windows应用程序的解决方案)。所以,一般解决方案只包含一个Windows应用程序(通常为启动项目),其它项目均应该为类库项目。这样,发布过程将如上面介绍的那样简单、顺利。当存在输出文件例如项目中存在WORD文档或EXCEL文档,并且此文档输出到一定的路径。这就在一般的项目只需要在文档的属性窗口中的“复制到输出项目”选项选择“如果较新则复制”或“始终复制”。如果使用ClickOnce发布Windows应用程序,还要在“生成操作”选项中选择“内容”。如此才能使用文档在发布时一起发布,否则无法发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论