Как удалить .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.

Другие вопросы по тегам