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

Reply via email to