Как удалить .exe без вывода сообщений на C++
У меня есть UninstallString, и я хочу удалить программу в автоматическом режиме, чтобы не было никакого вмешательства пользователя. У меня есть UninstallString вроде следующего:
- C: \ Program Files \ Notepad ++ \ uninstall.exe
- C:\Program Files\7-Zip\Uninstall.exe
C:\xampp\uninstall.exe
и так далее...
Я открыл их как процесс, но я не знаю, как удалить его в автоматическом режиме.
У меня есть какой-то подход, например, найти окна, а затем отправить OK keyStrokes, но я не знаю, как это сделать.
если это установщик Windows, то мы можем использовать что-то вроде...
MsiExec.exe /I{GUID} /q
Но как это сделать для приведенного выше UninstallString, у которого в качестве пути есть .exe.
Любая помощь / подходы будут высоко оценены.
Большое спасибо.
2 ответа
Команда тихого удаления зависит от разных установщиков.
Например,
Если установщик построен с использованием набора инструментов Wix, он поддерживает такие команды, как: /s, /S, /qn, /quiet . т.е.
UninstallString /quiet
Для установщика на основе NSIS / S.
Для установщика на основе Install4j -q .
Для установщика на основе Inno-setup: /SILENT, /VERYSILENT .
и т.п.
Вы можете найти подробную информацию о параметрах автоматической установки на этом сайте.
Кроме того, есть инструмент под названием WMIC. Некоторые люди также рекомендуют использовать это. Вы можете найти его по этой ссылке. [Хотя у меня это не сработало]
Как уже сказал MAQ678, существует множество разных типов установщика. Иногда (в большинстве случаев нет, потому что издатели ленивы) вы можете найти переключатель автоматической деинсталляции в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, если в пакете есть запись QuietUninstallString.