This installshield project contains MSI components, each of them can be installed successfully. The old version install application - setup.exe, contains component A, B, C, D, and new Version contains A, D, E, F (remove some old components, add new ones). So I choose to make a major upgrade. Is it right?
In intallshield project, I changed package code, product code, product version, but leave upgrade unchanged. And then I made a new version setup.exe. In a fresh install, which means no old version installed previously, the new version can be installed successfully, which you can see from attachment 1.
When I have an old version installed, and then try to install the new one, the problem occurs: The installation reports success but actually it didn't uninstall new components, old version componts are still there. And I checked the log file ( I use Setup.exe /debuglog to get an debug log), it shows
...\Windows Client Package.msi" SETUPEXEDIR="D:\KT\Single Install\2.5\507\4" SETUPEXENAME="setup.exe"5-8-2010[09:18:35]: Launch result 1, exit code 1603
The whole log file is attachment 2.
I guess it means it didn't succesfully launch a new version setup.exe, but I did see the setup progross ( remove some files, add some files ), maybe it recalled old version reinstall, but why?
I searched for the reason of exit 1603, some posts suggested to check several things, like shortname registry , yes, mine is enabled, and suggested delete all TMP files. But sorry I can't delete all TMP/TEMP folders because mine is as large as 2GB. But I am sure the C driver has enough space.
Please help me. Really, really, thanks. I have been looking for an answer for a long time. I am all count on you now. Thaaaaaanks!!