При удалении приложения от пользователя-администратора в NSIS выполняется очистка только процесса, связанного с этим конкретным пользователем. Другой экземпляр процесса не убивает.
Последовательные шаги:
Установил приложение от пользователя admin и затем вошел в систему как обычный пользователь. Таким образом, для каждого пользователя я вижу один процесс (это ожидаемое поведение)
При переключении обратно на пользователя с правами администратора и удалении приложения, может убить только процесс для пользователя с правами администратора. И нормальный пользовательский процесс все еще показывает.
Есть ли способ убить все процессы, связанные с приложением, независимо от конкретного пользователя?
Я использую приведенный ниже фрагмент кода:
Section "Uninstall"
${nsProcess::FindProcess} "sysnotification.exe" $R0
MessageBox MB_OK "nsProcess::FindProcess$\n$\n\
Errorlevel: [$R0]"
${if} $R0 == 0
BringToFront
${nsProcess::KillProcess} "sysnotification.exe" $R0
MessageBox MB_OK "KillProcDLL::KillProc$\n$\n\
Errorlevel: [$R0]"
${EndIf}
${nsProcess::Unload}
SectionEnd