Clickonce部署初体验_第1页
Clickonce部署初体验_第2页
Clickonce部署初体验_第3页
Clickonce部署初体验_第4页
Clickonce部署初体验_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

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

文档简介

1、我们经常要面对的是对开发模式的选择,比如C/S 模式和 b/s 模式。现在,很多人都似乎比较喜欢选择 B/S 模式进行 web 的开发,这其中的原因是很多的。但其中一点很重要的原因, 那就是因为 B/S 开发的话, 部署非常之容易, 因为这样很容易实现 "瘦客户端 " ,客户端只需要使 用浏览器就可以运行应用了。但 B/S 模式下开发的 WEB 应用,也有其不足之处,主要是由于功 能实现起来,是没办法和传统的 C/S 模式下的 winform 应用相比的,很多 winform 下要实现winform, 在部署的优秀功能,在 Web 上都很难实现,或者说有的根本没办法实现。但

2、传统的 上也有自己的困难之处,如果客户端多的话,每次部署和版本升级都十分麻烦。在.n et 2.0里,微软新推岀了一项叫click on ce( 次点击)的应用程序部署技术,可以很好 的解决上面的这个矛盾。在 VS2005 中已经整合了 clickonce 的技术,使到用户可以很方便地 部署 winform 开发的程序,很容易地管理其升级部署。clickonce 能带给我们什么本地的首先,通过 clickonce 技术,我们可以实现如下的部署方式:1) 在设计完 winform 程序后,可以选择将程序发布到如下的存贮位置:文件系统,Web 服务器, FTP 站点,远程 Web 站点。2) 当应

3、用程序部署到相应的位置后, 用户可以通过浏览器浏览一个叫 publish.htm 的文件,点击下载的链接,将应用程序下载到本机安装。这个publish.htm 是部署应用程序的一个入口文件。3)当用户安装完程序后,会自动产生快捷方式到桌面,并且在控制面版的增加删除中会找 到该程序。4)当用户启动程序时,系统可以首先去检查服务端是否有新的程序版本,如果有的话,则 会自动连接服务端, 查看是否有新的版本, 如果有新的版本的话, 则自动下载新的版本到本机并 安装,这对于 C/S 软件的升级维护来说是个“福音”。ClickOnce 应用程序具有如下优势:API 可使应1)更新是事务处理(即,要么完全执

4、行,要么根本不执行)。2)该应用程序不但可以脱机工作,而且还可以对其进行某种程度的控制;有一些用程序发现它是联机或脱机;它还可以控制其自身的更新过程;3)它可以与 Visual Studio .NET 进行良好的集成,包括能够生成合适的额外文件和工具,帮 助您找到运行应用程序所需的安全权限。4)它具有一个可下载必需组件(甚至.NET Framework 自身)的 Win32 “ bootstraper ”可 执行文件。5)可以按需要或以批处理方式下载应用程序文件; 6 )它可在 Start 菜单中添加快捷方式;一个简单的clickonee程序部署的例子声明:例子代码来自 嘻哈呵嘿 的C#版的端

5、口扫描器(PortScanner) 一文,在此感谢他允许我使用他的成果./扫描类class ScannerSstri ng m_host;int m_port;public Scanner( string host, int port)m_host = host; m_p ort = p ort;public void Scan。白由/我们直接使用比较高级的TepClient类TepClient tc =new TepClient();/设置超时时间tc.Se ndTimeout = tc.ReceiveTimeout = 2000;try/Co nsole.Write("Check

6、 ing port: 0", m_p ort);/尝试连接tc.C onn ect(m_host, m_po rt);if (tc.C onn ected)申申/如果连接上,证明此商品为开放状态Co nsole.WriteL in e(" Port 0 is Open", m_p ort.ToStri ngO. PadRight(6);Form1. openedP orts.Add(m _p ort);catch (System.Net.Sockets.SocketException e)/容错处理Co nsole.WriteLi ne(e.Message.ToS

7、tr in g();fin allytc.Close();p ublic Form1()Forml.sca nn edCou nt+;Form1.ru nnin gThreadCou nt-;p ublicp artial class Form1 : FormSS /已扫描端口数目 internal static int scannedCount = 0;/正在运行的线程数目 internal static int runningThreadCount = 0;/打开的端口数目internalstatic List< int > openedPorts = new List<

8、 int >();/起始扫描端口 static int start Port = 1;/结束端口号 static int endPort = 500;/最大工作线程数 static int maxThread = 100;In itializeCo mponen t();private void btnScan_Click( object sender, EventArgs e)/接收传入参数一作为要扫描的主机string host = this .txtHost.Text.Trim();/接收传入参数二作为端口扫描范围,如-4000string portRange = this .tx

9、tStart.Text+"-"+ this .txtEnd.Text;trystart Port =endP ort =int .Parse(portRange.Split('-')O.Trim();int .Parse(portRange.Split('-')1.Trim();catch (System.Exception ex)MessageBox.Show(ex.Message.ToStn ng();for (int port = start Port; p ort < endP ort; p ort+)/创建扫描类Scanner

10、 seanner =new Scanner(host, port);Thread thread =new Thread( new ThreadStart(scanner.Scan);thread.Name = p ort.ToStr in g();thread.lsBackgrou nd =true ;/启动扫描线程 thread.Start();runnin gThreadCou nt+;Thread.Slee p(10);/循环,直到某个线程工作完毕才启动另一新线程,也可以叫做推拉窗技术while (runningThreadCount >= maxThread);/空循环,直到所有

11、端口扫描完毕 while (sca nn edCou nt + 1 < (endPort - start Port);H.this .lbInfo.Text ="扫描结束!/输岀结果个端口打开着!n"result +=" 总共有"+ openedPorts.Count.ToStringO + "foreach (int p ort in openedP orts)result +=" 端口 "+ port.ToString().PadLeft(6) + "n"if (MessageBox.Show(

12、result,"扫描信息",MessageBoxButt on s.OK, MessageBoxIcon.ln formati on) = DialogResult.OK)this .lbInfo.Text =""当运行上面的程序,如下图所示:LU. | > 2L 十十怖5 C百曹M 55于 / - 共口口口加 确定 接下来,我们可以对其进行发布了。鼠标右击PortScanDemo工程,选其中的属性“菜单,如下图所示:F or <5culB eHD*F orm 1 . D e s i er. c s | Scriitaf. cs j Ferm

13、i, cs j F or ml . cs 丧计应用程序*生成生成爭件发布位置调试按对位置(阀站,FTF服务器菲玄件路径】(X):litttp: /10 c alh.0 51/ r or tS c aoiD em o/安装¥RL伽果与上a不同)® ;设置引用路径安裝損式和设畫O该应用程厚只能联机便弟W®谨应用程序也可以睨机使用冋以从“开蜡"菜单启动1通)应用程序文件(X)-签名安全性更新选顶代同分祈览布版本主要:内制版耶:):修订: iO0随每決最布自韵递増修订号CI)发布冋导 j "发布"选项卡的配置。 在最上面""

14、;按钮,进一步浏览确上图是项目的属性页,其中有许多选项。主要关注下其中的的"发布位置"选项框中,允许你指定将项目发布的位置。可以点旁边的定发布的位置,如下图:筍本地IISnr站直远祥站点本地 Internet Information Server 选挥要打齐的网站4Ue蔬岳瘪一I 逸默认翩站±1 INspent+ 5血皿FA CJi FriniersS 二I'±Wet Appli Cati oti2'+-Wi.rt<lcwsAjpli cati onl使用妄全査接字展on这里,我们可以设定项目要发布的位置,比如文件系统,本地服务器,

15、FTP站点,远程站点等。接着,我们在“安装模式和设置“选项组中,可以点选“系统必备“按钮,这里可以设置要运行该应用程序时,需要额外安装的库文件或其他必须的文件,如下图所示。默认必须安装的是.netframework 2.00创建用于空號就必备樂件的安装程序(W】肓选释要女装的汞筑必备组件世):I Microsoft Cita Access 匚o(hpftnents 2 3 回倉.HET Framework 2. 0O CrystiL Reports for HET Framtorfc 2. 0 HicrofioFt Visu J# HET Eedi stntu+atle Ptckg 2.D |

16、 <pHicrosoft Vi sual Stoli o SOOG 报表查看豁召Vi烈辽C+运行库6s36)检査量©ft以荻职更爹可再发和爼件抠定系统丈'备爼件的安寢位置©从组件供应商的网站上下载系斷必备组件仗O从与我的应用程序招同的位置下戟至垢必备竝件O从下列位置下戟累统龙备iS件(D:取消确矩同时,可以选择“安装模式和设置"选项卡中的“更新”选项,这个选项卡如下图所示:J®0应用梶序应该椅查更新G)选择应用程序何时应谨检直更新:C在应用程序启动后选誓此选项也殴痙用程序启动的速度-直劃下伙应用程序运行时才会安装 更撅念在®用程序

17、启动前0选播此读项以确保连接到网踏的用户总杲用量新的更新运厅卷卷目隔陆指定i强应用程序裔要罰摄低版本芒奈匹次 C內部版本也)確订徑:更新悅置如果与5討ff位置不同)妙其中,默认是采用启动应用程序时检查更新的选项的。当然,你也可以选择,是在应用程 序连接上网时自动检查是否有更新的版本,或者是选择当应用程序启动后,以后台进程的方式, 自动检查是否有新的版本。最后,选择"选项“选项卡,如下图,填入一些关于应用程序的信息。意布语肓飲认值)按行者£称兀):产品名臺S): 谣口扫歸支捋碗即: http;/phicie"s,切bX路 cflm/ 都署的眞址);piibli sh

18、. htm回每次发布后鄆e动生成制署网刃(&0发布后打开制署网页)阻止邇过URL激活应用程序(K)0使用“伽止y”文件扩展名允许给应用程序特递UEL卷数对于CD安装J插入CD时将自动启动安法程序©)验征上龛到Wet服务盟的文件匹)"发布向导“进行发布。最后,我们已经设置完毕,可以开始进行部署了。我们使用其中的 首先选定要发布的位置,如下图所示:冈要在何处发布应用程序?储可以将应用程序发和到网站,fTF服芻器或交件路徑中 示例:文件共享:FTP服务器:网近指走发桁此应程序的位g目): http f /localhost/FortScajiLem 0/C; deploy

19、myapplicationWwerver jnyppli cat i oiiftp:/ftp. micr OEoft. com/irya.piili citi on http:/svTTv.niLcrfls<>ft. com/myipplicationt一歩如1 芫陝取消 I点“下一步“后,岀现如下图,这里,可以选择你的应用是在离线或是可以同时运行在离线和在 线状下的。逊竺 ®是 > 该应用程序可以联机或脱机便用世)将內“开菜单添加快堤方式*应用程序可逋过“S力M删除程序卸P O否.懐应用程序只能联机使用血)不向-开始"菜单添加快理方式.应用程序合宜接从发

20、布位置运行V上一母迥下一歩血、I完 取消 当应用是可以在在线或者离线状态下都可以运行时,发布成功后,应用程序可以在桌面岀现快捷方式。当应用程序只能在在线状态下运行时,应用程序只能通过发布页面通过浏览器执行。IE浏览器,转到Publish最后再选"下一步”后,就成功完成了发布了,系统并自动打开 的页面。我们先来看下,在该应用程序发布到的目的目录下,我们会发现有如下图的文件。& P0rt anDea口文件Qj 輪辑圍 查看姿 严藏Qj rxn-1需助后il 诙A 搀索旺交件求囲”LNffVT ootFortSc aiJJ emo地址(E)C: Mn&tpubV详貂信且现在我们可以看到我们已经成功将(c'inetp ubwwwrootPortSca nDemo),部署窗口:打葵型修咬£i_o_o_o£D0&-*6 KEAfplisati v£i Mui.,.1_0_0_0S KBApplicati on H*n.ZDD6-*g KBHTML locumeiit£00&-<414 KE应用程序EOO&-<名称*PortSc afJlemoZjFortScsnDsmojputli sJiP

温馨提示

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

评论

0/150

提交评论