mmkk's Weblog

dotnet and web skills
随笔 - 25, 评论 - 181, 引用 - 79

导航

工具

关于

标签

每月存档

广告



访客

Appupdater 组件的一个问题.

最近一直忙于smartClient,对于自动更新方面,使用了AppUpdater组件,原因是简单易用,taskVision中用的就是它:)可以通过下面的地址获得更加详细的信息:

http://windowsforms.net/articles/appupdater.aspx

哪知刚部署就发现了一个严重的问题,每次update完成之后,应用程序目录下非装载Assembly的目录老是被自动删除(譬如我有一个Setup目录下面有products.mdb文件,此Setup目录老是被自动删除),然后重新启动应用程序后又重新自动安装了,非常讨厌,同时也是百般不解,本来对于VS.NET的Setup Project也不是特别了解,一直以为是配置有问题,试了N次还是找不到解决办法,最后才把目标锁定在AppUpdater组件上面,经过一翻追踪调试,发现问题所在,在Downloader.cs中的Scavenge方法,这个”清道夫”实在太霸道了,将应用程序目录下的非装载Assembly的目录全部都删除了。找到问题所在,简单将那个if语句修改一下,我简单的修改为:

if(Directory.Name.ToLower() == "appupdater") {//HardDirectoryDelete}

也可根据实际要求修改,反正不要让他这么“狂妄”就是了:)

简单的一点东西,花去了1整个上午的时间去调试,希望能对碰到此问题的朋友有帮助,不要再花费这个冤枉时间了。另外,如果更新服务器是windows2003,记得设置WEB_DAV为允许。

posted on 2004-12-22 16:18:00 by mmkk  评论(18) 阅读(5881)

Powered by: Joycode MVC Blogger System