Це може статися, якщо в програмі знаходиться програма видалення 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, тому або перейдіть до всіх або перейдіть до Редагувати - & gt; Знайти, щоб знайти вашу програму.
- У правій панелі шукайте значення, яке викликається UninstallString . Двічі клацніть на ньому та помістіть лапки навколо шляху. Просто шлях, хоча (від
C:\...
до ...exe
), а не будь-які аргументи, які могли б слідувати за ним. Якщо ви сумніваєтеся, відправте поточне значення тут.
- Спробуйте знову видалити програму. Якщо він все ще не працює, розмістіть початкове значення UninstallString тут.
- Необов'язково: перевірте веб-сайт автора програми для оновленої версії, яка правильно зберігає інформацію про її видалення.
Теоретично, ви також можете скопіювати програму видалення програми (якщо вона є .exe, і її можна знайти) C:\
і перейменуйте його Program.exe
, але я не впевнений, що це буде навіть працювати. Ви також можете взяти виправлену версію UninstallPath і збережіть його у назві пакетного файлу C:\Program.bat
, що, ймовірно, працюватиме, але все ж таки є більш громіздким рішенням, ніж зазначене вище. Я лише перераховую ці методи для повноти.