Isn't this a bug in WIX? The value obtained from the registry is a valid path. The value in registry points to the actual location. DualFolders comes into picture when we are trying to read a registry value and it is redirected to either of 32 or 64 bit portion of registry. But, once we read from the right portion of registry, it will contain the right value! Why on earth is the installer modifying what is obtained after reading from the right location?
-----Original Message----- From: Shashank Padmanabhan (Aditi Technologies Private LTD) [mailto:v-sh...@microsoft.com] Sent: Thursday, April 25, 2013 11:48 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry As suggested below, Tried obtaining EXCELPATH using Win64="yes". Still have the same problem. It modifies the path and points to a 32 bit location. -----Original Message----- From: Shashank Padmanabhan (Aditi Technologies Private LTD) [mailto:v-sh...@microsoft.com] Sent: Wednesday, April 24, 2013 9:15 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry thanks for the reply Jacob. Will try it out tomorrow when in office. I also found that the same works on a 2010 version of office (32 & 64 bit, on 64 bit OS). One would have expected it to fail on that too, but it works there. ________________________________________ From: Hoover, Jacob [jacob.hoo...@greenheck.com] Sent: Wednesday, April 24, 2013 8:54 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry On a 64 bit OS you'd probably want a second search with Win64=yes. <Property Id="EXCELPATH32"> <RegistrySearch Id="ExcelDirSearch32" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe" Type="raw" /> </Property> <Property Id="EXCELPATH64"> <RegistrySearch Id="ExcelDirSearch64" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe" Type="raw" Win64="yes" /> </Property> The 2nd RegistrySearch will probably give you an ICE80 *warning* for using a 64-bit RegistrySearch in a 32-bit package which you can suppress (or just ignore if you don't have treat warning as errors on) but it should work on both x86 & x64 systems. -----Original Message----- From: Shashank Padmanabhan (Aditi Technologies Private LTD) [mailto:v-sh...@microsoft.com] Sent: Wednesday, April 24, 2013 9:59 AM To: WiX-users@lists.sourceforge.net Subject: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry Hi all, I am using WIX and trying to read installed location of excel application from Registry. Goal is to launch excel post install based on what the user chooses. I obtain the same using a property below. <Property Id="EXCELPATH"> <RegistrySearch Id="ExcelDirSearch" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe" Type="raw" /> </Property> This obtains the appropriate path. But, it immediately modifies it on a system with 64 bit OS with either of 32 or 64 bit 2013 excel. (It works on 12 other combinations of Win7, Win8, Office 2007, Office 2010, Office 2013 all possible combinations of 32 & 64 bit) Actual Value in Registry: "C:\Program Files\Microsoft Office\..." Modified Value by Installer: "C:\Program Files (x86)\Microsoft Office\..." The obtained value in the property is now no longer valid, since it has the extra ' (x86)' characters in it. I searched around and came across this link<http://www.mentby.com/Group/wix-users/registrysearch-converts-value-data.html>, where it was suggested to use a custom action to modify the value. We used a custom action to modify the property. But we found that the value is not reflected when the final dialog tries to launch excel on its exit. Additionally, I also tried this. Instead of using EXCELPATH directly to launch excel, I created a dummy property, set it in the custom action and then tried to use to launch excel using that. <Property Id="ACTUAL_EXCELPATH"> </Property> Interestingly we found that the property value was being set as per the custom action and was available only until 'InstallFinalize' event. It was cleared out by the time the final dialog was using it to launch excel! (See attached log file) When we hard coded ACTUAL_EXCELPATH property value to the actual value in registry, it remained available after 'InstallFinalize' event. What do I need to do to fix this issue? Note: Also, one weird thing I observed. I quadruple checked this. Win8 64 bit, 2013 32 bit office points to 64 bit programs files location. So is the same with registry value at 'CurrentVersion\App Paths\excel'. Win8 64 bit, 2013 64 bit office points to 64 bit programs files location. So is the same with registry value at CurrentVersion\App Paths\excel. A little perplexed that 32 & 64 bit versions of office are both at the same program files location (Installed 2 different PC's). Location being - "C:\Program Files\Microsoft Office\...". The 32 bit version of office should have installed at "C:\Program Files (x86)\Microsoft Office\..."! Thanks, Shashank ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users