Your company's ad could live here and reach over 50,000 people a month!

Share This Post

32bit vs 64bit Report

I’ve been seeing this question come up over and over again in various forums, and I wanted a definitive answer for myself, using the least amount of data points.  So, looking at a 64bit os on x64, and 32-bit os on x86, and 32-bit os on x64, this is what I’ve seen:

64bit on x64processor:
win32_computersystem.systemtype = x64-based pc
win32_processor.addresswidth = 64
win32_processor.architecture = 9
win32_processor.datawidth = 64

32bit on x86processor:
win32_computersystem.systemtype = x86-based pc
win32_processor.addresswidth = 32
win32_processor.architecture = 0
win32_processor.datawidth = 32

32bit on x64processor:
win32_computersystem.systemtype = x86-based pc
win32_processor.addresswidth = 32
win32_processor.architecture = 9
win32_processor.DataWidth = 64

Based on this data, to me the easiest to tell x86 os & 64-bit processor is this:
select sys.netbios_name0,
case when pr.addresswidth0 = 64 then ’64bit OS’
when pr.addresswidth0=32 then ’32bit OS’
end as [Operating System Type],
case when pr.addresswidth0=32 and pr.DataWidth0=64 then ‘*’
end as [32-bit OS on x64 processor]
from v_r_system sys
join v_gs_processor pr on sys.resourceid=pr.resourceid

which would result in a report similar to this, there is 1 computer which is a 32bit os loaded on a 64-bit capable computer.

If it’s irrelevant to you which computers might be x86 running on x64-capable computers, you could just report on addresswidth0=32 or 64.

Share This Post

Sherry Kissinger is a App Systems Engineer with Wells Fargo. She has been working with SMS since version 2.0. She participates in Microsoft newsgroups, forums on and the mailing list. She also specializes in automating software deployment using Windows Installer, Transforms, and vbscripting. She also answers questions posed to the ""

Leave a Reply