Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Reg path value retrieved not the same in registry


7 replies to this topic

vaqueros

vaqueros
  • Full Members
  • 53 posts

Posted 29 August 2016 - 22:22

I have a 32 bit installation which uses the RegLocator table to retrieve the path location of the winword.exe file using the reg key below.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe

 

I assigned a property to store the path location and the installation wizard populates the property successfully. However, if the winword.exe file is for a 64 bit installation of MS Office the property value does not match he value in the registry.

 

In other words if the value on the registry is:

C:\Program Files\Microsoft Office\Root\Office16\

 

The property will be populated with the value:

C:\Program Files (x86)\Microsoft Office\Root\Office16\

 

I see the logic that the setup is 32 bit and the value is for a 64 bit installation of MS Office but shouldn't the property be populated with the actual value that is retrieved from the registry? I've tried changing the value type to path (0) and also regular value (2).

 

Any help is greatly appreciated.



deramor

deramor
  • Full Members
  • 187 posts

Posted 29 August 2016 - 22:39

What is the value of your RegLocator table?

I'm not sure what it should be but I know it should be 0, 1, or 2.



vaqueros

vaqueros
  • Full Members
  • 53 posts

Posted 30 August 2016 - 15:35

I've tried having the type set to 0 and also set to 2. Same results.



deramor

deramor
  • Full Members
  • 187 posts

Posted 30 August 2016 - 16:16

Are you sure you are comparing the correct registry value?  I just want to be sure you know about the Wow6432Node segment of the registry.

Since you are comparing 2 paths, one 32-bit and the other 64-bit, are you sure you are comparing the values from the key you intend?

 

If you want your 32-bit installer to look here:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe

 

Then in order to compare what your installer will see, you must look here via regedit:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe

 

A 32-bit process will get all of its registry lookups redirected to this Wow6432Node registry segment due to a special feature of Windows 64-bit OS called Registry Reflection.

https://msdn.microso...5(v=vs.85).aspx



vaqueros

vaqueros
  • Full Members
  • 53 posts

Posted 30 August 2016 - 16:40

Thanks for the reply. Yes, in fact the reg key is present in both the 32 (WOW6432Node) and the 64 bit reg keys tree. I have already verified that both have the same value on the machine. The reg key value I'm querying is the location of the MS Word executable (winword.exe). If the MS Office version installed is 64 bit the reg value is:

C:\Program Files\Microsoft Office\Root\Office16\

 

However the value set to the RegLocator property is:

C:\Program Files (x86)\Microsoft Office\Root\Office16\


Edited by vaqueros, 30 August 2016 - 16:42.


deramor

deramor
  • Full Members
  • 187 posts

Posted 31 August 2016 - 23:12

Can you provide the entire entry for the reglocator table and the Template summary setting on the General Information view?



vaqueros

vaqueros
  • Full Members
  • 53 posts

Posted 01 September 2016 - 16:47

RegLocator:
sigWORDPATH
2
SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe
Path
0
 
Template Summary: Intel;1033


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 September 2016 - 15:59

Did you check the log for all occurrences of your property? To see if it might get changed after being read from registry.