clickonce,客户特定更新 URL - 如何管理
clickonce, customer specific update URL - How to manage
我有一个 clickonce 部署 issue/problem,我需要帮助弄清楚如何解决。我已经查看了这里已经提出的关于 clickonce 的大量问题,但没有为我的问题找到解决方案。
情况如下:
在工作中,我们将把我们的应用程序从非基于 .net 的应用程序重新开发为基于 .net 的应用程序,作为使用 clickonce 进行安装和更新的 WPF 应用程序。这是管理层的决定,无法更改,所以不推荐的建议无助于解决问题。
此时我们有 100 多个 customers/installations,每个都有我们当前应用程序的多个用户,并且需要一种简单的方法来控制何时为每个客户提供更新,问题就在这里开始了。根据我/我们对 clickonce 的理解,安装和更新 URL' 嵌入在一个签名的清单文件中,因此我需要一个清单文件和一份程序文件 pr 的副本。客户为了控制每个客户什么时候更新系统。
在我看来,我想要这样的解决方案:
我为 application/product 创建了一个站点,例如myproductsite.com 与 URL 类似 myproductsite.com/application/install 用于初始安装目的而不考虑客户是谁,URL 与 myproductsite.com/application/update/somecustomerid 用于更新目的。每个客户都有自己的更新 folder/URL,由某个客户 ID 标识,只要特定客户有更新可用,更新就会发布到该更新。然后我会制作一个管理工具,该工具应该简化在客户特定 folder/URL.
中提供更新的过程
为了实现这一点,由于 URL 的 somecustomerid 部分,更新的 URL 必须针对每个客户都是特定的,据我所知,这不能取自例如。 app.config 文件并在程序搜索更新时合并到 URL 中。我希望有人知道否则。
如果我是对的,有没有一种方法可以批量制作清单文件,以便管理工具可以制作这些清单文件和/或将它们分发到 somecustomerid 文件夹,只要有一个更新可用或更多客户?
据我了解,一旦在客户处进行安装,在我这边更改安装和更新 URL 非常麻烦,如果不是几乎不可能的话,并且仍然确保 clickonce 会工作。
我可能完全误解了 clickonce 的概念,因此提出了非常愚蠢的问题,但我仍然需要更新一些客户而不更新其他客户,我仍然不知道如何 implement/manage 问题。
其他人可能也遇到过类似的问题。我不可能是第一个需要独立更新客户的人,所以请分享您的经验,注意事项。
问候
莫腾
ClickOnce 默认假定所有 客户将从同一位置安装应用程序并将同时获得建议的更新。我不知道有什么方法可以使用默认方式更改此设置(除了为每个客户创建不同的部署)。
修改清单和路径的问题在于,出于安全原因,构成部署的 XML 文件已签名,因此您不能在创建部署后更改它们而不破坏其签名,从而破坏ClickOnce installation/update 进程。
但是,您可以尝试编写 ClickOnce 部署过程的脚本。 I found this link(但我没有全部阅读)描述了如何在 Visual Studio 之外构建 ClickOnce 部署。也许这会帮助您为每个客户部署,尤其是。因为有关于 InstallURL、SupportUrl、PublishURL 和 UpdateURL 的部分?
我有一个 clickonce 部署 issue/problem,我需要帮助弄清楚如何解决。我已经查看了这里已经提出的关于 clickonce 的大量问题,但没有为我的问题找到解决方案。
情况如下:
在工作中,我们将把我们的应用程序从非基于 .net 的应用程序重新开发为基于 .net 的应用程序,作为使用 clickonce 进行安装和更新的 WPF 应用程序。这是管理层的决定,无法更改,所以不推荐的建议无助于解决问题。
此时我们有 100 多个 customers/installations,每个都有我们当前应用程序的多个用户,并且需要一种简单的方法来控制何时为每个客户提供更新,问题就在这里开始了。根据我/我们对 clickonce 的理解,安装和更新 URL' 嵌入在一个签名的清单文件中,因此我需要一个清单文件和一份程序文件 pr 的副本。客户为了控制每个客户什么时候更新系统。
在我看来,我想要这样的解决方案:
我为 application/product 创建了一个站点,例如myproductsite.com 与 URL 类似 myproductsite.com/application/install 用于初始安装目的而不考虑客户是谁,URL 与 myproductsite.com/application/update/somecustomerid 用于更新目的。每个客户都有自己的更新 folder/URL,由某个客户 ID 标识,只要特定客户有更新可用,更新就会发布到该更新。然后我会制作一个管理工具,该工具应该简化在客户特定 folder/URL.
中提供更新的过程为了实现这一点,由于 URL 的 somecustomerid 部分,更新的 URL 必须针对每个客户都是特定的,据我所知,这不能取自例如。 app.config 文件并在程序搜索更新时合并到 URL 中。我希望有人知道否则。
如果我是对的,有没有一种方法可以批量制作清单文件,以便管理工具可以制作这些清单文件和/或将它们分发到 somecustomerid 文件夹,只要有一个更新可用或更多客户?
据我了解,一旦在客户处进行安装,在我这边更改安装和更新 URL 非常麻烦,如果不是几乎不可能的话,并且仍然确保 clickonce 会工作。
我可能完全误解了 clickonce 的概念,因此提出了非常愚蠢的问题,但我仍然需要更新一些客户而不更新其他客户,我仍然不知道如何 implement/manage 问题。
其他人可能也遇到过类似的问题。我不可能是第一个需要独立更新客户的人,所以请分享您的经验,注意事项。
问候 莫腾
ClickOnce 默认假定所有 客户将从同一位置安装应用程序并将同时获得建议的更新。我不知道有什么方法可以使用默认方式更改此设置(除了为每个客户创建不同的部署)。
修改清单和路径的问题在于,出于安全原因,构成部署的 XML 文件已签名,因此您不能在创建部署后更改它们而不破坏其签名,从而破坏ClickOnce installation/update 进程。
但是,您可以尝试编写 ClickOnce 部署过程的脚本。 I found this link(但我没有全部阅读)描述了如何在 Visual Studio 之外构建 ClickOnce 部署。也许这会帮助您为每个客户部署,尤其是。因为有关于 InstallURL、SupportUrl、PublishURL 和 UpdateURL 的部分?