【问题标题】:Install solution for repackaging thrid party software安装重新打包第三方软件的解决方案
【发布时间】:2011-04-16 23:01:42
【问题描述】:

我们拥有一套由第三方开发的软件解决方案,这些软件解决方案属于我们公司的品牌。使用他们的工具,我们创建了我们自己的 XML 脚本,他们的软件使用这些脚本来执行构成最终用户与之交互的应用程序的各种事情。

该软件由多个目录和数百个文件(exe、dll、xml 等)组成。我们无权访问任何源代码。即使我们不拥有代码,我们也必须为应用程序创建安装程序。我们的业务合作伙伴为我们提供了目录的 zip,我们必须将其打包到某种安装程序中,然后再提供给客户。

难题在于每个客户端有 6 个左右的动态 ini 文件。应用程序中的所有其他文件都是静态的。创建安装程序的最佳解决方案是:

  • 在 Program Files 下创建必要的目录/文件
  • 将共享程序集安装到 GAC
  • 需要 .NET 3.5/安装它
  • 创建桌面和开始菜单快捷方式
  • 提供相对简单的更新机制
  • 能够在安装中包含多个目录/文件
    • 意思包括一个目录,该目录有 8 个子目录和 50 个文件,在整个应用程序中都是静态的,以及 2 个客户端特定文件

将每个目录/文件添加到每个客户端的 Visual Studio 安装项目中是不可行的。必须有另一种方式。

【问题讨论】:

  • 这个问题太宽泛了,我认为目前的形式无法回答。

标签: installation wix windows-installer


【解决方案1】:

我认为创建一个基本 WXS 文件(WiX 源文件)然后创建一个脚本或小型内部工具来自动添加所需的客户端特定文件最适合您的需求。

另一种选择是让 WXS 从您的服务器(或本地计算机)上的文件夹中提取文件,并将当前客户端的正确文件放置在用于构建的文件夹中。两者都不是特别优雅或漂亮,但两种选择都可以完成工作。

【讨论】:

  • 我们所处的情况并不理想,因此任何能让我们和客户更轻松地进行安装和更新的解决方案都是朝着正确方向迈出的一步。我倾向于您的第二个建议,但还不知道 WiX。如果我可以告诉 WiX 从文件夹 X 中提取文件而不必指定每个应该工作的文件。然后只需将客户端特定文件放在构建之前的文件夹中即可。
  • WiX 带有一个工具,可以基于文件夹或文件夹树创建基本安装。也可以只在安装时创建,然后更改源文件夹中的文件以针对每个客户端进行更改。只要文件名相同(正如我假设的那样),它应该可以完美运行。
  • 是的,在对 WiX 进行更多研究时,我发现了 Heat 工具。这正是我需要的。我可能会用它来收集我的目录树来创建 WXS 文件。完成后,我可以换出客户端文件,因为名称相同并重新构建。感谢您实际提供答案!
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 2010-12-25
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 2017-05-08
相关资源
最近更新 更多