0

I need to write a small program, preferably in C# and .NET, that will take as an input an installer file (.exe) along with the arguments to run with it and output a .MSI.

Here is the reasoning and my restrictions: I work in a program that will not allow open source (and most closed source) application in the system. Long story why that is, but that's the boundary.

I can, however, use the .NET framework or windows API calls to create applications as needed.

The reason for the .MSI option is to run the MSI in the Windows Server 2008 GPO to install updates across the network. This is the only option for doing the updates --- I realize there are other alternatives to .MSI but (related to reason above) we are a closed system and only use GPO.

So with my reasons out of the way, does anyone have an idea which .NET function, API calls, or anything can get this done? I imagine with the right function calls, this would be a very simple application to write but all my Google and MSDN searches are coming up completely dry, or come up with random freeware exe2msi programs.

E.S.
  • 2,733
  • 6
  • 36
  • 71
  • Take a look at this [Windows Installer API](http://msdn.microsoft.com/en-us/library/cc185688%28VS.85%29.aspx) and [WixSharp](http://www.codeproject.com/KB/install/WixSharpArticle.aspx) – tttony Feb 20 '13 at 02:00
  • I think you can make Setup Project in Visual Studio and add action on AfterInstal event for run your exe file with your params. You can tune install project for getting that params from user. – Frank59 Feb 20 '13 at 04:17
  • With so many freeware options for exe2msi programs out there, I was hoping there would be an opensource version. Anyone know of one? I can learn best by just reverse engineering it and making my own. – E.S. Feb 20 '13 at 06:37

1 Answers1

0

If you have a simple executable you can try this tool: http://www.itninja.com/community/vincent-van-egmond-windows-installer-wrapper-wizard

I haven't tested myself, but it seems other folks have used it successfully.

Bogdan Mitrache
  • 10,536
  • 19
  • 34