【问题标题】:automated process to edit setup.exe resource strings for clickonce wpf app为 clickonce wpf 应用程序编辑 setup.exe 资源字符串的自动化过程
【发布时间】:2012-04-26 13:00:41
【问题描述】:

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

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

构建解决方案, 更新程序集版本 更新 clickonce 客户端配置以获得正确的 url 重新签名点击一次应用 设置服务(网址、配置等) 部署

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

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

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

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

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

【问题讨论】:

    标签: clickonce installation ildasm


    【解决方案1】:

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

    查看MSDN article here 创建自定义安装程序项目。

    【讨论】:

    • 这不是我想听到的答案,但我认为我可能会找到答案。谢谢
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多