Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry
Yup, this is for an excel addin. it's a 32 bit app. On a 64 bit PC it installs in the x86 folder. I got a workaround for the solution. The ExitDialog on button click, I called a custom action to modify the EXCELPATH and immediately after that the excel is launched post install. -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Thursday, April 25, 2013 11:10 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry The question is where in the registry is it reading it from... the 32 or 64 bit hive. On my machine, the 32 bit hive has the 32 bit path and the 64 bit hive has the same 32 bit path. This makes sense to me as I have a 32 bit version of office installed. I don't think this is Wix specific, as I'm fairly certain that RegistrySearch elements map to the RegLocator table in Windows Installer. I'm betting the solution is going to be to package a x64 build of your install for 64 bit machines. Is this installer for an excel add-on? What is the bit-ness of the application you are installing? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Thursday, April 25, 2013 7:52 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry It's not a bug in the WiX toolset. It's a behavior of the Windows Installer (aka: MSI). You should ask them why they made that decision. It frustrates developers all the time. On Wed, Apr 24, 2013 at 11:33 PM, Shashank Padmanabhan (Aditi Technologies Private LTD) v-sh...@microsoft.com wrote: 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
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 linkhttp://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
Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry
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 linkhttp://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
Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry
It's not a bug in the WiX toolset. It's a behavior of the Windows Installer (aka: MSI). You should ask them why they made that decision. It frustrates developers all the time. On Wed, Apr 24, 2013 at 11:33 PM, Shashank Padmanabhan (Aditi Technologies Private LTD) v-sh...@microsoft.com wrote: 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
Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry
The question is where in the registry is it reading it from... the 32 or 64 bit hive. On my machine, the 32 bit hive has the 32 bit path and the 64 bit hive has the same 32 bit path. This makes sense to me as I have a 32 bit version of office installed. I don't think this is Wix specific, as I'm fairly certain that RegistrySearch elements map to the RegLocator table in Windows Installer. I'm betting the solution is going to be to package a x64 build of your install for 64 bit machines. Is this installer for an excel add-on? What is the bit-ness of the application you are installing? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Thursday, April 25, 2013 7:52 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry It's not a bug in the WiX toolset. It's a behavior of the Windows Installer (aka: MSI). You should ask them why they made that decision. It frustrates developers all the time. On Wed, Apr 24, 2013 at 11:33 PM, Shashank Padmanabhan (Aditi Technologies Private LTD) v-sh...@microsoft.com wrote: 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-da ta.html, where
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 linkhttp://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
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 linkhttp://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