Каждая программа, которая правильно устанавливает себя согласно инструкциям Microsoft, делает ключ реестра в HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Обычно, ключом для программы будет свой GUID или иначе название программы. В том ключе будет названная запись UninstallString
. Это содержит команду для выполнения для удаления программы.
Если Вы уже знаете заранее то, что Вы будете удалять, должно быть достаточно легко просто поместить это в Ваш пакетный файл. Это становится хитрым, когда Вы пытаетесь автоматизировать тот процесс все же. Можно использовать reg
команда для получения данных из реестра но это возвращает много текста вокруг фактического значения данного ключа, мешая использовать. Можно хотеть экспериментировать с использованием VBscript или PowerShell, поскольку у них есть более оптимальные варианты для получения данных из реестра в переменную.
Если программа использует Windows Installer, можно использовать одну из следующих команд:
msiexec /q /x <ProductCodeGuid>
msiexec /q /x <PathToMsi>
Однако Вы вероятны, не имеют ни кода продукта, ни исходного файла MSI, используемого для установки.
Кроме этого, нет никакой универсальной команды удаления, так как установщики, которые не используют Windows Installer, "неизвестны" операционной системой. Они могли бы предоставить свой собственный исполняемый файл удаления, но включает ли тот исполняемый файл способ работать, он без GUI зависит от отдельного пакета программного обеспечения.