设置计算机以呼叫主页以进行软件更新

时间:2014-04-28 09:25:59

标签: windows svn deployment service wix

我有一个硬件产品,其中包括一台Windows PC,它有两个我们偶尔需要更新的软件组件。一个是通过带有版本号的WiX MSI安装程序安装的,另一个是SVN签出(我不能改变这两种方法)。

我们有许多这样的机器,无论是在工厂车间,还是与客户一起。我可能希望更新一部分机器上的安装进行测试,然后再推广到所有机器,例如所需版本可能是:

机器| SVN修订版| MSI版

001 | 6000 | 1.0.4

002 | 6000 | 1.0.4

003 | 6250 | 1.0.5

004 | 6250 | 1.0.5

005 | 6500 | 1.0.6

我的想法

我试图提出一种更新软件的可靠方法,目前有一个可公开访问的网页可以保存上述数据。每台机器都有运行的服务,它会定期检查网站及其自己的线路,将SVN和MSI值与机器上当前的值进行比较,然后,如果适用的话:

a)将SVN链接的文件夹更新为指定的修订版

b)下载并运行适用的MSI安装程序(可能包括更新程序服务的更新)

当然,仅仅因为这是我的第一个想法,并没有使它成为最好的,甚至是好的,所以我想我会问你所有关于你如何接近的这是一种可靠,优雅的失败方式。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

自动更新程序应用程序通常运行的方式是您提供Web服务(而不是网页)。您在客户端系统上运行的应用程序会定期调用通过MSI设置的ProductCode,UpgradeCode,ProductVersion的Web服务。该网站维护一个数据集,告诉调用者是否有可用的补丁,次要更新或完整升级(至少有三种方法来更新产品!)。然后,应用程序下载MSI并(根据UI情况)询问是否安装它。如果每个系统只有有限的用户,他们可能无法安装它。如果站点具有中央分发机制,那么alroc的建议是最好的 - 使用系统中心,组策略,Active Directory类型机制来将更新推送到每个系统。

在您的测试用例中,候选测试版计算机可以标记为" beta"指定,例如注册表项,当应用程序调用Web服务时,它可以说它是beta测试人员并获得设置的早期版本。

让服务调用Web服务并下载安装设置可能会出现问题,特别是如果您使用系统帐户运行,因此在运行的应用程序中使用它可能更安全。

如果您只想要一个简单的网页供人们查看,那么所有这些都可能有些过分。请注意,您将更新的MSI下载到实际的安全永久位置,而不是将其下载到浏览器的临时文件夹中。

无论如何,希望那里有一些有用的想法。