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 - Vista requires reboot, but not XP


6 replies to this topic

JackH

JackH
  • Full Members
  • 6 posts

Posted 11 May 2007 - 04:18

Using IS12, our application installs a component that is an out of process OLE automation server. The component is not shared.

Under XP, Uninstall removes the EXE without requiring a reboot. Since the EXE is removed, INSTALLDIR is also removed, which is exactly what we want.

Under Vista, Uninstall removes everything except the EXE. After a reboot, the EXE is removed, however the directory in which it was located remains. This leaves an empty INSTALLDIR in Program Files. The EXE is definitely not in use when Uninstall is run.

This is the only out of process COM object in our application. Everything else, including several in process COM objects (DLL's) get removed without a problem.

Any ideas would be greatly appreciated.

TIA - Jack H


antyagi

antyagi
  • Full Members
  • 121 posts

Posted 11 May 2007 - 05:31

May be some CA locks your exe and forgets to release the handle on vista?

Or you might want to check registry entry CurrentControlSet\Control\Session Manager\PendingFileRenameOperations. I hope this exist on Vista.
  ankur tyagi

JackH

JackH
  • Full Members
  • 6 posts

Posted 11 May 2007 - 17:42

Thanks for your suggestions.

No CA's access any of the installed files. We can reboot between the install / uninstall, and still have the same problem, so it can't be anything leftover from the install.

The path to our OLE EXE is placed PendingFileRenameOperations during the uninstall, which is how it actually gets deleted after the reboot. We just can't figure out why it gets placed there. Our best guess is that since it's installed per-machine (has to be), that the Windows Installer assumes that another user might be using it. If so that pretty lame.

Actually the reboot isn't as big a problem as the leftover empty directories.

Regards - Jack H

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 May 2007 - 21:54

Does a verbose log of the uninstall give any clues?

JackH

JackH
  • Full Members
  • 6 posts

Posted 18 May 2007 - 17:48

Maybe it might suggest something to you:

MSI (s) (60:E4) [19:51:14:119]: Executing op: FileRemove(,FileName=M3Comm.exe,,ComponentId={4DA29B3C-A69D-4EE8-8189-677A8CC80253})
MSI (s) (60:E4) [19:51:14:139]: Verifying accessibility of file: M3Comm.exe
MSI (s) (60:E4) [19:51:14:139]: Verifying accessibility of file: M3Comm.exe
MSI (s) (60:E4) [19:51:14:139]: Note: 1: 2318 2: C:\Config.Msi\220d42.rbf
MSI (s) (60:E4) [19:51:14:139]: Using source file security for destination.
MSI (s) (60:E4) [19:51:14:429]: Note: 1: 2329 2: 32 3: C:\Program Files\Rover Data Systems\M3\M3Comm.exe
MSI (s) (60:E4) [19:51:14:429]: Verifying accessibility of file: M3Comm.exe
Info 1903.Scheduling reboot operation: Deleting file C:\Program Files\Rover Data Systems\M3\M3Comm.exe. Must reboot to complete operation.

Thanks - Jack H

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 May 2007 - 18:39

Error 2329 with Windows error code 32 means that the file is locked by another process. Use ProcessExplorer from SysInternals to find out which process is holding the file.

JackH

JackH
  • Full Members
  • 6 posts

Posted 20 May 2007 - 02:29

Good idea. It's in use by the msiexec service (under services.exe), which gets started when I run Setup on Vista (not on XP). It's must be getting opened prior to FileRemove, but I can't figure out why. The only other log references to the COM server program are for RegClassInfoUnregister, RegProgIdInfoUnregister and TypeLibraryUnregister, which shouldn't require opening the EXE. Although the EXE is our only EXE COM server, there are a few other COM DLL's that have identical log entries, but they get deleted successfully.

Any ideas on if / how EXE COM servers are handled by Windows Installer, or if there are different requirements for them in IS 12?

Your help is greatly appreciated - Jack H