Windows Mobile не удается удалить - PullRequest
3 голосов
/ 02 июня 2009

Тестируя мое приложение на каком-то WM Std 6.1, я обнаружил, что его не удается удалить. Я получаю эту ошибку:

«[приложение] не было полностью удалено. Вы хотите удалить его из списка установленных программ? "

Проверяя мой setup.dll, я могу сказать, что Uninstall_Init и Uninstall_Exit вызываются каждый раз, но все файлы остаются (они не заблокированы, я проверил), и его запись не исчезает из списка установленных приложений выбираю ли я это остаться или нет).

Ответы [ 3 ]

2 голосов
/ 02 июня 2009

На самом деле есть только три возможные причины:

  1. Uninstall_Init не возвращает продолжить.
  2. Uninstall_Exit не возвращается, продолжить.
  3. Неисправность установщика.

Если вы проверили, что 1 & 2, тогда хорошо, тогда 3 будет сложно определить.

Некоторые проблемы, с которыми я столкнулся:

  • Проверьте зависимости DLL вашей установочной DLL и попытайтесь удалить как можно больше. Я обнаружил, что зависимости от MSXML могут вызвать проблемы.
  • Удалите все настройки реестра в вашем INF-файле, переместите его в вашу установочную DLL. Я обнаружил, что это приводит к случайному сбою удаления на случайных устройствах из-за этого.

Что мне нужно было сделать для существующих клиентов, так это написать приложение для удаления, чтобы вручную удалить наше приложение, если удаление работало. Если вам нужно написать руководство по удалению, вам нужно сделать следующее: * Удалить все ключи реестра * Удалить все ваши файлы * Удалить раздел реестра HKLM \ Security \ AppInstall {имя приложения} * В WM6.1 вам необходимо удалить запись базы данных из базы данных EDB "SwMgmtMetadataStore", где свойство SWT_INSTALL_NAME_TAG равно вашему {имени приложения}.

1 голос
/ 05 июня 2009

Еще одна вещь, которую стоит изучить, - это журнал установки, созданный в процессе установки / удаления cab.

Это можно найти в каталоге \ Application Data \ Volatile \ (обычно он называется setup.log).

Копирование этого файла на настольный ПК и открытие его в блокноте может дать больше подсказок (например, файлов, используемых при удалении) о том, почему удаление не удалось.

0 голосов
/ 08 июня 2010

У меня было несколько CAB-файлов, которые отлично работали на WM 6.0, но перестали работать в WM 6.1.

Оказывается, это потому, что либо в AppName, либо у производителя были пробелы. Удаление пробелов фиксировало файлы CAB, и теперь они успешно удаляются в WM 6.1 !!

...