Programatically create MSI installer
Posted 09 January 2008 - 13:17
In need to create a simple MSI installer that is doing this:
- install some files in a specified directory
- remove some files from specified directories
- add registry entries
- remove registry entries
- DOES NOT appear in Add/Remove Programs (in fact the system should not see that this MSI installer was ever installed).
This MSI installer should be created programatically "on the fly" using APIs from MSI.DLL (like MsiOpenDatabase, MsiCreateRecord, etc.).
To get the previous behaviour all that I need is to add records into these tables:
Do I need to add entries in some other tables?
Where can I found examples using MSI.DLL APIs that creates a simple MSI installer inserting some stuff in the tables.
Thanks for your help.
Posted 10 January 2008 - 13:36
Instead of creating the msi file from scratch, maybe youd better use a template msi where you just add the rows that are not identical for each version.
Posted 13 February 2008 - 08:20
|QUOTE (dorelsturm @ 2008-01-09 13:17)|
|Where can I found examples using MSI.DLL APIs that creates a simple MSI installer inserting some stuff in the tables.|
It would be *much* simpler to use the WindowsInstaller.Installer object to do this. Using MSI.DLL is a journey through hell. Trust me, I've been there, trying to coax a script to produce advertising scripts (.AAS files) for Group Policy deployment (for which the Installer object model only exposes a method in v4 and above, BTW.)
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
Posted 10 August 2011 - 13:34
Download a tool and experiment with queries, then you can create your own InstallShield or whatever you want.
Edited by Server, 10 August 2011 - 13:35.
Posted 28 January 2012 - 19:15