views:

604

answers:

3

Testing my app on some WM Std 6.1 I found out that it fails to uninstall. I receive this error:

“[app] was not completely removed. Do you want to remove it from the list of installed programs?"

Checking my setup.dll I can tell that Uninstall_Init and Uninstall_Exit are being called each time but all the files stays (they are not locked, I’ve checked) and its entry doesn’t disappear from the list of installed apps (whether I choose it to stay or not).

+2  A: 

There are really only three possible reasons for this:

  1. Uninstall_Init doesn't return continue.
  2. Uninstall_Exit doesn't return continue.
  3. The installer engine failed.

If you have verified that 1 & 2 then ok then 3 is going to be tough to figure out.

Some problems that I have encounted:

  • Check the DLL dependencies of your setup DLL and try to remove as many as possible. I've found that dependencies to MSXML can cause problems.
  • Remove any registry setup in your INF file, move it into your setup dll. I've found this to cause the uninstall to fail randomly on random devices because of this.

What I needed up doing for existing customers is write a uninstall application to remove our application manually if the uninstall worked. If you do need to write a manual unistall you need to do the following: * Remove all your registry keys * Remove all your files * Remove registry key HKLM\Security\AppInstall{app name} * In WM6.1 you need to remove a database record from the EDB database "SwMgmtMetadataStore" where the SWT_INSTALL_NAME_TAG property equals your {app name}.

Shane Powell
michael
+1  A: 

Another thing worth investigating is the install log created by the cab install/uninstall process.

You can find this within the \Application Data\Volatile\ directory (usually called setup.log).

Copying this file to your desktop PC and opening it in notepad may provide more clues (such as files in use during uninstall) as to why the uninstall did not succeed.

Christopher Fairbairn
A: 

I had several CAB files that worked perfectly on WM 6.0, but stopped working in WM 6.1.

Turns out it was because either the AppName or the Manufacturer had spaces in. Removing the spaces fixed the CAB files and they now successfully uninstall in WM 6.1!!

Andy