Wya*_*Day 15
首先我要说的是我们提供完整的更新解决方案,其中包括:
wyUpdate处理所有Vista/Windows 7 UAC问题以及当您尝试更新复杂软件时不可避免地出现的所有文件权限问题.
话虽这么说,如果你想建立自己的更新程序,这里有一些提示:
一个好的起点是我上面提到的wyUpdate C#源代码.您可以蚕食它并将其用于您自己的目的.它包含的一些算法:
由于是自动要求,让我告诉你我们如何使用我们的AutomaticUpdater控件.
我们使用命名管道在独立更新程序(wyUpdate)和程序表单上的自动更新程序控件之间进行通信.wyUpdate向自动更新程序报告进度,自动更新程序可以告诉wyUpdate取消进度,开始下载,开始提取等.
这使更新程序与您的应用程序分开.
事实上,我们使用的确切命名管道C#代码包含在我写的一篇文章中:像Google Chrome这样的多进程C#应用程序.
ClickOnce被大量使用,但你可以做我为大型应用程序所做的事情并尝试这些:
我修改了一下逻辑并构建了我认为更好的XML更新文件.现在,当我需要更新客户端时,我只发布新的EXE文件或DLL文件,并在公共XML文件中设置正确的版本.我的应用程序检测到较新的版本,如果它更旧并自行更新.如果您在Windows Vista上执行此操作,则需要提示管理员权限,以便可以写入Program Files(如果您在那里安装).
您也可以使用C#/ VB.NET Converter轻松将其转换为C#.
我刚刚完成了这个过程并使用了NetSparkle.
它的工作方式与Windows窗体应用程序一样,其中包含覆盖以前版本的MSI安装程序.我很高兴我也发现了 - 我正要自己动手.我是唯一一个制作非常简单的.NET应用程序的人吗?我看到的大部分东西看起来都像是一个彻底的矫枉过正.
我还没有尝试NetSparkle(我会稍后),但它似乎正是你在寻找的东西.
NetSparkle是一个易于使用的软件更新框架,适用于Windows,Mac或Linux上的.NET开发人员.它的灵感来自 Cocoa开发人员的 Sparkle项目和 WinSparkle项目( Win32端口).
| 归档时间: |
|
| 查看次数: |
67257 次 |
| 最近记录: |