| 论坛登陆 注册 | 教程 笑话 影视 投稿 |
![]() |
|
||||||||||||||||||||||||||||||||||||||||
实现.NET应用程序的自动更新 |
|
| www.xker.com 作者:李嘉 来源:CSDN开发高手 加入日期:2006-3-21 10:07:35 | |
. 在某些情况下它不起作用。在更新应用程序时,更新进程关闭原始的应用程序进程,更新进程自身也要被关闭,因此也就不会实现更新。 . 我们希望能够自动更新所有要实现更新的代码。我们希望自动安装修补的能力不仅仅发生在应用程序上,而且.NET应用程序更新组件自身也可以。使用这种模式,我们不能更新实现更新的进程。 . 强制用户关闭应用程序并在使用过程中等待,这是很不礼貌的。 用来实现应用程序更新的最后一种方法是使用.NET框架并行程序集模式。作为试图更新应用程序自身的替代方案,生成一个比目前存在版本新的应用程序版本。 新版本可以通过合并目前现存的应用程序目录与下载的更新版本来生成。当新版本完成时,用户在下次重新打开应用程序时会自动使用新版本。原始应用程序的拷贝就可以被移除了。棘手问题是弄清在某个指定时刻哪个版本该被载入。我们介绍一个名称为Appstart的应用程 序。Appstart是进入你应用程序的入口点,使用这种模式,你的应用程序目录看起来是这个样子:.. --> Program Files --> MyApp --> Appstart.exe --> Appstart.config --> V1 Folder --> MyApp.exe --> V1.1 Folder --> MyApp.exe 要运行你的应用程序,你通常是启动Appstart.exe。如果你想在桌面上有个快捷键,那个快捷键必须应该指向Appstart而不是直接指向应用程序(注意,你可以重命名AppStart.exe 为任何你想要的名字,例如YourApp.exe)Appstart.exe是个非常简单的程序,它读取Appstart.config文件并且载入指定的应用程序。一个有效Appstart.config文件如下所示:
AppFolderName指定包含当前要运行的应用程序版本的子文件夹。AppExeName包含在那个文件夹下要载入的exe文件名。当一个应用程序更新完成时,最后一步就是修改AppFolderName的值为指向应用程序的新版本。这样,下次用户运行应用程序时,就会运行新的应用程序更新后的版本。AppLaunchMode指定如何加载应用程序。有两种方式加载应用程序:第一种方式是使用AppDomains。AppDomains是.NET框架公 用语言运行时的特性,也是独立的逻辑单元和管理对象。公用语言运行时允许每个进程中存在多个应用程序域。这样Appstart.exe就能够在单独的AppDomain中同时却是相同的AppStart.exe进程中加载你的应用程序。尽管事实是两个不同的exe 程序在运行(即Appstart.exe和MyApp.exe),但只有一个进程在使用。对于大多数应用程序AppDomains会工作得很好,当然,在一个单独的AppDomain中运行和在一个单独 的进程中运行还是有些细微区别的。在这种情况下,AppLaunchMode可以设置为“process”,这样就会使应用程序在单独进程中加载。 一旦Appstart启动应用程序,它就会进入休眠状态等待应用程序终止。一旦应用程序终止,Appstart也会关闭。 三、实例演练 前面我们讨论了.NET应用程序更新是如何工作的,现在我们来将它应用在实例中。 第一步:建立应用程序来进行更新编辑:xker.com 上一篇:ASP.NET调用oracle实现快速分页 下一篇:没有了 |
|||
| 【关闭窗口】【技术交流】【收藏此页】 |
|
| 评论 | |
设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
|
| Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446 | |
|
|
| 本页浏览次数: |