Это может произойти, если программа удаления программы находится в Program Files
, но установщик не может поставить кавычки вокруг пути при сохранении местоположения в реестре. В результате Windows пытается выполнить (например) C:\Program Files\ProgramName\uninstall.exe
, но без кавычек видит C:\Program
качестве имени исполняемого файла и Files\ProgramName\uninstall.exe
в качестве команды Строковые аргументы.
Чтобы это исправить, попробуйте следующие шаги:
- Откройте
regedit.exe
- Перейдите к
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
- Найдите ключ, соответствующий программе, которую вы пытаетесь удалить. Большинство программ, вероятно, будут перечислены по их идентификатору GUID, поэтому либо просмотрите их все, либо перейдите в «Правка» -> «Найти», чтобы найти вашу программу.
- В правой панели найдите значение UninstallString. Дважды щелкните по нему и поместите кавычки вокруг пути. Но только путь (от
C:\...
до ...exe
), а не аргументы, которые могут следовать за ним. Если сомневаетесь, опубликуйте текущее значение здесь.
- Попробуйте удалить программу еще раз. Если это все еще не работает, отправьте оригинальное значение UninstallString здесь.
- Необязательно: проверьте веб-сайт автора программы на наличие обновленной версии, в которой правильно хранится информация об удалении.
Теоретически, вы также можете скопировать деинсталлятор программы (предположим, что это .exe и вы можете его найти) в C:\
и переименовать в Program.exe
, но я не уверен, что это сработает. Вы также можете взять исправленную версию UninstallPath и сохранить ее в командный файл с именем C:\Program.bat
, который, вероятно, будет работать, но все еще является более громоздким решением, чем приведенное выше. Я перечисляю эти методы только для полноты картины.