0

我正在开发一个具有许多可执行文件和一个 Active X dll 的 VB6 应用程序。

并且偶尔会在 c;lient 机器中更新到最新版本,我要求用户手动更新。

您能否建议我一种方法,使用该方法我可以从可在线获得的文件中自动更新它。

谢谢。

4

2 回答 2

1

Windows Installer 具有支持修补和升级的功能。使用这些技术,您可以创建各种级别的“升级”包。

您的应用程序需要一个单独的“更新”实用程序,该实用程序在用户批准更新时生成,可能是为了响应您的程序在检查新版本后提出的提示。

此更新程序将检查当前版本和远程站点的更新目录以选择适当的程序包,将其下载到临时位置,启动 Windows Installer 以处理程序包(或程序包,有时您可能需要运行多个安装程序运行),并且清理临时位置。然后您可能会提出重新启动更新的应用程序或在某些情况下需要重新启动。

此更新程序将是常见“安装引导程序”的一种奇特形式。正如您所知道的那样,它需要一些“智能”来告诉以什么顺序下载和安装一个或多个软件包,何时需要请求重新启动等。这可能基于它获得的下载的“规则脚本”选择有效更新选项的一部分。

毕竟,有时您可以只应用次要升级或补丁升级,有时您需要更完整的安装或整个重新安装。

如果您的需求非常简单(只是一个 EXE,可能还有一些 DLL 和 OCX - 最好使用无 reg 的 COM),您可能不需要这么多。但是,当您开始添加其他考虑因素时,例如多个程序、数据目录创建和安全设置、可能运行设置文件转换甚至数据库转换、DCOM、防火墙等配置、数据库驱动程序或提供程序等,事情会很快变得复杂。对于简单的抓取和抓取更新来说太复杂了。

管理员权限/UAC 问题是一个因素,因此您可能必须处理权限提升问题。

这些都不是小事。有些人只是将构建和测试这样的部署系统作为他们的全部工作。

于 2013-01-31T08:58:28.583 回答
0

如果您使用 Inno setup 之类的东西来安装应用程序,那么更新很简单,只需定期运行即可。您可以通过检查网站/本地服务器来检测是否有可用的新版本,或者在 X 天后提示运行更新。

于 2013-01-31T09:56:47.107 回答