如何在Visual Basic 2008中为我的程序提供自动更新?

问题描述:

如何在Visual Basic 2008中为我的程序设置自动更新?如何在Visual Basic 2008中为我的程序提供自动更新?

我希望用户能够从setup.exe文件安装程序,然后在程序中运行自动更新功能。我如何在Visual Basic 2008中执行此操作?

如果你不去ClickOnce选项,那么你可能最终会自己加工它。

其中一个考虑因素是呼叫客户端可以访问更新服务器 - 毫无疑问,通过网络。端口80上的HTTP调用或端口443上的HTTPS通常都是通过防火墙来允许的。这可能是您的媒介开始的好地方。

我已经部署了一个项目,通过执行对Web服务的调用来确定更新是否可用,从而完成此类事情。 Web服务查看我们Web服务器上的目录,并检查我们为指定的zip文件创建的约定。呼叫客户端根据更新是否可用的版本进行确定。

如果有更新可用,应用程序会生成一个执行下载的可执行文件(在我的情况下也会解压缩),然后重新启动主入口点并退出更新程序。以spawing/shelling方式使用单独的可执行文件允许您更新应用程序的主要主干,但是如果更新更新可执行文件很麻烦,您会陷入诡计。

它不像ClickOnce那样优雅,但它对我来说很好。我没有使用ClickOnce,所以我不知道它是否在用户配置文件隔离方面存在缺陷。

假设您正在编写客户端应用程序,ClickOnce可能是最佳/最简单的方法。

+0

这是否仍然要求只为当前用户安装应用程序?我听说这是2008年以前版本的发行人。 – JeffO 2009-05-04 01:22:24

+1

我似乎无法得到这个ClickOnce的东西以我想要的方式工作。我已经尝试过,它似乎越野/更新程序的非标准方式。 我希望程序像常规应用程序一样安装,然后通过单击按钮让用户可以使用自动更新。这是通过将程序变成DLL或其他东西来实现的吗? – SteveGSD 2009-05-04 01:26:07

您必须自己推出或使用ClickOnce。

Here's Microsoft documentation on using ClickOnce's update mechanism