You could indeed do something like this, but there is no need because there are plenty of APIs to do this the correct way.
Combining APIs like MsiEnumProducts, MsiEnumComponents and MsiEnumClients will return the installed products, components, and the list of products that "own" a particular component. This could be cross-referenced with the list of files from the MSI file table to check that what's installed is what is supposed to be installed. Going through the File table can get you to a Component and a guid, MsiEnumClients will tell you what ProductCodes own the component, and one of them may be the MSI file being analyzed. Then you can do version comparison etc. I've done this before in a similar situation to Tyler where there are many shared files and components from multiple installed products and for any given file and its version it can often be useful to know which of many MSI files it was installed from when many shared components are being installed, uninstalled etc. Phil -----Original Message----- From: Philip Patrick [mailto:patri...@varonis.com] Sent: Thursday, November 15, 2012 1:16 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Where can I find the installer that was used. Another option is to find the path in registry, in the Installer key. You will need to know the following information: * Product Code (or Upgrade Code and then find all products installed for it) * How to convert GUID to "compressed" Microsoft's format, which is used in registry * For which user it was installed - you will need SID of that user. If it was installed for all users, then the SID will be S-1-5-18, which is just Local System user. The you will need to check LocalPackage value of the following key in registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserD ata\<<USER_SID_HERE>>\Products\<<COMPRESSED PRODUCT GUID>>\InstallProperties For example, for Wix 3.6.3303.0, it is: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserD ata\S-1-5-18\Products\67D42AC9D02003944BAA562A28737DA1\InstallProperties Hope that helps. -----Original Message----- From: Rob Hamflett [mailto:rob_hamfl...@sn.scee.net] Sent: Thursday, November 15, 2012 10:29 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Where can I find the installer that was used. Windows keeps a cached copy of the MSI in C:\Windows\Installer, if that's of any help. You could scan through the MSI files in there and check the properties for the one you want. Rob On 14/11/2012 20:51, tyler.w.r...@accenture.com wrote: > Hello all, > > I am trying to write an application that will go through the file table in an msi and make sure the files on the system are the same version and location. Basically a regression test for our installers. I have everything good except I have no idea how to find the installer that was used to install the product. Basically we use WIX and support multi-instance and I need to know if there is an easy way to find the installer that was used for a specific instance. In the registry I can find the product in the Uninstall area and the closest thing to the installer in there is a MsiExec.exe /X{myguid}. > > Tyler Reid | Operations and Infrastructure | Accenture Software | P&C > Insurance > 1807 Jones Street | Bolivar, MO 65613| USA > Office: +cc.xxx.xxx.xxxx | Fax: 417.777.3792 > E-Mail: tyler.w.r...@accenture.com<mailto:tyler.w.r...@accenture.com> > | www.accenture.com/pcsoftware<http://www.accenture.com/pcsoftware> > > > > ________________________________ > This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. > > Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. > > ______________________________________________________________________ > ________________ > > www.accenture.com > ---------------------------------------------------------------------- > -------- Monitor your physical, virtual and cloud infrastructure from > a single web console. Get in-depth insight into apps, servers, > databases, vmware, SAP, cloud infrastructure, etc. Download 30-day > Free Trial. > Pricing starts from $795 for 25 servers or applications! > http://p.sf.net/sfu/zoho_dev2dev_nov > ---------------------------------------------------------------------------- -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users