我有一个安装在企业环境中的三层应用程序。随着每次服务器版本更新,所有客户端也必须更新。目前,我提供了一个通过 Active Directory 自动部署的 MSI 包,但是我的客户(每个用户大多有 20-300 个用户)似乎讨厌 MSI 解决方案,因为它是
- 运行起来很复杂(很少有 Active Directory 知识);
- 当检测到新版本时,服务器无法触发更新过程;
- 客户不能同时安装多个版本的客户端(如2.3和2.4)与不同的服务器对话;
- 更新过程本身并不总是按预期工作(有时非常奇怪的行为会在几个小时后自行恢复)
我现在已经用 ClickOnce 做了一些实验,但是这种方式对我来说不够灵活,而且很难集成到我的自动构建过程中。此外,它会产生神秘的错误消息,这肯定会让我的客户感到困惑。
我自己编写更新逻辑没有问题,但问题是运行自我更新应用程序的用户执行更新的权限太有限。我发现他们能够写入本地应用程序数据目录,但我认为这不是安装应用程序文件的典型位置。
您知道“正常工作”的更新方法吗?