Targeting 64-bit & 32-bit in same deployment project?

Giganews Newsgroups
Subject: Targeting 64-bit & 32-bit in same deployment project?
Posted by:  Tim Werth (timmertimmertimmer@newsgroups.nospam)
Date: Tue, 5 Feb 2008

OK, now I think I have my no-spam alias set up correctly, so I am posting
this again.

I have a 32-bit app that requires the .NET Framework 2.0.  In order to
install on a 64-bit machine, the 64-bit version of the framework must be
installed.  Is it possible to have a single VS2005 project that targets both
32-bit and 64-bit OS's?  It appears the TargetPlatform property is a per
project setting, not a per solution/platform setting.  I've read the
following in the help:

"To distribute a .NET Framework application both to 32- and 64-bit
platforms, build two MSI packages, one targeted at a 32-bit and the other a
64-bit computer."

To me, an MSI package is an .MSI file.  Do they mean build two deployment
projects, i.e. two separate .vdproj files?

As a test, I created a new Setup & Deployment project in VS2005.  I set the
TargetPlatform to x64.  I set the prereqs were .NET Framework 2.0, MDAC 2.8,
and Windows Installer 3.1, and I selected the "Download prerequisistes from
the same location as my application."  If I run the bootstrapper setup.exe
that is generated, I still get "Prerequisite check for system component .NET
Framework 2.0 failed with the following error message:
"This version of the .NET Framework 2.0 is not supported on a 64-bit
operating system. Contact your application vendor.""

So shouldn't VS2005 have put a 64-bit .NET Framework 2.0 along side my .MSI?
What am I doing wrong?

Thanks,
Tim

Replies