X64 Registry question

Discussion in 'Windows 64bit' started by Tim Won, Oct 6, 2006.

  1. Tim  Won

    Tim Won Guest

    Questions about the behavior on a 64 bit machiknI picked 2 reg keys I wanted
    to use for testing knowing they had different values in the native mode
    registry and the wow6432 mode.

    HKLM\SOFTWARE\Microsoft\.NETFramework\InstallRoot has a value of:
    C:\WINDOWS\Microsoft.NET\Framework64\
    HKLM\SOFTWARE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\InstallRoot has a
    value of
    C:\WINDOWS\Microsoft.NET\Framework\

    The code, compiled as a 32 bit app and running on 64 bit OS (Windows Server
    2003 SP1) looks like:

    Open(L"SOFTWARE\\Wow6432Node\\Microsoft\\.NETFramework");
    Query(L"InstallRoot", str1);

    Open(L"SOFTWARE\\Microsoft\\.NETFramework");
    Query(L"InstallRoot", str2);

    Open(L"SOFTWARE\\Microsoft\\.NETFramework", KEY_WOW64_64KEY);
    Query(L"InstallRoot", str3);

    Open(L"SOFTWARE\\Microsoft\\.NETFramework", KEY_WOW64_32KEY);
    Query(L"InstallRoot", str4);

    Open(L"SOFTWARE\\Wow6432Node\\Microsoft\\.NETFramework", KEY_WOW64_64KEY);
    Query(L"InstallRoot", str5);

    Open(L"SOFTWARE\\Wow6432Node\\Microsoft\\.NETFramework", KEY_WOW64_32KEY);
    Query(L"InstallRoot", str6);

    The results
    str1 = C:\WINDOWS\Microsoft.NET\Framework\
    str2 = C:\WINDOWS\Microsoft.NET\Framework\
    str3 = C:\WINDOWS\Microsoft.NET\Framework64\
    str4 = C:\WINDOWS\Microsoft.NET\Framework\
    str5 = C:\WINDOWS\Microsoft.NET\Framework64\
    str6 = C:\WINDOWS\Microsoft.NET\Framework\

    I expected str2, str3 and str4 to be as they are. str2 has no changes to
    the RegOpenKeyEx access mask so it was redirected to the 32 bit part of the
    registry. With the access mask modifiers for str3 and str4 I also would
    expect the results.

    But the results for str1, str5 and str6 confuse me unless something is
    preprocessing the registry key I want to open and stripping out the wow6432
    from the path. Is this what is happening under the covers? I am trying to
    understand the behavior so I can see registry keys locally and remotely just
    like regedit does. The 32 bit regedit on a 32 bit machine can see all the
    registry keys on a remote 64 bit system.

    One more question - is the point not to let an app assume whether it is
    being redirected or not so putting Wow6432Node us like a no-op? To protect
    the app from future changes?
     
    Tim Won, Oct 6, 2006
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. wege

    Help:win95 registry vs. winxp registry

    wege, Jun 8, 2006, in forum: Computer Support
    Replies:
    3
    Views:
    660
    Toolman Tim
    Jun 9, 2006
  2. =?Utf-8?B?Um9nZXJQ?=

    Win XP x64 and Registry Cleaners.

    =?Utf-8?B?Um9nZXJQ?=, Aug 15, 2005, in forum: Windows 64bit
    Replies:
    19
    Views:
    792
    Torrey Lauer
    Aug 17, 2005
  3. =?Utf-8?B?VG9tbXkgQi4=?=

    SystemBiosVersion missing in registry on W2003 x64

    =?Utf-8?B?VG9tbXkgQi4=?=, Jan 11, 2006, in forum: Windows 64bit
    Replies:
    0
    Views:
    425
    =?Utf-8?B?VG9tbXkgQi4=?=
    Jan 11, 2006
  4. =?Utf-8?B?Q2FybG9z?=

    Registry Cleaner x64 compatible and freeware

    =?Utf-8?B?Q2FybG9z?=, Apr 28, 2006, in forum: Windows 64bit
    Replies:
    10
    Views:
    652
    Bruce Chambers
    Jun 21, 2006
  5. =?Utf-8?B?T1NoZWxsNzc=?=

    BIOS data from registry on Windows Server 2003 Enterprise x64 Edit

    =?Utf-8?B?T1NoZWxsNzc=?=, May 1, 2006, in forum: Windows 64bit
    Replies:
    11
    Views:
    1,105
    Homer J. Simpson
    May 2, 2006
Loading...

Share This Page