0

是否有任何实用程序可以从中央网络共享复制 Windows 窗体应用程序的“官方”版本并启动它(从客户端桌面)?当我更新中央网络共享上的二进制文件时,我想确保用户获得最新版本。

ClickOnce 对用户不友好,所以我正在寻找其他东西......

4

4 回答 4

1

您是否可以修改您的问题以描述您认为 ClickOnce 不友好的地方?在我的办公室,我们发现 ClickOnce 是更新和分发应用程序桌面业务应用程序的最有效和用户友好的方式。我想知道解决您的问题的最佳方法是否可能是解决您在 ClickOnce 中遇到的问题,而不是集成/滚动另一个解决方案。

于 2008-10-07T19:32:39.613 回答
0

看看这个:

.NET 客户端应用程序:.NET 应用程序更新程序组件

这是一份白皮书,详细讨论了如何使应用程序可自动更新。

于 2008-10-07T19:33:04.743 回答
0

我们有一个可以做到这一点的工具,它在出现 Windows 更新(或任何其他更新)之类的东西之前就已经在使用了。

这种方式的任何更新的问题是用户的安全级别。很多时候,您需要成为管理员才能执行某些功能。

我们的解决方案是两部分/一个可执行文件: 1. 运行本地系统或管理员执行此类操作的服务模式。2. 一个可执行文件,可由应用程序调用以通过 UNC、HTTP、FTP 获取应用程序的更新并应用它们。

基本流程是这样的: 1. 应用检查自己的版本号;我们使用中央数据库列出所有应用程序及其版本号。2. 如果应用程序是次要版本,我们会为用户提供安装选择退出;如果是重大修订,我们需要安装。3. 确认更新后,我们调用更新程序可执行文件,该更新程序与其服务模式产品相配合,检索更新、安装更新并重新启动应用程序。

如果您有兴趣,请访问我的个人资料中列出的网站,并向我们发送支持请求地址给我,如果需要,我会为您提供更多详细信息和代码库。

于 2008-10-07T19:33:53.900 回答
0

我之前通过以下方法完成了此操作:

1 - 将“官方”构建保留在特定的网络位置

2 - 用户从他们的本地机器启动程序

3 - 在启动时,程序将其自己的文件版本# 与服务器上的版本进行比较。

4 - 如果两个版本不同,请从服务器复制新版本并重新启动。

非常简单,只要您在 Intranet 环境中,它就可以工作。

第 4 步是唯一棘手的部分。您不能在使用文件时替换它,因此您必须要么

1 - 首先重命名当前(正在使用的)文件,然后复制新文件。由于您将多次更新,因此您还需要删除任何现有的重命名副本。

或者

2 - 让用户启动一个“帮助”应用程序来检查版本,必要时进行更新,然后启动真正的应用程序。当然,您必须处理更新助手应用程序。

于 2008-10-07T19:42:40.373 回答