Re: [WiX-users] Where can I find the installer that was used
Phil, Thank you so much I got all those functions PInvoked and working like a charm. Again thank you to everyone for all your wonderful help it is greatly appreciated. Tyler Reid | Operations and Infrastructure | Accenture Software | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Where can I find the installer that was used.
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 | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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
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 | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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
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\UserData\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\UserData\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 | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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
Re: [WiX-users] Where can I find the installer that was used.
MsiGetProductInfoEx() can return the cached MSI location using an argument of INSTALLPROPERTY_LOCALPACKAGE We discussed doing something similar here once. I'm not convinced it's a worthwhile exercise. You should rather test the functions of the software - which you will be doing anyway. If a file is missing or the installer failed, then the corresponding function will fail. All you're doing is testing if Windows Installer is working, which is Microsoft's job, and it's very reliable. An exception might be if you have lots of conditional installations but that would still be brought to light by normal functional testing. -Original Message- From: Rob Hamflett [mailto:rob_hamfl...@sn.scee.net] Sent: 15 November 2012 08: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 | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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 SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- 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
Re: [WiX-users] Where can I find the installer that was used.
Hi, This is not the trivial task. You should do the following to be most accurate: 1. Find path to cached local msi (MsiOpenProduct function) 2. Enumerate all patches for that product (MsiEnumPatches function) 3. Extract transforms from every patch 4. Apply each transform to product database (according to patch sequence) 5. Query all installed components (some component may not be installed due to several conditions) 5. Query files according to components. 6. Consider to query DuplicateFile and RemoveFile tables. Even now the information may be not 100 % accurate for files that do not have versions since those files can be changed during product operation and this is valid. Now think: do you really need this? Does the claimed aim worth the effort? May be there is another architectural solution to reach your goal? -- Regards, Fyodor Koryazhkin.. -- 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
Re: [WiX-users] Where can I find the installer that was used.
Thank you all so much for the wonderful answers. As many of you have pointed out this may be more trouble that it is worth. However the main reason we are doing this is not to validate that the correct files were laid down, but to validate that the correct files were upgraded to the correct version. Since we have to support multi-instance installs we had a huge problem where my predecessors forgot the multiinstance=yes attribute on components in our installers so upgrades were not working properly for us on the multiple instances. Therfore we are making this utility that we can run in our nightly testing to try and catch something like that long before a release comes up. Tyler Reid | Operations and Infrastructure | Accenture Software | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Where can I find the installer that was used.
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 | PC Insurance 1807 Jones Street | Bolivar, MO 65613| USA Office: +cc.xxx.xxx. | Fax: 417.777.3792 E-Mail: tyler.w.r...@accenture.commailto:tyler.w.r...@accenture.com | www.accenture.com/pcsoftwarehttp://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 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users