Re: [WiX-users] WIN64DUALFOLDERS Issue - Installer modifying values obtained from registry

2013-04-26 Thread Shashank Padmanabhan (Aditi Technologies Private LTD)
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

2013-04-25 Thread Shashank Padmanabhan (Aditi Technologies Private LTD)
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

2013-04-25 Thread Shashank Padmanabhan (Aditi Technologies Private LTD)
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

2013-04-25 Thread Rob Mensching
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

2013-04-25 Thread Hoover, Jacob
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

2013-04-24 Thread Hoover, Jacob
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

2013-04-24 Thread Shashank Padmanabhan (Aditi Technologies Private LTD)
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