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

时间:2012-06-17 18:39:22

标签: c# .net winforms windows-installer

我有一个程序用于创建其他程序并从* .cs源文件中编译
using System.CodeDom.Compiler;

我也想为编译的程序创建一个安装程序,但我想知道我是否可以以编程方式执行此操作, 因此,当我单击主应用程序中的“立即构建”按钮时,将在所选目标上显示新的安装程序。

是否有某种方法可以通过单击按钮为已编译的程序(我已构建的程序)创建msi安装程序。

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

任何帮助都将受到高度赞赏

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:3)

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

由于vdproj安装项目在VS11中被淘汰,因此学习WiX是一项相当好的投资,而不是掌握VS试图引导你的其他一些选择。