32bit native Windows applications share the same PE (portable executable) file structure and are supposed to run properly under any 32bit/64bit Windows desktop or server operating system.
64bit Windows application have PE32+ file structure and they require 64bit Windows operating system.
Popular programming languages capable of producing Windows 32/64 bit Windows applications are C++, VB and Delphi.
.NET applications have different file structure and require Microsoft .NET framework to run. NET applications are developed in .NET compatible languages such as VB.NET, C# or J# and contain IL (intermediate language) code. Microsoft .NET framework is available for Windows 98 and later operating systems.
.NET applications can be compiled as x86, AnyCpy and x64 applications and thus target different Windows platforms.
x86/AnyCpu .NET applications have PE file structure and can be run on any 32/64 bit Windows operating system with support for .NET framework.
x64 .NET applications have PE32+ file structure and can be run only on 64bit Windows operating systems with .NET framework.