Has Windows Server 2012 R2 Datacenter (64-bit) no 32-bit support

32bit-64bitvirtual-machineswindows-server-2012-r2

I want to use AppVeyor to build an application for Windows. The compiler is GNAT GPL 2016 (Ada) for Windows x86.

I get the following message:

Program 'gnat-gpl-2016-x86-windows-bin.exe' failed to run: The specified executable is not a valid application for this OS platform.

Questions:

  • Does Windows Server 2012 R2 Datacenter not support 32-bit applications?
  • Is Wow64 missing?
  • What does DataExecutionPrevention_32BitApplications : True mean?

Get-CimInstance Win32_OperatingSystem | FL * prints out (shortened):

Status                                    : OK
Name                                      : Microsoft Windows Server 2012 R2 Datacenter|C:\windows|\Device\Harddisk0\Partition5
Caption                                   : Microsoft Windows Server 2012 R2 Datacenter
InstallDate                               : 3/9/2016 2:16:51 AM
CreationClassName                         : Win32_OperatingSystem
CSCreationClassName                       : Win32_ComputerSystem
CSName                                    : APPVYR-WIN
LastBootUpTime                            : 10/21/2016 1:10:27 AM
LocalDateTime                             : 10/21/2016 1:11:59 AM
OSType                                    : 18
Version                                   : 6.3.9600
BootDevice                                : \Device\HarddiskVolume3
BuildNumber                               : 9600
BuildType                                 : Multiprocessor Free
DataExecutionPrevention_32BitApplications : True
DataExecutionPrevention_Available         : True
DataExecutionPrevention_Drivers           : True
DataExecutionPrevention_SupportPolicy     : 3
Debug                                     : False
EncryptionLevel                           : 256
OSArchitecture                            : 64-bit
OSLanguage                                : 1033
OSProductSuite                            : 400
RegisteredUser                            : Windows User
SystemDevice                              : \Device\HarddiskVolume5
SystemDirectory                           : C:\windows\system32
SystemDrive                               : C:
WindowsDirectory                          : C:\windows

This question was moved from StackOverflow to ServerFault.
Has Windows Server 2012 R2 Datacenter (64-bit) no 32-bit support?

Edit:

It looks like DataExecutionPrevention_32BitApplications is hindering me to run the installer. How can I run the installer in 32-bit compatibility mode from PowerShell? I have no GUI to select such an option.

Best Answer

Server 2012 R2 is not available in a 32bit version of the OS (for all versions) but they are able to run 32bit applications as with all other 64bit Windows OS's and WOW64 is present, so I do not think that is the problem. That is unless you are one of the few people running on an Itanium processor?

DataExecutionPrevention_32BitApplications : True means that Data Execution Prevent is enabled for 32bit applications. DEP is a process built into the OS that conducts checks on memory to help prevent malicious code from running. DEP has been know to cause issues with older applications so you do have the option to disable it either for everything but critical systems, or for specific applications.