ОБНОВЛЕНИЕ : In Add / Remove Programs
.Возможно, попробуйте Modify
вместо Remove
- если доступно.Это запустит удаление в режиме графического интерфейса, а не в режиме без вывода сообщений, который используется при выборе Remove
.
Олицетворение : В режиме без вывода сообщений свойства, от которых вы зависите, могут быть не установлены (если они обычно задаются в графическом интерфейсе пользователя) или вы не можете подключиться к базе данных, поскольку msiexec.exe
(механизм установщика Windows) работает в системе контекст .Я полагаю, что один или оба из этих вопросов являются, по крайней мере, частью вашей проблемы.Это удаленная база данных?
Возможно, сначала попробуйте установить Impersonate
в yes
, например так (не запускайте в системном контексте, олицетворяйте запускающего пользователя):
<CustomAction Id="CleanupServer" BinaryKey="CA" DllEntry="CleanupServer"
Execute="deferred" Return="ignore" Impersonate="yes" />
В качестве альтернативы, возможно, попробуйте запустить его без отложенного (немедленного и невыполненного) и, возможно, настроить его запуск только один раз:
<CustomAction Id="CleanupServer" BinaryKey="CA" DllEntry="CleanupServer"
Execute="firstSequence" Return="ignore" />
Просто предложения, чтобы попробовать, я не проверял.
Глобальное ведение журнала : Во-первых, включить глобальное ведение журнала на машине иПолучите себе файл журнала таким образом - см. раздел: " Глобально для всех установок на компьютере ".По сути, просто добавьте этот раздел в реестр (но проверьте ссылку для более подробной информации и контекста):
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
"Logging"="voicewarmup"
"Debug"=dword:00000007
Предлагаемые действия :
- Добавьте соответствующие значения реестра, как описано выше (
Debug
и Logging
) - Запустите установку, а затем удаление из ARP
- Найдите файл журнала - с помощьюпроизвольное имя - в папке% TEMP%
- ключ Windows + нажмите R , введите
%TEMP%
и нажмите , введите - Сортировка по дате и времени изменения.Ваш файл должен отображаться сверху
- Давайте посмотрим журнал.Загрузить в Github, Dropbox, GDisk или куда-либо еще.
Также есть раздел о том, как интерпретировать файлы журналов - на случай, если вы захотите сначала посмотреть сами.По сути, ищите имена пользовательских действий, соответствующие значения свойств и просматривайте непосредственное «окружение» найденных вами записей.Ведение журнала действительно многословно, но полезно.
Сохранять / читать обратно Значения свойств : Вот ответ, показывающий сохранение свойств и как выможете прочитать их обратно с помощью AppSearch .Не забывайте проверять такие функции во всех режимах установки (install
, uninstall
, modify
, remove
, major upgrade
, silent and interactively
- обычно есть сюрпризы).