I'm assuming there is some way to tell programmatically if the user is running 32 or 64-bit, right?
So here's what I would do. I would deploy both versions, named whatever_32.whatever and whatever_64.whatever, probably in a subfolder.
When your app starts up, first thing off the bat, if ApplicationDeployment.CurrentDeployment.IsFirstRun is true, check the CPU type and copy the appropriate file up one level, renaming it to whatever.whatever.
IsFirstRun is true the first time the user runs the application after it is installed or updated.
If you wanted to do two builds, you could probably use post-build commands to copy the right one into the deployment, but doing two builds is a pain in the you-know-where.
RobinDotNet
Click here to visit my ClickOnce blog!