There a couple of questions in this thread. Regarding what's installed, don't trawl the registry looking for clues, trawl the documentation instead. MsiEnumProducts() will list what's installed. MsiGetProductInfo() will tell you details about a specific installed product, just to use two examples of many. The p/invoke from managed code isn't too difficult and there are p/invoke libraries out there if you look. Pinvoke.net can help too:
http://www.pinvoke.net/default.aspx/msi.MsiEnumProducts Upgrade table: An MSI file is a database you can access and modify with SQL-like statements. It's basically a matter of using the appropriate SQL once you get the surrounding framework in place. Start with this kind of thing: http://stackoverflow.com/questions/27634407/how-to-get-the-product-version-from-an-msi-file-without-installing-the-msi and look for other examples that use MsiDabaseOpenView and so on, and the SQL to delete, add or update tables. --------------- Phil Wilson On Fri, Jan 9, 2015 at 5:38 AM, Prantik <prantik.sar...@grapecity.com> wrote: > Hi All, > > > > I am trying to find out something. I hope you can help. I was wondering how > does the msi > > keep a track of the fact that the product has already been installed. I > will explain the issue in detail. > > For eg:- When I install product.msi with > ProductCode={8AFF09B8-EA81-449E-9475-9567E7367314}, > > it would create an entry in the registry > @HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8AF > F09B8-EA81-449E-9475-9567E7367314} > > specifying the Displayname ,uninstallstring etc. If I delete this registry > key then I do not see the entry for the product in the Add and Remove > Programs. > > But if I run the msi again, it prompts for repair, change etc. I was > wondering where is the data stored in the m/c specifying that the > > product is already installed if not in the registry. I was wondering if > someone could point me at something. > > > > Regards, > > Prantik > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming! The Go Parallel Website, > sponsored by Intel and developed in partnership with Slashdot Media, is your > hub for all things parallel software development, from weekly thought > leadership blogs to news, videos, case studies, tutorials and more. Take a > look and join the conversation now. http://goparallel.sourceforge.net > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Dive into the World of Parallel Programming! The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users