2009-07-30 27 views
2

VS 2008 SP1创建更新程序

我已经创建了一个已安装在用户计算机上的应用程序。但是,我希望应用程序能够自我更新。但我不确定这是否真的会更新应用程序。

该应用程序会从网上下载服务器中的所有文件,并在该程序为已安装的目录替换文件。用户将重新启动应用程序。

我只想确定一下,因为我无法用已更新的文件替换已安装的文件。随着应用程序的运行。所以真的应用程序不能删除/替换自己。

所以,我想我可以下载到另一个目录,如果程序安装在这个目录下'program files/application/1.0.0',那么我可以下载文件到'program files/application/1.0。 1。

但是,当程序重新启动时,它如何知道它必须从1.0.1目录执行?

我无法使用clickonce或更新程序块进行此操作。

非常感谢任何建议,

+0

ClickOnce有一些我认为的功能。 – 2009-07-30 17:39:02

+0

为什么你不能使用ClickOnce? – Amy 2010-02-23 20:52:53

回答

1

你可以用一个小装载程序,它会做一个版本检查应用程序。如果它已过时,请下载较新的二进制文件并覆盖旧的文件。如果你想保持你可能会与最终版本:

c:\program files\mycompany\myapp\loader (the newer version will point to the latest directory) 
c:\program files\mycompany\myapp\v1.0 
c:\program files\mycompany\myapp\v1.1 

如果它是一个局域网上,你也许能够买得起的只是重新下载在启动时,而不是二进制文件的带宽。

2

所有这一切都已经为你做了,如果你使用ClickOnce部署(项目属性,发布)。

+0

roboUK提到ClickOnce不是一个选项。 – 2009-07-30 17:55:26

3

一个不错的选择是创建一个独立的Updater应用程序。

更新程序将下载最新版本并杀死/替换旧版本。

我觉得这是最好的选择,因为你可以通过快捷方式,用户在主器件的应用中执行的更新(这样你就可以说,it's自我更新),或直接。

更新程序可以检查应用程序是否正在运行,并要求用户退出应用程序或自行终止应用程序。

原谅我的英语...

好运

1

使用Windows安装程序进行安装和更新。如果您签署安装包,用户可以更新您的应用程序,而不需要任何管理员权限。

我做了一个网站,并演示的你想在my website什么功能的应用程序。

1

我会考虑的ClickOnce。可以通过多种方式配置它,在应用程序运行之前检查更新,每次运行时从服务器下载,或者在应用程序启动后检查更新。

我已完成ClickOnce部署和独立更新应用程序,它们都工作正常。显然,您可以在自己创建的更新应用程序上拥有更多的灵活性,但是,也可以将ClickOnce配置为安装.NET Framework,Windows Installer等先决条件以供您的应用程序运行。

相关问题