C# 如何编写接收EXE安装程序和参数并输出MSI的程序?

C# 如何编写接收EXE安装程序和参数并输出MSI的程序?,c#,.net,windows-installer,silent-installer,C#,.net,Windows Installer,Silent Installer,我需要编写一个小程序,最好是用C#和.NET编写的,它将把一个安装程序文件(.exe)以及与之一起运行的参数作为输入,并输出一个.MSI 以下是我的理由和限制: 我在一个程序中工作,该程序不允许在系统中使用开源(和最封闭的源代码)应用程序。说来话长,但这是界限 但是,我可以根据需要使用.NET framework或windows API调用来创建应用程序 使用.MSI选项的原因是在Windows Server 2008 GPO中运行MSI,以便通过网络安装更新。这是做更新的唯一选择---我知道有

我需要编写一个小程序,最好是用C#和.NET编写的,它将把一个安装程序文件(.exe)以及与之一起运行的参数作为输入,并输出一个.MSI

以下是我的理由和限制: 我在一个程序中工作,该程序不允许在系统中使用开源(和最封闭的源代码)应用程序。说来话长,但这是界限

但是,我可以根据需要使用.NET framework或windows API调用来创建应用程序

使用.MSI选项的原因是在Windows Server 2008 GPO中运行MSI,以便通过网络安装更新。这是做更新的唯一选择---我知道有其他的替代.MSI的方法,但是(与上面的原因相关)我们是一个封闭的系统,只使用GPO


那么,抛开我的理由不谈,有人知道哪些.NET函数、API调用或任何东西可以实现这一点吗?我想,如果使用正确的函数调用,这将是一个非常简单的应用程序,但我所有的Google和MSDN搜索结果都是完全枯燥的,或者是随机的免费exe2msi程序。

如果您有一个简单的可执行文件,您可以尝试以下工具:


我还没有测试过自己,但似乎其他人已经成功地使用了它。

看看这个,我认为您可以在Visual Studio中创建安装项目,并在AfterInstal事件中添加操作,以便使用参数运行exe文件。你们可以调整安装项目,从用户那个里获取参数。有这么多exe2msi程序的免费软件选项,我希望会有一个开源版本。有人知道吗?我可以通过逆向工程学习到最好的东西,然后做我自己的。酷,我会研究这个的!