views:

17

answers:

0

I need to adapt existing WISE installers for 64-bit, but don't want to make copies of the existing installers. For future maintenance purposes, I want one project that produces both 32-bit and 64-bit installers.

Googling this, I find indications that it's possible, but no straightforward documentation explaining what the correct approach is. To clarify, there are a few necessary bits:

  1. A compile-time property needs to trigger what set of binaries to bundle, and later install into the appropriate Program Files folder. (Not a runtime install condition, but what files to actually bundle in the installer and compress into the cab files.)
  2. The 64-bit installer should have a distinct UpgradeCode so the 32-bit and 64-bit versions could, conceivably, be installed side-by-side. (One shouldn't be able to "repair" a 64-bit installation with a newer 32-bit installer.)
  3. The 64-bit installer should give an error message when run on 32-bit.
  4. The conditional that drives this should be specifiable on the command-line when building the project.

What approach to this goal would you take? Or, is there relevant documentation that I have missed?