Well, no...

Jan 15, 2008 11:15 GMT  ·  By

While Apple has already made the jump to exclusively 64-bit architectures with Mac OS X, Microsoft is lagging behind, and is still in the transition process from x86 to x64 with the Windows operating system. The reason why the Redmond company has shipped all the editions of Windows Vista in both 32-bit and 64-bit versions, as well as the reason why it will continue to do so with Windows 7, is related to the ecosystem of hardware and software products built around the platform, and that is currently focused on the x86 version of Windows.

One way for the Redmond company to smooth out the transition period, at least as far as software developers are concerned would be to provide a way for applications to come in a single package but permit the end user to install them on both 32-bit and 64-bit Windows. The first step in this regard would be the evolution of the Windows Installer in order to provide the possibility of a single package deploying 32-bit binaries on x86 Windows, as well as 32- and 64-bit binaries on x64 Windows. For the time being this is impossible.

"If you're actually trying to install 64-bit binaries to appropriate directories and write to the 64-bit view of the registry, the short answer is that you can't build a single package. Before delving into the details, let me clarify that both 32- and 64-bit binaries can be installed to either ProgramFilesFolder or ProgramFiles64Folder, but may not load correctly into a 64- or 32-bit process, respectively. The Windows Installer SDK, for example, installs all of x86, IA64, and x64 binaries under ProgramFilesFolder for link time support. But when you need to install files correctly, multiple packages are required because not all 64-bit features are lit up if the package isn't marked as a 64-bit package," explained Heath Stewart, Microsoft Software Design Engineer.

Essentially, architectures including Intel for x86, Intel64 for IA64, and x64 for x64 have to be distinctly listed in the Template summary property. There is simply no way around this. The Template summary property documentation actually restricts developers to a single platform, meaning that you will not be able to support both 32-bit and 64-bit Windows Vista with a single installer package, as listing multiple platform values will cause them to be invalid.