Edit .msi database programatically
-
Is there a way to edit the msi database with c#. I want to write a program that will change just one registry entry within the msi database and then email the msi to the client. This will save me the hassle of recompiling the msi and then emailing it to the client. Thanks in advance.
-
Is there a way to edit the msi database with c#. I want to write a program that will change just one registry entry within the msi database and then email the msi to the client. This will save me the hassle of recompiling the msi and then emailing it to the client. Thanks in advance.
Highly doubtful, an MSI is compressed. Christian Graus - Microsoft MVP - C++
-
Is there a way to edit the msi database with c#. I want to write a program that will change just one registry entry within the msi database and then email the msi to the client. This will save me the hassle of recompiling the msi and then emailing it to the client. Thanks in advance.
This is not an easy task. You have to get to know the finest of details of how an MSI database works and how all the tables relate to each other. You can start by reading this[^] and following all the links. Or you can just get Wise for Windows Installer, or some other product that can edit MSI files directly. RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-
Is there a way to edit the msi database with c#. I want to write a program that will change just one registry entry within the msi database and then email the msi to the client. This will save me the hassle of recompiling the msi and then emailing it to the client. Thanks in advance.
Asad Hussain wrote: Is there a way to edit the msi database with c#. I want to write a program that will change just one registry entry within the msi database and then email the msi to the client. If you download the platform SDK[^], you get a tool called "Orca" which you can use to edit the MSI database. If you know what you want to change (in general, changes to the Registry table are very straigtforward), it's very easy to effect and save the change. If you are determined to do the changes programatically, this article[^] provides the interop signatures and sample code you'll need. Once you've opened the database, you just use SQL to UPDATE the tables you want. Share and enjoy. Sean