Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeviceCPU returning Unknown for 32-bit IE on 64 bit OS #21

Closed
trevorgithub opened this issue Feb 2, 2017 · 3 comments
Closed

DeviceCPU returning Unknown for 32-bit IE on 64 bit OS #21

trevorgithub opened this issue Feb 2, 2017 · 3 comments

Comments

@trevorgithub
Copy link

Hi,

I noticed that with this user agent string:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; .NET4.0E)

When I ask for UserAgent.getValue("DeviceCpu"), I get a value of Unknown. From the MSDN docs you found:

WOW64 A 32-bit version of Internet Explorer is running on a 64-bit processor.

So, maybe it could be updated?

Also, I guess DeviceCPU is intended to show the CPU of the device, but really the user agent string (at least in this example) tells us two things:

  • the CPU of the device (which I think matches up with DeviceCPU)
  • the CPU architecture of the user agent.

Maybe as a future enhancement, DeviceCPU could be supplemented with another entry that indicates Agent architecture? Just a thought.

@nielsbasjes
Copy link
Owner

I updated the DeviceCPU.
I'm thinking about what to do with the Agent Architecture thing.

@nielsbasjes
Copy link
Owner

I have chosen to ignore the application architecture for the simple reason that I do not see any useful applications of such a field and it seems to be available in only a very limited number of situations.

@trevorgithub
Copy link
Author

So, for your information the primary use case is this:

  • By default, on a 64-bit Windows machine (e.g. Windows 7), when Internet Explorer 11 (the latest/last version of IE, as you know) is started it is in 32 bit mode.
  • If the user has turned on 'Enable Enhanced Protected Mode' in IE's advanced internet options, then after a restart IE 11 will be in 64 bit mode. (A similar thing exists for Window 8.1, but I think an additional property needs to be set. I image the same is true for IE 11 on Windows 10, although I haven't tested it).

Historically at least, the 32-bit version of IE has a higher level compatibility especially with add-ons . I guess it's still the case, as it's the default mode for IE 11. The 64-bit mode provides greater access to memory, and apparently is more secure.

I think with Edge, you get the 64-bit version of the browser if you're on a 64-bit machine, and the 32-bit version only if you're on a 32-bit machine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants