动态Clickonce生成

Dynamic Clickonce generation

我有一个包含多个客户的应用程序。我想使用 Click-Once 部署应用程序。

有两个参数在客户之间会有所不同:app.config中的连接字符串和安装文件夹,所以每次我都应该手动更改这些。

有没有办法动态加载这些文件,例如从 XML 文件?

ClickOnce 的 Visual Studio 前端不够灵活,无法处理同一应用程序的不同部署之间的差异。要实现这种自定义,您需要使用命令行工具(例如 Mage.exe)编写自己的部署脚本。

您可以编写批处理脚本或命令行应用程序来:

  1. 将常用应用程序文件复制到一个临时目录中。
  2. 添加客户特定的 app.config 文件。
  3. 使用 Mage.exe
  4. 生成应用程序和部署清单文件
  5. 将临时目录的内容上传到网络服务器(或其他位置)。

您可以 运行 您的自定义部署脚本,而不是使用 Visual Studio 中的发布向导;作为 post-build event or as an external tool.