【问题标题】:Jenkins Packaging a exe and dll's to msiJenkins 将 exe 和 dll 打包到 msi
【发布时间】:2018-03-14 06:06:05
【问题描述】:

我是 jenkins 的新手。我正在开发 C# 项目并使用 jenkins 进行持续构建和发布。我完成了为我的项目创建构建并获得了 .exe 和 dll 文件。但我需要在部署到服务器之前重新打包它(创建一个 msi)。因此,任何人都可以提供有关 rePackaging 的逐步信息以及与 jenkins 一起用于包装的工具。我想在 jenkins CI 和 CD 中自动化这个过程。

【问题讨论】:

    标签: jenkins deployment build windows-installer packaging


    【解决方案1】:

    重新打包意味着您有一个第三方安装程序,您希望将其逆向工程为一个新的/更好的 MSI。你只是包装而不是重新包装。

    这是一个两部分的问题:

    1. 编写 MSI。我建议使用WiXIsWiXtutorial 开头。

    2. 使用 Jenkins 构建它。 WiX 支持 MSBuild,Jenkins 有一个MSBuild PlugIn。标准的东西,除了 IsWiX 模板创建的 .WIXPROJ 不希望您传递 MSBuild 属性 MSIProductVersion。此属性的正确格式是 0-255.0-255.0-65535。如果您愿意,您可以添加第四个字段,但它会被忽略。 IsWiX 项目模板默认为主要升级设置,因此请确保每个版本都增加这 3 个字段之一。 (1.0.0, 1.0.1, 1.1.0, 1.1.1, 2.0.0)

    【讨论】:

    • 忽略是指在 MajorUpgrade 处理方面被 Windows Installer 忽略。它将进入 MSI 的属性表并显示在程序和功能中。
    【解决方案2】:

    这更像是一个打包问题,而不是 Jenkins 问题。

    看看WIX Toolset。我过去成功地将它用于各种项目。与 Jenkins 的集成应该很容易。我知道有两个选项:

    1. 安装 WIX 工具集后,将新的 WIX 项目添加到您的 Visual Studio 解决方案中。配置完成后,将新项目提交到您的源代码存储库。然后开发人员可以在自己的开发工作站上构建 .MSI 包。假设您在 Jenkins 中使用 MSBuild 构建您的 C# 项目,新项目将“构建”并创建 .MSI 包(请记住在您的 Jenkins 构建服务器上安装 WIX)。这是推荐的选项。
    2. 使用 WIX 的命令行实用程序在 Jenkins 批处理步骤中生成 MSI。这比较麻烦且难以调试。

    【讨论】:

    • 我听说 wix 很复杂,不建议初学者使用。您能推荐任何其他可以与 jenkins 集成并用于打包的工具吗?
    • WIX 对于初学者来说确实很复杂。我的第一个安装项目是(现已弃用)内置 Visual Studio“安装项目”。虽然它更容易,但我很快就意识到它限制了我,然后转向 WIX。我学到的是:Windows 安装程序和安装程序一般都很复杂,不是 WIX 让它变得复杂。
    • 正确。我有一个名为 IsWiX 的 FOSS 工具,它具有项目模板和图形设计器,可帮助大多数 WiX 创作。它是一个解决方案加速器,可帮助您快速完成基本工作,而不是一头撞在墙上。但你是对的,设置很复杂,IsWiX 并不是最终学习 WiX 和 MSI 的替代品。
    猜你喜欢
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多