Как сначала удалить процесс backgroud, который использует приложение при восстановлении / удалении приложения в установщике msi
Я добавил пользовательское действие "Установить" в установщик для запуска ProcessMonitor.exe
на заднем плане. ProcessMonitor - это приложение, которое проверяет мое приложение и удаляет ненужные / временные файлы. Поэтому, когда приложение устанавливается на целевой машине, оно запускается processMonitor.exe
на заднем фоне. Теперь, когда я выбираю вариант восстановления / удаления, выдается сообщение об ошибке: "Следующие приложения используют файлы, которые должен обновить установщик. Вы можете закрыть приложение и нажать" Попробовать еще раз "или" Продолжить "."
Если я убиваю ProcessMonitor вручную, опция восстановления / удаления работает успешно.
Я хочу, чтобы сначала убить processMonitor.exe
перед установщиком копирует / удаляет файлы из папки назначения в случае восстановления / удаления.
1 ответ
Отложенный режим CA. Чтобы успешно завершить работу с повышенными правами, необходимо запустить с повышенными правами. Это означает настраиваемое действие отложенного режима в MSI. Какой инструмент вы используете?
Легалезе: Вы проверили ли ProcessMonitor.exe
является распространяемым? Я не уверен, что это так. Я бы определенно уточнил это, чтобы избежать каких-либо юридических проблем. It is a free tool, but that does not necessarily mean you can deploy it with your own package (redistribute it)
хотя это может быть разрешено, поскольку это признанный, зрелый и авторитетный продукт.
Procmon.exe: действительно ли этот инструмент необходим для вашего продукта? Честно говоря, очень странно устанавливать его, потому что это инструмент для специалистов и, как правило, нежелательный для обычных пользователей? Если вам это нужно для тестирования, вы можете скомпилировать его в свои настройки отладки и удалить его из настроек выпуска. Вы используете WiX? Попробуйте переменные компилятора / конструкции препроцессора (см. Конкретный код разметки внизу). Еще некоторые детали переменных WiX.
Закрыть приложения: есть встроенная функция в procmon.exe
чтобы отключиться, как показано ниже, однако, есть много других подходов, которые могут работать. Вот быстрый список. И вот еще один подход WMI. Most tools should never be forcefully terminated, but this tool may be entirely read-only. I am not sure
,
Завершить: вы должны быть в состоянии прекратить procmon.exe
случаи по телефону procmon.exe
следующее: procmon.exe /Terminate
, Тем не менее, кажется, он завершает только один экземпляр за раз.
Список параметров командной строки доступен при запуске Procmon.exe /?
: