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.

Uninstall Does NOT Uninstall Components

4 replies to this topic


  • Members
  • 3 posts

Posted 03 March 2004 - 21:03

I have an InstallShield Professional 6.31 Uninstall problem.

I had a working installation (event based, using an external DLL).

While testing I ran into a Win2K and SdShowMsg causing wizard to hang problem.
While debugging this I did surgery on my working installation.
(I added logic to not call SdShowMsg when running in Win2K)
Now wizard does not hang, but uninstallation fails.
I kept track of what I did, but careful restoration has failed.

The problem seems to be that components are not being uninstalled.

To examine this, I installed hooks to log OnInstalling / OnInstalled / OnUninstalling / OnUninstalled events.

When I install I see the install hook log entries.

When I uninstall there there are no uninstall hook log entries.
I see OnBegin, OnMaintUIBefore, OnMoving, OnMoved, (I do not have a MaintUIAfter), OnEnd.

So to continue testing I need to manually uninstall the program.
* manually edit the registry to remove the installation
* manually delete files and folders

I have examined the install log file using the Log File Viewer.
(Why are the files being copied (installed) not marked created?)

I did a reinstall of ISPro6.31 to make sure I had a clean environment.
I stubbed out most of the external DLL calls.
I marked most of my components "do not include in build".
I manually compared my script with an older working one.
The file groups are marked: dynamic load, share:no, uninstall:yes, selfreg:no, locked:yes, compressed:yes.

1) What could cause the uninstall to fail like this?
2) How can I track the internal processing of the uninstall process to debug the problem?
3) Could the cause of the Win2K problem be the real issue here?
4) Any other suggestions would be appreciated.

Thank you


  • Full Members
  • 35 posts

Posted 05 March 2004 - 09:35

Could you describe some more how the uninstallation fails (in detail).

Is there any differences in the uninstall behaivor if you start the uninstallation from the setup or the add/remove programs ?

W2K is not the problem !

If your problem is that the components will not uninstall please check that you don't have a misplaced Disable (LOGGING); in your installation event.


  • Members
  • 3 posts

Posted 05 March 2004 - 17:47

* Win2K is not the issue here. It is failing on Win98SE, Win2K, WinXP ...

* I get the same behavior running setup a second time or add/remove.

* I do not have a Disable(LOGGING)

* Uninstall starts, I see my SdShowMsg for my custom stuff, I get a finish screen.


  • Members
  • 134 posts

Posted 09 March 2004 - 19:14

Several possibilities spring to mind on this.

First have you changed directories from the TARGETDIR (or haven't in some cases)?

Did you check your installing code for that misplaced Disable(LOGGING) command?

Did you remove the ComponentRemoveAll() function call?

Are you sure you actually making the changes to your uninstall?(if you don't remove the copy of the old uninstaller, it will keep running it. Check under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Your Project GUID}
for the uninstallString to make sure your deleting that as well.)

Actually that last comment may be the most helpful. I'd check there first and make sure your changes are going through. Also when you manually clear the machine make sure you delete any info in InstallShield's directory about you GUID. (Do a search on your GUID which is usually incased in {}'s. Most times it is at C:\Program Files\InstallShield Installation Information\{Your Project GUID}

Also if you post your code, I'll take a look and see if I can find anything.

There is great chaos under heaven, and the situation is excellent. (Mao Tse Tung)


  • Members
  • 3 posts

Posted 10 March 2004 - 17:54

I found the problem.

The problem was that I redefined OnMaintUIBefore.