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