The problem is that we support multiple server instances (for example, one for "production", one for "test"). To handle this, we want the user to install a separate instance of the same client on their machine (they would specify an "identifier" that must match the servers they connect to). This is necessary in order to keep the two instances completely separate (each instance has its own directories, its own copies of the executables, etc.).
But when I try to install the 2nd instance, Windows Installer thinks I'm trying to modify or remove the first installation (because I'm using the same MSI file, with the same ProductCode).
I suppose I could distribute multiple 'versions' of the MSI file, each with a unique ProductCode - but this seems rather kludgy (and just imagine trying to document this for users). I'd prefer to handle this more elegantly.
I was thinking I might be able to insert some custom code that dynamically generates a ProductCode based on the unique text identifer the user enters... but I haven't had any luck.
Any suggestions? Am I on the right path? Or is this hopeless?