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

Cannot remove registry entries on uninstall


9 replies to this topic

simono

simono
  • Members
  • 8 posts

Posted 01 October 2004 - 10:30

Hi,

I have created a msi installer using VS.net 2002 and have subsequently tweaked it using Orca.

The MSI is putting registry entries in both the CurrentUser and LocalMachine Registry areas, and on uninstall both should be removed.

The problem is on some XP computers the LocalMachine registry entry refuses to remove on uninstall (This has always been the case even before using Orca to edit the msi).

I have set it to DeleteAtUnistall to true for both registry entries.

Can anyone suggest a solution.

thanks,

si

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 01 October 2004 - 11:12

Generate a log file to see what's going wrong.

simono

simono
  • Members
  • 8 posts

Posted 01 October 2004 - 12:07

Hi Stefan,

bit of a newbie question but how do I do that?

cheers,

Si

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 01 October 2004 - 12:15

http://www.msifaq.com/a/1022.htm

simono

simono
  • Members
  • 8 posts

Posted 01 October 2004 - 14:37

Thanks Stefan,

set up global logging and have compared the uninstall log files for an XP machine in which the LocalMachine registry entry was successfully removed with another XP machine where it wasn't.

The log file seem quite different in structure particularly in the middle of the log (vague I know but they start and finish the same). For example the one that doesn't work doesn't have lines such as the following:

MSI (s) (F0:C4): Executing op: RegRemoveValue(Name=VERSION,Value=4.0,)

And yet is still able to remove the CurrentUser registry entries. How does it do this without this instruction?

Don't know if this accounts for the different log structure but the machine that doesn't work is setup for workgroups and the one that does is setup for a domain.


any ideas,

Si


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 October 2004 - 19:24

Can you zip and post the log of the failing uninstall here? (must be less than 100 KB to attache to the message)

simono

simono
  • Members
  • 8 posts

Posted 03 October 2004 - 20:06

Hi Stefan,

thanks for your help,

Simon

Attached Files



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 October 2004 - 09:24

I see the following lines in your log:
CODE
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {94CEB9A4-8FAC-7C9F-B1BB-03A37A4691BC} since another client exists
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {0727E742-B2CF-8F58-319F-93C4DF29BA15} since another client exists
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {E8BD74F4-934C-0026-FA2C-E321689D188B} since another client exists
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {8E3C16D1-40DC-E3CF-CD1D-2339CCCCC7B4} since another client exists
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {489C7FD3-BA54-DF82-4D3A-A547A7F7C7BA} since another client exists
MSI (s) (74:DC) [13:06:47:875]: Disallowing uninstallation of component: {A57E68F6-CE89-9148-6C03-8DF022B367EA} since another client exists
MSI (s) (74:DC) [13:06:47:937]: Disallowing uninstallation of component: {121C6D20-468C-7EE6-27B6-9D5788A362C6} since another client exists
Action start 13:06:47: CostFinalize.
MSI (s) (74:DC) [13:06:47:953]: Disallowing uninstallation of component: {0483CB9D-04FA-0346-B640-65A5F5E169EC} since another client exists
MSI (s) (74:DC) [13:06:48:031]: Disallowing uninstallation of component: {74BF6E37-CB53-2C89-9BF3-7898B9D71E87} since another client exists
MSI (s) (74:DC) [13:06:48:031]: Disallowing uninstallation of component: {8595684A-EB62-ADD9-CE52-444DF1971F1F} since another client exists

This doesn't look right and may be the cause for the problem. Can you check (open the msi file in Orca) if these component codes relate to the registry entries that fail to uninstall?
Did you test on a clean machine or on a machine that might have remainders of a previous test on it? Also check to see if these components have the Permanent flag set.

simono

simono
  • Members
  • 8 posts

Posted 05 October 2004 - 22:23

Hi Stefan,

your right the first few component references are those registry items that won't remove. The last few relate to files that are set to permenant on purpose.

The component 94CEB9A4-8FAC-7C9F-B1BB-03A37A4691BC is the only registry entry set to 'Always Create' in Visual Studio - is this the same as setting a file to permenant.

The machine in which it fails is not a clean machine as there have been many tests and a limited number of machines and I have always tried to ensure that the registry entries are manually cleaned out if the unintsall fails (current user & local machine only). Does doing the above constitute cleaning out the machine.

I'll try turning the always create to 'off' and see what effect that will have.

Any other suggestions?

cheers,

Simon

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 October 2004 - 06:57

It looks like these components are still regsitered with the installer. Manually deleting some registry enrties doesn't make a really clean machine. I highly recommend using virtual machine software like Virtual PC (included with MSDN subscription) or VMware, so you can easily reset the virtual machine to a known clean state (and also don't have to worry if your install breaks the machine)