Как убить процесс из WiX
Я разрабатываю установщик с использованием Wix, и мне нужно во время установки завершить процесс (а не приложение) без вывода сообщений, чтобы у пользователя не появилось всплывающее окно с просьбой завершить процесс или подождать и перезапустить. Я видел решения для убийства приложения, но не процесс.
2 ответа
Решение
После недолгих поисков я нашел решение, которое использует настраиваемое действие тихого выполнения WixUtilExtension http://wix.sourceforge.net/manual-wix3/qtexec.htm:
<InstallExecuteSequence>
<Custom Action='MyProcess.TaskKill' Before='InstallValidate'/>
</InstallExecuteSequence>
<Property Id="QtExecCmdLine"
Value='"[WindowsFolder]\System32\taskkill.exe" /F /IM MyProcess.exe'/>
<CustomAction Id="MyProcess.TaskKill"
BinaryKey="WixCA"
DllEntry="CAQuietExec"
Execute="immediate"
Return="ignore"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WindowsFolder" Name="WINDOWS"/>
...
Я использовал CloseApplication
Элемент, чтобы сделать это, если я понимаю ваши потребности. Уничтоженные мной процессы не отображаются как приложения в диспетчере задач. Однако зависит от того, о каком классе процессов вы говорите.