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

Combining Uninstalls


10 replies to this topic

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 26 November 2001 - 18:37

I would like to remove the uninstall entries for the older versions of our software, but retain their functionality.

Is there a way that I can add these calls to the uninstall used by the most recent version of our software?

I know one way to create a wrapper like the sample "Generic Uninstall DLL", but I was hoping I could do it directly in the project.  Like maybe simply adding those commands to the uninstall log.

Please let me know and thanks in advance.


lasenbby

lasenbby
  • Members
  • 744 posts

Posted 27 November 2001 - 19:28

Basically the same thing as your suggestion but you could copy those uninstall entries into the uninstall reg key for your current install under some value that you know to look for.  Then your uninstall, in onmaintuib say, could check if an older entry is there.  If so then run it/them.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 28 November 2001 - 01:03

That sounds promising ... I'll look into it when I'm back in the office tomorrow.  Thanks!

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 28 November 2001 - 18:11

Alright, I've been trying to get this working, but so far no go.

I added a OnMaintUIAfter section via the menus and then surrounded the code with MessageBox statements.  However, neither message box appears during the uninstall.

Do I have to explicity add a call to my program section?  I thought that this type of event would fire automatically, but it doesn't appear so.


lasenbby

lasenbby
  • Members
  • 744 posts

Posted 29 November 2001 - 16:13

The onmaintuiafter event is automatically called in maintmode after the file xfer; except (I think) for the instance when you call "setup -uninst", may need to check the uninstall value data.  Remember you can debug the uninstall so you should be able to check why the code is not being run.


Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 29 November 2001 - 18:45

My uninstall does indeed have that call.

Now I'm still relatively new to IS (about 1month experience), so how would one go about debugging the unistall?


lasenbby

lasenbby
  • Members
  • 744 posts

Posted 30 November 2001 - 23:35

If you are testing on your dev machine then the setup for debugging is already there and you can just dos cmd: setup -d

If you want to debug a remote machine, you can do the same thing but you must follow the procudure under "how to debug on any machine" in debugger help.  It's not that hard to setup and it turns out to be a really powerful tool.

(Obviously, you need to install first then "setup -d" to debug the uninstall.  Be sure to reboot after installing.)

Just thought of something, surely you are using event driven structure, not program block (like IS 5.5)?


Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 01 December 2001 - 20:27

Thanks for the information about debugging.  I've been using a 2nd machine for all my install testing, so I'll look into that remote debug stuff.

I'm using IS 6.31, but I inherited this setup and it does indeed have a program block.  This is why I asked if I need to add an explicit call.  Although I'm getting some events for free like OnBegin and OnReadOnly.


lasenbby

lasenbby
  • Members
  • 744 posts

Posted 03 December 2001 - 14:31

It is not hard to alter the program block to event driven; at least since you sound like you already have the file groups destinationed (components were where the destination was in 5.5) and I would assume it compiles.  So, all you really have to do is find the componentmovedata.  Everthing before this goes in onfirstuibefore and everything after goes in onfirstuiafter (basically).  Throw away the componentmovedata as it is done automatically after onfirstuibefore (and onmaintuibefore).  I'd make a copy of the script file before starting.  I bet then all your event functions get hit correctly.  (I hate to be a pesimist but I have never seen the program block work correctly in 6.x and only read about problems from this.)

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 03 December 2001 - 15:21

Alright, I'll give it a whirl as this is my only remaining tweak for this product update.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 06 December 2001 - 00:10

Alright, I finally had a chance to try out your suggestion lasenbby and that indeed did the trick.  I now get the expected messages, so I see I could fairly easily go about doing the additional uninstalls.

I also see how the events are firing.  Although I'm not sure I want to deal with an event-driven model for this update, or wait for the next go around when I have more time.

In any case, I appreciate the help and will someday definitely use it.  It just might not be now.