Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式创建MSI安装程序?_C#_.net_Winforms_Windows Installer - Fatal编程技术网

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

C# 如何以编程方式创建MSI安装程序?,c#,.net,winforms,windows-installer,C#,.net,Winforms,Windows Installer,我有一个程序,用于创建其他程序并从*.cs源文件编译它 使用System.CodeDom.Compiler 我也想为编译后的程序创建一个安装程序,但我想知道我是否可以通过编程的方式来实现, 因此,当我在主应用程序中单击Build Now按钮时,一个新的安装程序将出现在选定的目标上 是否有办法通过单击按钮为编译的程序(我构建的程序)创建msi安装程序 我不想每次为编译后的程序创建安装程序时都使用InstallShield 非常感谢您的帮助我建议您使用。它是一个非常强大的安装程序构建工具。您可以使用

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

使用System.CodeDom.Compiler

我也想为编译后的程序创建一个安装程序,但我想知道我是否可以通过编程的方式来实现, 因此,当我在主应用程序中单击Build Now按钮时,一个新的安装程序将出现在选定的目标上

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

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


非常感谢您的帮助

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

WIX现在与部署工具基金会集成,它是Windows安装程序API周围的完整包装器。当你安装WiX时,你也会得到DTF。这应该允许你以编程的方式处理任何与MSI相关的场景。也有一些文档,但您需要对MSI数据库有相当严格的理解,才能掌握API。如果可能的话,我会避免这种情况,并选择WiX路线


由于vdproj安装项目在VS11中被扼杀,学习WiX比掌握VS试图引导您的其他一些选项在时间上的投资要多得多。

同意@Amirshk。WIX绝对是一条路要走。击败了双星的努力,像智者一样结束了一切。更多信息。优点和缺点:。如果您使用InstallShield,那么它的自动化界面和/或命令行构建支持总是存在的。