Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

uninstall the older version within new install


5 replies to this topic

gatekeeper

gatekeeper
  • Members
  • 18 posts

Posted 14 February 2003 - 23:56

Need to remove the older installation (behind the scene) before the new files get distributed. How can this be done?
I have read about silent uninstall on this forum but am still confused about its syntax as well as its usage.
Can anyone help?

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 15 February 2003 - 02:09

Actually you've really read about silent INSTALLs, because silent UNINSTALLs don't really work.  At least not in my experience.  Could never get it to generate a proper ISS file, and without it, it may only hide some progress bars if anything.  The user WILL still get prompted, so you'll need to check whether or not they actually/successfully did it.

To get going though, you can just look up the old uninstall command in the registry (HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\<GUID ofOldSetup>\UninstallString) and run that command through LaunchAppAndWait.
user posted image

gatekeeper

gatekeeper
  • Members
  • 18 posts

Posted 18 February 2003 - 16:54

Then is it possible to remove couple of components and then redistribute them with newer files?

Xitch13

Xitch13
  • Members
  • 134 posts

Posted 18 February 2003 - 19:01

Having the new files copy over the old files isn't working for you?  What are you trying to do?  An uninstall then reinstall may not be the best solution. ( Then again it may be the only solution).

I've run into trouble trying to over-copy registered files.  The work-around I use is to delete the file(making sure TARGETDIR is set to the correct directory) then lay them down again letting IS register them.

Taco is right though about using that registry key.  I use that same method to uninstall a secondary project when my main product is uninstall.  It's not silent, but I've made the uninstall for the secondary product completely automatic, so it just runs.  Note: It is very important to pass the NOWAIT parameter when calling the LaunchApp, otherwise the uninstall hangs
There is great chaos under heaven, and the situation is excellent. (Mao Tse Tung)

mouy

mouy
  • Members
  • 56 posts

Posted 19 February 2003 - 01:58

Hi,

I have a similar problem in that all the component names and install set names have changed in my new installation.

Running the uninstaller or Repair with the new file no longer works, so there's an issue when ppl are trying to upgrade their software.

Can I change the GUID of my new project, then detect it in my new project if the old installation exists and call the uninstaller of the old project (as TACO's suggested thru the registry) this way?

Thankyou

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 19 February 2003 - 02:28

Xitch13/gatekeeper: Yeah, if you use Maintenace Mode, you would definitely have to do something else to make it automatic.  I don't use Maintenace, but I still add a command line switch to the default UninstallString, so I know the true setup context.

Now gatekeeper, this isn't making use of InstallShield's true silent capability, but a similar idea. That's the point I was trying to make earlier.  However, since your install is already out in the field, nothing you can do at this point to make it "automatic".

I have always used LaunchAppAndWait for everything I do without any problems, but whatever it takes to get the job done. ;)

mouy: I totally understand your problem and this is part of the reason I hate Maintenance.  To get around it, you can certainly change the GUID of your new project, but you would NOT have to uninstall on-the-fly.  You can instead defer it until "Remove" was called from the new product.  So after doing ComponentRemoveAll, call the UninstallStrings of any old products.  However, you're gonna have the same problem with it NOT being "automatic" that I previously mentioned.


user posted image