It seems I am not the only person out on the net that is having trouble with setting up a release that will detect if there is an older version of their product already installed and if there is uninstall it then continue to do a normal install.
I was hoping that there was someone out there that actually knew the basic steps to achieve something like this (hopefully through InstallShield Developer 7 though any other way would be fine). I have been in contact with InstallShield support for 3 weeks now and they can't seem to even comprehend what I am trying to do and keep telling me that I should release a patch.
Admittedly I am new to the Installation game. I started using installshield 3 months ago and seem to be able to make it do what ever I want except this upgrade.
So to define the problem.
There are 3 possible scenarios.
1 - My product has never been installed on the machine, or has been installed but has been uninstalled
If this is the case then the install should run and install the program.
2 - A previous version of my product is installed
if this is the case then the install should uninstall the existing version (remove files as they all change, remove the listing from the add remove programs dialogue. Essentially do a normal uninstall without user interaction). Then do the install as per scenario 1.
3 - Same version is installed.
This I don't care what it does. It would be nice if it just ran the maintanace option but if it unistalls, reinstalls, I don't care.
So if there is anyone out there that can do this I really need detailed help. I have already read about putting OLDPRODUCTS and REMOVEALL and what ever else in as far as I can tell random locations in random tables (read many posts all contradicting each other) tried all of them and the closet I have come is updating the files but ending up with 2 entries in the Add remove programs Dialogue.
Please Help, I am running out of hair to pull.
Ben Woodcock
ben@datatrack.com.au