0

我们有一个合理大小的应用程序,为 Y 版本的 Z 区域中的 N 个客户推出。对于每种情况,每个 clickonce URL 对应的 WCF 服务 URL 都是不同的。

在需要部署/更新之前,我们不知道这些将是什么。目前这是一个非常手动的过程:

构建解决方案,更新程序集版本更新 clickonce 客户端配置以具有正确的 url resign click 一旦应用程序设置服务(url,配置等)部署

我们正在尝试自动化这个过程,并在此过程中释放大量时间和错误。我们的方法是在每次提交时构建一个通用版本并按版本号将其存档(我们自动增加客户端版本号并将整个应用程序、客户端、服务器、数据库脚本等存储在该版本号下)。这意味着企业可以说我们有 UAT 的 X 版并且可以很高兴它上线。

我一直在创建自动化工具来存档、配置转换等,然后重新签署客户端应用程序。然后我们意识到单击一次会创建一个 setup.exe,其中包含需要更新的资源,例如名称将更改,url 更改。

我正在尝试找到一种方法来获取此 setup.exe 并以自动 / 命令行 / C# 方式更改资源字符串。

我尝试了 ildasm,但它不会打开它说“错误:setup.exe 没有有效的 CLR 标头并且无法反汇编”

编辑此资源或确保我们可以构建应用程序的通用版本然后针对每个新需求对其进行自定义的任何方式都会很棒。

4

2 回答 2

1

我认为解决您的问题的最佳方法是采取不同的方法。您无法在 Visual Studio 构建的 setup.exe 文件中访问这些资源详细信息(我知道)。但是,ClickOnce 也有一个 .Net API,当您想自己控制更新和安装过程时,您可以使用它来集成到您的应用程序中。

在此处查看有关创建自定义安装程序项目的MSDN 文章。

于 2012-04-27T12:58:28.130 回答
0

找到了一种更新 baseurl 和其他一些位的方法:

http://msdn.microsoft.com/en-us/library/8st7th1x(v=vs.90).aspx

似乎它知道如何自我更新。从我最初的测试来看,这似乎有效,将尽快对其进行测试。

于 2012-05-15T08:50:40.637 回答