gpt4 book ai didi

c# - 企业环境中的自动更新 (C#)

转载 作者:太空狗 更新时间:2023-10-30 00:37:06 25 4
gpt4 key购买 nike

我有一个安装在公司环境中的三层应用程序。每次服务器版本更新时,所有客户端也必须更新。目前,我提供了一个通过 Active Directory 自动部署的 MSI 包,但是我的客户(大多数每人有 20-300 个用户)似乎讨厌 MSI 解决方案,因为它是

  • 运行起来很复杂(对 Active Directory 的了解很少);
  • 当检测到新版本时,服务器不能触发更新过程;
  • 客户不能同时安装多个版本的客户端(例如 2.3 和 2.4)以与不同的服务器通信;
  • 更新过程本身并不总是按预期工作(有时非常奇怪的行为会在几个小时后自行修复)

我现在已经用 ClickOnce 做了一些实验,但这种方式对我来说不够灵活,而且很难集成到我的自动构建过程中。此外,它还会生成神秘的错误消息,这肯定会让我的客户感到困惑。

我自己编写更新逻辑没有问题,但问题是运行自更新应用程序的用户的权限太有限,无法执行更新。我发现他们能够写入本地应用程序数据目录,但我认为这不是安装应用程序文件的典型位置。

您知道“有效”更新的方法吗?

最佳答案

您可以在某种程度上复制 ClickOnce 的功能,只需根据您的需要进行调整即可。

  1. 创建一个轻量级可执行文件来检查网络/Web 位置是否有更新。
  2. 如果有更新,它会将它们复制到本地并替换“真实”应用程序文件。
  3. 它运行“真正的”应用程序。

应用程序文件的位置应由权限和操作系统决定。如果用户仅对一组有限的文件夹具有写入权限,那么您别无选择,只能使用其中一个文件夹。另一种选择是提供一个初始安装包,用于安装轻量级可执行文件并授予对特定文件夹(例如“C:\Program Files\MyApp”)的读/写权限。这种方法通常需要 IT 部门的支持。

希望对您有所帮助。

关于c# - 企业环境中的自动更新 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com