如何以编程方式创建 MSI 安装程序?

问题描述 投票:0回答:3

我有一个程序,用于创建其他程序并从 *.cs 源文件编译它

      

using System.CodeDom.Compiler;

我也想为编译的程序创建一个安装程序,但我想知道是否可以通过编程方式做到这一点, 因此,当我单击主应用程序中的“立即构建”按钮时,新的安装程序将出现在所选目的地上。

有没有办法通过单击按钮为编译的程序(我构建的程序)创建 msi 安装程序。

我不想每次为我编译的程序创建安装程序时都使用InstallShield。

任何帮助将不胜感激

c# .net winforms windows-installer
3个回答
9
投票

我建议您使用WiX。它是一个非常强大的安装程序构建工具。您可以使用它来使用命令行工具创建安装文件,这些工具可以在您的构建程序中使用。


3
投票

WiX 现已与 Deployment Tools Foundation 集成,后者是 Windows Installer API 的完整包装器。当您安装 WiX 时,您也会获得 DTF。这应该允许您以编程方式解决任何 MSI 相关场景。还有一些文档,但您需要对 MSI 数据库有相当严格的了解才能掌握 API。如果可能的话我会避免这种情况并采用 WiX 路线。

随着 vdproj 设置项目在 VS11 中被淘汰,学习 WiX 比掌握 VS 试图引导你的其他一些选项要好得多。


0
投票

不要忽视高级安装程序或InstallShield等商业产品。两者都提供免费软件版本,允许您将安装程序与 Visual Studio 解决方案无缝集成,从而使您能够将安装程序构建为现有项目的一部分。你也有 CI/CD 支持,但这可能在他们的商业产品下,最好检查他们的网站。

这可确保安装程序始终引用最新版本的工件,因此无需担心手动更新它们。

我建议查看他们的 Visual Studio 扩展并安装它们以简化与您的解决方案的集成。

© www.soinside.com 2019 - 2024. All rights reserved.