From: Tim Won on
I have an app that looks for specific registry keys. It knows where the
keys are. It knows where to look in the 64 bit registry. It knows where to
look whether it is in the wow6432 branch or the main (64 bit) branch.

The app runs locally for information on the machine it is running. It looks
remotely for the same data on remote machines.

The app is a 32 bit app.
All mentions of 64 mean x64, not Itanium.

Running on the local machine for local machine info
If looking at the local machine it works fine under all 32 bit oses.
If running on a 64 bit OS it works fine some of the time but the reflector
comes in and takes me places I did want to be looking at. I think I can
deal with the local lookup using KEY_WOW64_32KEY and KEY_WOW64_64KEY as
appropriate wih some code changes

Running on one machine doing remote lookup
The remote works fine from a 32 bit OS looking at 32 bit OSes
The remote works fine from a 64 bit OS looking at 32 bit OSes (from the
little testing I have done)

The issues I am trying to deal with have to do with remotely looking at a 64
bit OS from a 32 bit OS and looking at a 64 bit OS from A 64 bit OS (have
not tried the 64 to 64 yet)
It looks like the KEY_WOW64_32KEY and KEY_WOW64_64KEY do not have an effect
looking at the remote reg of a 64 from a 32 bit app running on a 32 but
machine. It looks like the only view I get is of the 32 bit portion of the
registry. These results are from an XP SP2 machine going to a Windows
Server 2003 SP1 machine.

This documentation confuses seems to lead me to believe the actions I take
also will depend on what SP level is on the target machine.

RRemote Registry Access in 64-bit Windows
The registry on a 64-bit Windows system can be accessed and viewed remotely
from a 32-bit or 64-bit Windows system across a network. In Windows Server
2003 and all prior 64-bit Windows versions, the 64-bit view of the registry
is the only view that is exposed to a remote client.

However, Windows Server 2003 SP1 and later, and the 64-bit versions of
Windows XP are different, and expose the 32-bit view of registry if it
detects that the remote client is 32-bit. Otherwise, it would provide the
64-bit view of the system registry.

I guess the real question I am trying to ask is:

Is it possible for an app to say - don't think for me - always use the
native view of the machine being looked at (local or remote). For this to
make sense for me it needs to be able to say that whether the app ius
running on a 32 or 64 and the target is 32 or 64 .

Thanks for any help. I would really appreciate any insight into this.



From: Charlie Russel - MVP on
Your best bet is probably to ask a question over on the MSDN forums, but the
short answer is, I would be surprised if there were a way for a 32bit,
PRE-x64, OS to know how to do this. I would expect the x64 going to x64 OS
to be able to look at either version.

--
Charlie.
http://msmvps.com/xperts64


"Tim Won" <tim_won(a)gmail.com> wrote in message
news:uilR3aM6GHA.4692(a)TK2MSFTNGP04.phx.gbl...
>I have an app that looks for specific registry keys. It knows where the
>keys are. It knows where to look in the 64 bit registry. It knows where
>to look whether it is in the wow6432 branch or the main (64 bit) branch.
>
> The app runs locally for information on the machine it is running. It
> looks remotely for the same data on remote machines.
>
> The app is a 32 bit app.
> All mentions of 64 mean x64, not Itanium.
>
> Running on the local machine for local machine info
> If looking at the local machine it works fine under all 32 bit oses.
> If running on a 64 bit OS it works fine some of the time but the reflector
> comes in and takes me places I did want to be looking at. I think I can
> deal with the local lookup using KEY_WOW64_32KEY and KEY_WOW64_64KEY as
> appropriate wih some code changes
>
> Running on one machine doing remote lookup
> The remote works fine from a 32 bit OS looking at 32 bit OSes
> The remote works fine from a 64 bit OS looking at 32 bit OSes (from the
> little testing I have done)
>
> The issues I am trying to deal with have to do with remotely looking at a
> 64 bit OS from a 32 bit OS and looking at a 64 bit OS from A 64 bit OS
> (have not tried the 64 to 64 yet)
> It looks like the KEY_WOW64_32KEY and KEY_WOW64_64KEY do not have an
> effect looking at the remote reg of a 64 from a 32 bit app running on a 32
> but machine. It looks like the only view I get is of the 32 bit portion
> of the registry. These results are from an XP SP2 machine going to a
> Windows Server 2003 SP1 machine.
>
> This documentation confuses seems to lead me to believe the actions I take
> also will depend on what SP level is on the target machine.
>
> RRemote Registry Access in 64-bit Windows
> The registry on a 64-bit Windows system can be accessed and viewed
> remotely from a 32-bit or 64-bit Windows system across a network. In
> Windows Server 2003 and all prior 64-bit Windows versions, the 64-bit view
> of the registry is the only view that is exposed to a remote client.
>
> However, Windows Server 2003 SP1 and later, and the 64-bit versions of
> Windows XP are different, and expose the 32-bit view of registry if it
> detects that the remote client is 32-bit. Otherwise, it would provide the
> 64-bit view of the system registry.
>
> I guess the real question I am trying to ask is:
>
> Is it possible for an app to say - don't think for me - always use the
> native view of the machine being looked at (local or remote). For this to
> make sense for me it needs to be able to say that whether the app ius
> running on a 32 or 64 and the target is 32 or 64 .
>
> Thanks for any help. I would really appreciate any insight into this.
>
>
>

From: Tim Won on
Regedit on xp SP2 can see both portions of the registry on a 64 bit OS
(Windows Server 2003 SP1 x64). So it must be possible. Any clue as what it
may be doing that I could also. It is just a 32 bit app on a 32 bit OS
looking at the registry on a 64 bit machine


"Charlie Russel - MVP" <charlie(a)mvKILLALLSPAMMERSps.org> wrote in message
news:A4577679-A8C2-4B77-9D2B-F4AFE9E80742(a)microsoft.com...
> Your best bet is probably to ask a question over on the MSDN forums, but
> the short answer is, I would be surprised if there were a way for a 32bit,
> PRE-x64, OS to know how to do this. I would expect the x64 going to x64 OS
> to be able to look at either version.
>
> --
> Charlie.
> http://msmvps.com/xperts64
>
>
> "Tim Won" <tim_won(a)gmail.com> wrote in message
> news:uilR3aM6GHA.4692(a)TK2MSFTNGP04.phx.gbl...
>>I have an app that looks for specific registry keys. It knows where the
>>keys are. It knows where to look in the 64 bit registry. It knows where
>>to look whether it is in the wow6432 branch or the main (64 bit) branch.
>>
>> The app runs locally for information on the machine it is running. It
>> looks remotely for the same data on remote machines.
>>
>> The app is a 32 bit app.
>> All mentions of 64 mean x64, not Itanium.
>>
>> Running on the local machine for local machine info
>> If looking at the local machine it works fine under all 32 bit oses.
>> If running on a 64 bit OS it works fine some of the time but the
>> reflector comes in and takes me places I did want to be looking at. I
>> think I can deal with the local lookup using KEY_WOW64_32KEY and
>> KEY_WOW64_64KEY as appropriate wih some code changes
>>
>> Running on one machine doing remote lookup
>> The remote works fine from a 32 bit OS looking at 32 bit OSes
>> The remote works fine from a 64 bit OS looking at 32 bit OSes (from the
>> little testing I have done)
>>
>> The issues I am trying to deal with have to do with remotely looking at a
>> 64 bit OS from a 32 bit OS and looking at a 64 bit OS from A 64 bit OS
>> (have not tried the 64 to 64 yet)
>> It looks like the KEY_WOW64_32KEY and KEY_WOW64_64KEY do not have an
>> effect looking at the remote reg of a 64 from a 32 bit app running on a
>> 32 but machine. It looks like the only view I get is of the 32 bit
>> portion of the registry. These results are from an XP SP2 machine going
>> to a Windows Server 2003 SP1 machine.
>>
>> This documentation confuses seems to lead me to believe the actions I
>> take also will depend on what SP level is on the target machine.
>>
>> RRemote Registry Access in 64-bit Windows
>> The registry on a 64-bit Windows system can be accessed and viewed
>> remotely from a 32-bit or 64-bit Windows system across a network. In
>> Windows Server 2003 and all prior 64-bit Windows versions, the 64-bit
>> view of the registry is the only view that is exposed to a remote client.
>>
>> However, Windows Server 2003 SP1 and later, and the 64-bit versions of
>> Windows XP are different, and expose the 32-bit view of registry if it
>> detects that the remote client is 32-bit. Otherwise, it would provide the
>> 64-bit view of the system registry.
>>
>> I guess the real question I am trying to ask is:
>>
>> Is it possible for an app to say - don't think for me - always use the
>> native view of the machine being looked at (local or remote). For this
>> to make sense for me it needs to be able to say that whether the app ius
>> running on a 32 or 64 and the target is 32 or 64 .
>>
>> Thanks for any help. I would really appreciate any insight into this.
>>
>>
>>
>


From: Charlie Russel - MVP on
You'll probably have better luck over on MSDN. Frankly, most of us here
aren't developers and I know I'm certainly not.

--
Charlie.
http://msmvps.com/xperts64


"Tim Won" <tim_won(a)gmail.com> wrote in message
news:uhhs7zX6GHA.4112(a)TK2MSFTNGP04.phx.gbl...
> Regedit on xp SP2 can see both portions of the registry on a 64 bit OS
> (Windows Server 2003 SP1 x64). So it must be possible. Any clue as what
> it may be doing that I could also. It is just a 32 bit app on a 32 bit OS
> looking at the registry on a 64 bit machine
>
>
> "Charlie Russel - MVP" <charlie(a)mvKILLALLSPAMMERSps.org> wrote in message
> news:A4577679-A8C2-4B77-9D2B-F4AFE9E80742(a)microsoft.com...
>> Your best bet is probably to ask a question over on the MSDN forums, but
>> the short answer is, I would be surprised if there were a way for a
>> 32bit, PRE-x64, OS to know how to do this. I would expect the x64 going
>> to x64 OS to be able to look at either version.
>>
>> --
>> Charlie.
>> http://msmvps.com/xperts64
>>
>>
>> "Tim Won" <tim_won(a)gmail.com> wrote in message
>> news:uilR3aM6GHA.4692(a)TK2MSFTNGP04.phx.gbl...
>>>I have an app that looks for specific registry keys. It knows where the
>>>keys are. It knows where to look in the 64 bit registry. It knows where
>>>to look whether it is in the wow6432 branch or the main (64 bit) branch.
>>>
>>> The app runs locally for information on the machine it is running. It
>>> looks remotely for the same data on remote machines.
>>>
>>> The app is a 32 bit app.
>>> All mentions of 64 mean x64, not Itanium.
>>>
>>> Running on the local machine for local machine info
>>> If looking at the local machine it works fine under all 32 bit oses.
>>> If running on a 64 bit OS it works fine some of the time but the
>>> reflector comes in and takes me places I did want to be looking at. I
>>> think I can deal with the local lookup using KEY_WOW64_32KEY and
>>> KEY_WOW64_64KEY as appropriate wih some code changes
>>>
>>> Running on one machine doing remote lookup
>>> The remote works fine from a 32 bit OS looking at 32 bit OSes
>>> The remote works fine from a 64 bit OS looking at 32 bit OSes (from the
>>> little testing I have done)
>>>
>>> The issues I am trying to deal with have to do with remotely looking at
>>> a 64 bit OS from a 32 bit OS and looking at a 64 bit OS from A 64 bit OS
>>> (have not tried the 64 to 64 yet)
>>> It looks like the KEY_WOW64_32KEY and KEY_WOW64_64KEY do not have an
>>> effect looking at the remote reg of a 64 from a 32 bit app running on a
>>> 32 but machine. It looks like the only view I get is of the 32 bit
>>> portion of the registry. These results are from an XP SP2 machine going
>>> to a Windows Server 2003 SP1 machine.
>>>
>>> This documentation confuses seems to lead me to believe the actions I
>>> take also will depend on what SP level is on the target machine.
>>>
>>> RRemote Registry Access in 64-bit Windows
>>> The registry on a 64-bit Windows system can be accessed and viewed
>>> remotely from a 32-bit or 64-bit Windows system across a network. In
>>> Windows Server 2003 and all prior 64-bit Windows versions, the 64-bit
>>> view of the registry is the only view that is exposed to a remote
>>> client.
>>>
>>> However, Windows Server 2003 SP1 and later, and the 64-bit versions of
>>> Windows XP are different, and expose the 32-bit view of registry if it
>>> detects that the remote client is 32-bit. Otherwise, it would provide
>>> the 64-bit view of the system registry.
>>>
>>> I guess the real question I am trying to ask is:
>>>
>>> Is it possible for an app to say - don't think for me - always use the
>>> native view of the machine being looked at (local or remote). For this
>>> to make sense for me it needs to be able to say that whether the app ius
>>> running on a 32 or 64 and the target is 32 or 64 .
>>>
>>> Thanks for any help. I would really appreciate any insight into this.
>>>
>>>
>>>
>>
>
>

From: "Darrell Gorter[MSFT]" on
Hello,
Charlie is correct you may have better luck over in an MSND newsgroup.
I did a ask of this and I got back this:
you can always specify KEY_WOW64_64KEY in your calls (local or remote), and
this will :
- give you the 32-bit view of the local/remote machine if it is running a
32-bit OS.
- give you the 64-bit view of the local/remote machine if it is running a
64-bit OS.
Note: you need to be aware that using the KEY_WOW64_...flags on a target
W2K (nt5) system will fail the reg apis as the flags weren't defined at
that time.
Thanks,
Darrell Gorter[MSFT]

This posting is provided "AS IS" with no warranties, and confers no rights
--------------------
<From: "Charlie Russel - MVP" <charlie(a)mvKILLALLSPAMMERSps.org>
<References: <uilR3aM6GHA.4692(a)TK2MSFTNGP04.phx.gbl>
<A4577679-A8C2-4B77-9D2B-F4AFE9E80742(a)microsoft.com>
<uhhs7zX6GHA.4112(a)TK2MSFTNGP04.phx.gbl>
<In-Reply-To: <uhhs7zX6GHA.4112(a)TK2MSFTNGP04.phx.gbl>
<Subject: Re: 32 bit app looking at registry on x64
<Date: Sun, 8 Oct 2006 08:24:58 -0700
<Lines: 91
<Message-ID: <05DBD901-BD4C-44A5-8173-8D80D813D9ED(a)microsoft.com>
<MIME-Version: 1.0
<Content-Type: text/plain;
< format=flowed;
< charset="iso-8859-1";
< reply-type=response
<Content-Transfer-Encoding: 7bit
<X-Priority: 3
<X-MSMail-Priority: Normal
<X-Newsreader: Microsoft Windows Mail 6.0.5744.16384
<X-MimeOLE: Produced By Microsoft MimeOLE V6.0.5744.16384
<X-MS-CommunityGroup-PostID: {05DBD901-BD4C-44A5-8173-8D80D813D9ED}
<X-MS-CommunityGroup-ThreadID: FC691FCE-001C-4E31-A87B-8532B631833C
<X-MS-CommunityGroup-ParentID: E13A8A18-0CB2-4AD1-94FB-E6FAF138B8F4
<Newsgroups: microsoft.public.windows.64bit.general
<Path: TK2MSFTNGXA01.phx.gbl
<Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.windows.64bit.general:40968
<NNTP-Posting-Host: TK2MSFTNGXA01.phx.gbl 127.0.0.1
<X-Tomcat-NG: microsoft.public.windows.64bit.general
<
<You'll probably have better luck over on MSDN. Frankly, most of us here
<aren't developers and I know I'm certainly not.
<
<--
<Charlie.
<http://msmvps.com/xperts64
<
<
<"Tim Won" <tim_won(a)gmail.com> wrote in message
<news:uhhs7zX6GHA.4112(a)TK2MSFTNGP04.phx.gbl...
<> Regedit on xp SP2 can see both portions of the registry on a 64 bit OS
<> (Windows Server 2003 SP1 x64). So it must be possible. Any clue as
what
<> it may be doing that I could also. It is just a 32 bit app on a 32 bit
OS
<> looking at the registry on a 64 bit machine
<>
<>
<> "Charlie Russel - MVP" <charlie(a)mvKILLALLSPAMMERSps.org> wrote in
message
<> news:A4577679-A8C2-4B77-9D2B-F4AFE9E80742(a)microsoft.com...
<>> Your best bet is probably to ask a question over on the MSDN forums,
but
<>> the short answer is, I would be surprised if there were a way for a
<>> 32bit, PRE-x64, OS to know how to do this. I would expect the x64 going
<>> to x64 OS to be able to look at either version.
<>>
<>> --
<>> Charlie.
<>> http://msmvps.com/xperts64
<>>
<>>
<>> "Tim Won" <tim_won(a)gmail.com> wrote in message
<>> news:uilR3aM6GHA.4692(a)TK2MSFTNGP04.phx.gbl...
<>>>I have an app that looks for specific registry keys. It knows where
the
<>>>keys are. It knows where to look in the 64 bit registry. It knows
where
<>>>to look whether it is in the wow6432 branch or the main (64 bit) branch.
<>>>
<>>> The app runs locally for information on the machine it is running. It
<>>> looks remotely for the same data on remote machines.
<>>>
<>>> The app is a 32 bit app.
<>>> All mentions of 64 mean x64, not Itanium.
<>>>
<>>> Running on the local machine for local machine info
<>>> If looking at the local machine it works fine under all 32 bit oses.
<>>> If running on a 64 bit OS it works fine some of the time but the
<>>> reflector comes in and takes me places I did want to be looking at. I
<>>> think I can deal with the local lookup using KEY_WOW64_32KEY and
<>>> KEY_WOW64_64KEY as appropriate wih some code changes
<>>>
<>>> Running on one machine doing remote lookup
<>>> The remote works fine from a 32 bit OS looking at 32 bit OSes
<>>> The remote works fine from a 64 bit OS looking at 32 bit OSes (from
the
<>>> little testing I have done)
<>>>
<>>> The issues I am trying to deal with have to do with remotely looking
at
<>>> a 64 bit OS from a 32 bit OS and looking at a 64 bit OS from A 64 bit
OS
<>>> (have not tried the 64 to 64 yet)
<>>> It looks like the KEY_WOW64_32KEY and KEY_WOW64_64KEY do not have an
<>>> effect looking at the remote reg of a 64 from a 32 bit app running on
a
<>>> 32 but machine. It looks like the only view I get is of the 32 bit
<>>> portion of the registry. These results are from an XP SP2 machine
going
<>>> to a Windows Server 2003 SP1 machine.
<>>>
<>>> This documentation confuses seems to lead me to believe the actions I
<>>> take also will depend on what SP level is on the target machine.
<>>>
<>>> RRemote Registry Access in 64-bit Windows
<>>> The registry on a 64-bit Windows system can be accessed and viewed
<>>> remotely from a 32-bit or 64-bit Windows system across a network. In
<>>> Windows Server 2003 and all prior 64-bit Windows versions, the 64-bit
<>>> view of the registry is the only view that is exposed to a remote
<>>> client.
<>>>
<>>> However, Windows Server 2003 SP1 and later, and the 64-bit versions of
<>>> Windows XP are different, and expose the 32-bit view of registry if it
<>>> detects that the remote client is 32-bit. Otherwise, it would provide
<>>> the 64-bit view of the system registry.
<>>>
<>>> I guess the real question I am trying to ask is:
<>>>
<>>> Is it possible for an app to say - don't think for me - always use the
<>>> native view of the machine being looked at (local or remote). For
this
<>>> to make sense for me it needs to be able to say that whether the app
ius
<>>> running on a 32 or 64 and the target is 32 or 64 .
<>>>
<>>> Thanks for any help. I would really appreciate any insight into this.
<>>>
<>>>
<>>>
<>>
<>
<>
<
<