как удалить приложение через консоль
Как удалить программу в Windows 10 из командной строки
Если вы используете Windows 10 и вам нужно освободить место на диске, вы можете удалить приложения, которые больше не используете, прямо из командной строки. Эта инструкция покажет, как в Windows удалять программы прямо из командной строки.
Чтобы удалить программу, сначала вам нужно запустить командную строку от имени администратора. В поле поиска Windows введите «cmd», а затем щёлкните правой кнопкой мыши «Командная строка» в результатах.
Затем щёлкните «Запуск от имени администратора» в появившемся меню.
Командная строка теперь запускается с правами администратора. Чтобы удалить программу с помощью командной строки, необходимо использовать служебную программу командной строки инструментария управления Windows (WMIC).
В командной строке введите следующую команду и нажмите Enter:
Теперь вы увидите приглашение wmic:root\cli> в консоли. Это означает, что теперь вы можете использовать операции инструментария управления Windows (WMI).
Затем вам понадобится список программ, установленных на вашем компьютере. Получение этого списка важно, потому что вы должны указать точное название продукта, чтобы успешно выполнить команду удаления.
Введите следующую команду, чтобы получить список:
Совет: Вы также можете запускать команды wmic непосредственно из стандартной командной строки, не запуская «wmic» и не вводя предварительно команду WMIC. Для этого добавьте к вашим командам «wmic». Например, «wmic product get name» работает так же, как запуск «wmic», а затем «product get name».
Найдите в списке название программы, которую хотите удалить. Вы можете удалить программу, выполнив эту команду:
Просто замените название программы названием программы, которую вы хотите установить. Например, если мы хотим удалить приложение Skype Meetings, мы должны ввести эту команду:
Затем вас попросят подтвердить, действительно ли вы хотите выполнить команду. Введите Y для подтверждения и нажмите Enter. Введите N, чтобы отменить операцию.
Через несколько секунд вы получите сообщение о том, что метод был успешно выполнен.
Приложение было удалено с вашего компьютера.
Это лишь один из многих способов удалить приложение в Windows 10. Это также можно сделать из панели управления, меню «Пуск» или окна «Настройки».
Удаление программ и файлов через командную строку: пошаговая инструкция
Даже неопытные пользователи редко сталкиваются со сложностями при удалении конкретных данных или приложений в ОС Виндовс. Но возникают случаи, когда удаление данных с компьютера невозможно, даже если его выполняет администратор. Возникает логичный вопрос, как решить проблему? Выходом из такой ситуации становится удаление файла через командную строку. В целом же процесс стирания данных на ОС Виндовс несложный. В каждой версии действует простой способ: на файле нажимается ПКМ, а потом выбирается строка «Удалить».
Но встречаются такие приложения, которые не реагируют на привычный способ удаления. Услышав о такой проблеме, разработчики ПО сделали специальные утилиты для удаления файлов. Мастера рекомендуют не спешить со скачиванием и установкой таких программ, всегда есть возможность удалить файл через cmd. Неопытным юзерам применение этого способа может казаться сложным, но в реальности все просто.
Важно! Если удалить через командную строку программу, то данные сотрутся безвозвратно, в корзине вы их не найдете. Если данные в будущем еще могут принести пользу, то перед тем, как их удалять, лучше обзавестись резервной копией.
Возможности командной строки
Командная строка Windows 7 и других версий этой операционной системы дает возможность контролировать данные внутри локальной системы, и управлять ресурсами удаленного компьютера. Разработаны специальные команды, которые позволяют анализировать ОС и находить проблемные зоны в конфигурациях сервера. Работать с командным меню предпочитают из-за удобства применения, здесь нет крупных графических приложений.
Как удалить программы в командной строке или Windows PowerShell
На компьютеры, работающие под управлением Windows, пользователи устанавливают различные прикладные программы для выполнения тех или иных задач. Сразу после установки, в операционной системе доступны только базовые приложения.
Естественно, что этого недостаточно для выполнения многих видов деятельности на компьютере. Чтобы решить эту проблему, на ПК устанавливается дополнительное программное обеспечение.
Новые программы позволяют выполнять необходимые операции, делают работу более комфортной и продуктивной. Постепенно на компьютере оказывается установленными больное количество разных программ.
Часть приложений регулярно используется, другой софт задействован время от времени, а остальными программами не пользуются по разным причинам. Ненужные программы необходимо деинсталлировать с ПК, чтобы они не занимали место на дисковом пространстве или не влияли на производительность устройства.
Чтобы удалить программу с компьютера можно воспользоваться системными средствами Windows или сторонним программным обеспечением. Можно использовать любой из этих способов. Сторонние приложения-деинсталляторы имеют дополнительный функционал, это позволяет им более тщательно подчищать следы от удаленных программ на компьютере.
В этом руководстве мы рассмотрим один из способов деинсталляции ненужных приложений: удаление программы через командную строку и удаление программ через PowerShell.
Большей части пользователей удобнее использовать графический интерфейс средства удаления программ Windows или программы-деинсталлятора. Но, есть и другой метод решить эту задачу: удалить программу из PowerShell или из командной строки.
В некоторых случаях, может понадобиться в PowerShell удалить программу, или выполнить удаление программы с помощью командной строки, например, если удаление приложения обычным способом заканчивается неудачей. К сожалению, бывают такие ситуации, когда по разным причинам не происходит деинсталляция ненужного программного обеспечения.
В этих случаях, можно воспользоваться консолью или более мощным инструментом — Windows PowerShell. Удаление программ через командную строку Windows выполняется одинаково в разных версиях операционной системы: Windows 10, Windows 8.1 (Windows 8), Windows 7.
Необходимо учитывать, что в окнах консоли отображаются не все установленные программы, а только те, которые для инсталляции на ПК использовали установщик Windows (установочные пакеты «.msi» приложений Win32).
Сначала мы посмотрим, как удалить программу с помощью командной строки, а затем сделаем тоже самое в Windows PowerShell.
Как удалить программу через командную строку
В Windows удаление программы из командной строки занимает не так много времени, и это — не сложная операция даже для неопытных пользователей. Необходимо выполнить лишь пару команд.
Запуск удаления программ из командной строки выполняется следующим способом:
Windows PowerShell — удаление программ
Помимо командной строки, в операционную систему Windows встроен более мощный инструмент — PowerShell. Выполнение задачи по деинсталляции происходит подобным образом при помощи других команд.
Пройдите следующие шаги:
Выводы статьи
Обычно, на компьютере установлено довольно много программ, с помощью которых пользователь решает свои задачи. С течением времени, не все приложения становятся нужными или актуальными для использования в работе. Поэтому имеется смысл в деинсталляции ненужных программ с ПК.
Существует несколько способов для удаления программ в операционной системе Windows. Один из вариантов решения проблемы — деинсталляция приложений из командной строки или из Windows PowerShell.
Удаление программ в Ubuntu
Программы, игры, утилиты и другие программные компоненты в операционной системе Ubuntu представлены в виде пакетов. Когда вы устанавливаете какую-нибудь программу (приложение), вы устанавливаете один или несколько пакетов.
Рассмотрим, как удалять приложения (пакеты) в Ubuntu.
Существует два основных способа удаления пакетов в Ubuntu: использование Менеджера приложений Ubuntu (Ubuntu Software Center) и использование командной строки.
Удаление программ, используя Менеджер приложений
Рассмотрим самый простой способ удаления пакетов в Ubuntu — использование Менеджера приложений.
Запустите Менеджер приложений Ubuntu. Для этого откройте лаунчер, нажав сочетание клавиш Super+A (клавиша Super на клавиатурах Windows соответствует клавише Win ). В лаунчере запустите программу Менеджер приложений.
Запуск Менеджера приложений
Список установленных приложений
Предупреждение
Ввод пароля
Удаление программ, используя командную строку
Второй распространенный способ удаления программ — это использование командной строки.
Для управления пакетами в Ubuntu используются утилиты командной строки apt и apt-get. Они имеют схожий синтаксис. Для новичков рекомендуем использовать утилиту apt. Смотрите также наше руководство: «Использование APT. Команды apt и apt-get».
Чтобы удалить пакет, выполните следующую команду (вместо имяпакета необходимо указать настоящее название пакета):
Например, чтобы удалить программу GIMP необходимо выполнить команду:
Чтобы полностью удалить пакет и его конфигурационные файлы используется команда:
Чтобы удалить сразу несколько пакетов можно указать их названия через пробел:
Чтобы вывести список всех установленных пакетов используется команда:
Удаление Snap пакетов
В Ubuntu есть пакеты, которые отличаются от обычных — это Snap пакеты. Подробнее про Snap пакеты вы можете прочитать в нашей статье «Snap-пакеты в Linux. Что это и как с ними работать»
Вы можете удалить Snap пакеты точно также как и любые другие через Центр приложений Ubuntu. В Менеджере приложений Ubuntu для snap-пакетов указан источник «Snap Store». Обращаем ваше внимание на то, что в списке приложений могут присутствовать программы, которые могут быть установлены через обычные репозитории Ubuntu, так и через Snap. Обычно такие приложения имеют разные версии. Приложения, распространяемые через Snap, как правило, всегда новее.
Рассмотрим, как удалять приложения, установленные через Snap, используя командную строку.
Чтобы вывести список установленных Snap пакетов выполните команду:
Для удаления Snap пакета выполните команду:
Удаление неиспользуемых пакетов
Когда вы устанавливаете какую либо программу, то обычно помимо основного пакета программы устанавливаются еще другие пакеты, которые требуются для работы данной программы. Они называются зависимостями.
После удаления программы, зависимости не удаляются. Они могут вообще не использоваться в системе или использоваться другими программами. Если пакеты-зависимости не используются другими программами, то такие пакеты можно удалить, чтобы они не занимали место в системе.
Для удаления неиспользуемых пакетов используется команда:
Данная команда автоматически удалит неиспользуемые пакеты.
Заключение
Мы рассмотрели различные способы удаления программ в Ubuntu. В большинстве случаев для удаления программ можно пользоваться Менеджером приложений Ubuntu. Использование командной строки дает дополнительные возможности и зачастую работать через нее быстрее.
Вадим Стеркин
На форуме OSZone модератор DJ Mogarych задал вопрос на тему удаления программ по сети. Команда wmic не видела ряд приложений, отображаемых в элементе панели управления «Установка и удаление программ». Нужно было их найти!
По условиям задачи, у вас нет возможности работать в системе интерактивно, поэтому нужно сформировать команду для тихого удаления программы. Ее выполнение – уже дело техники или инфраструктуры (есть psexec). Но сначала давайте познакомимся со способом, который ветеран OSZone применяет для решения задачи.
[+] Сегодня в программе
Сведения из класса WMI Win32_Product
Этот способ базируется на инструментарии управления Windows (WMI). Сведения об установленных программах содержатся в классе Win32_Product, поэтому можно удалять программы из командной строки или PowerShell.
Коллега по форуму пользуется командaми из арсенала консоли WMI. Вот так можно посмотреть список установленных программ наряду с основными сведениями о них:
Зная имя программы, можно тихо удалить ее:
PowerShell
Командлет Get-WMIObject вам хорошо знаком. Список программ:
Недостаток способа
Этот подход сопряжен с большим ограничением, которое отчасти породило вопрос на форуме. Элемент панели управления «Установка и удаление программ» отображает больше приложений, чем выводят wmic и PowerShell.
В списке WMI присутствуют только приложения, установленные с помощью Windows Installer.
Это не совсем очевидно, но я специально добавил в первую команду PowerShell вывод имен пакетов — все они MSI. Инструментарий управления Windows спроектирован в том числе и для управления состоянием ПО, но далеко не все программы используют установщик Windows, к сожалению.
Сведения из реестра Windows
Зато все нормальные программы при установке должны записывать сведения в реестр, откуда их извлекает элемент панели управления appwiz.cpl. Конкретный раздел реестра хорошо известен и давно задокументирован в статье KB314481 (ее я всегда нагугливаю запросом uninstall registry).
У каждого приложения там свой подраздел, именем которого по воле разработчика является название или идентификатор программы. Команда для удаления записана в параметре UninstallString – именно она вызывается из панели управления.
Заметьте, что команда открывает графический интерфейс деинсталлятора, но не удаляет программу автоматически, как в случае со способом WMI. Поэтому нужно еще выяснить ключ тихой установки/удаления, зависящий от типа установщика. Зачастую, это /s или /silent, и тогда команда для автоматического удаления выглядит примерно так:
Но и у этого способа есть нюанс – в обсуждаемом разделе реестра могут отображаться не все программы. Например, я не нашел там установленный uTorrent (проверьте у себя).
Откуда панель управления о нем знает? К ответу можно прийти поиском по реестру или просто догадаться, но лучше сразу взять простой и удобный инструмент — Process Monitor.
Быстрый мониторинг реестра с помощью Process Monitor
Давайте выясним, откуда «Установка и удаление программ» берет сведения об установленном uTorrent. На панели инструментов Process Monitor и Process Explorer есть мишень, помогающая точно определить процесс.
Обратите внимание на имя раздела реестра. Это пользовательский раздел HKEY_CURENT_USER, а остальной путь идентичен системному разделу HKLM, который рассматривался выше.
Помимо uTorrent в этом разделе у меня отметился браузер Яндекс и одно приложение Microsoft, пожелавшее не афишировать свое название в имени подраздела. Заметьте, что Process Monitor помог найти нужную информацию моментально!
Почему приложения записывают сведения в разные разделы реестра
Для эксперимента выполните повторную установку uTorrent или любого другого приложения из списка HKCU. По ходу дела вы не увидите запроса UAC. Приложению для установки и работы не нужны права администратора, поэтому нет необходимости ставить его в Program Files и вносить изменения в HKLM. Оно устанавливается в профиль и пишет сведения только в раздел реестра HKCU.
Применительно к удалению тут есть еще один нюанс – программа установлена в профиль конкретного пользователя, что видно на рисунке выше (Users\Vadim). Поэтому при дистанционном удалении команда должна содержать абсолютный путь, если только не выполняется от имени этого пользователя.
Традиционный же способ установки программ сопряжен с требованием прав администратора, сохранением файлов приложения в Program Files и записью сведений в HKLM. Даже если технически в этом нет нужды, разработчики могут идти навстречу администраторам, помогая им контролировать установку программ на ПК и проводить инвентаризацию ПО.
Мне попадались приложения, в которых установщик ориентируется на текущие права пользователя – администратору показывает запрос UAC, а пользователю сразу ставит в профиль.
Литература
Для дальнейшего изучения вопроса вам могут пригодиться подобранные мной материалы. Открывает список статья, которой скоро исполнится 10 лет. Она еще из первой волны материалов на тему автоустановки, но вполне актуальна.
Дискуссия
Я решил рассказать про мишень после того, как дважды за вполне праздничный день воспользовался ей сначала в Process Explorer, а затем в Process Monitor. Такие инструменты значительно упрощают изучение системы, и в нашем случае ответ на совсем неочевидный вопрос нашелся очень легко. У меня почти два десятка записей об утилитах sysinternals, и почти все задачи решаются в 2-3 хода.
Судя по форуму и почте, новогодние праздники многие читатели посвятили [пере]установке Windows, и я не исключаю появления небольшой заметки по мотивам вопросов. Обычно, в каникулы я создаю несколько статей и ставлю их на будущие даты, но в этот раз не получилось. Я не так много времени проводил за ПК и даже не сумел подвести итоги велосезона оТ-о Впрочем, идей и набросков только прибавилось 🙂 Однако я поковырял блог и помимо прочего прикрутил поиск в мобильное меню, о чем вы меня просили.
А вы чем высокотехнологичным занимались в каникулы? Готовы к Windows 10 Consumer Preview через неделю? 🙂
Об авторе
Вас также может заинтересовать:
Я в Telegram
Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.
комментария 82
А вы чем высокотехнологичным занимались в каникулы?
Невиндово перенёс линукс с винта на свежекупленный ссд, по пути освоив разметку GPT и загрузку через UEFI.
До велостатьи в конце года руки так и не дошли? 🙂
Не дошли и в начале, я ж пишу ^^ 🙂
Да, сперва пропустил, перечитал и увидел. Ну ждём-с.
Сегодня получил в Ситилинке по гарантии новый WD Black WD2003FZEX, 2Тб, HDD, SATA III, 3.5″, старый унёс Windows 10-64 b9879. Установлю из образа, буду ждать часа Ч. B9901, мне кажется тупиковой, сейчас на ней……может….ошибаюсь….время покажет
Вадим, любопытную тему вы затронули.
Мне давно интересно, почему есть необходимость в разного рода утилитах типа Your Uninstaller и т.п.
Почему даже инcталятор Windows оставляет после себя хвосты в реестре, не удаляет за собой пустые и не очень папки, файлы, ассоциации файлов.
Почему даже инcталятор Windows оставляет после себя хвосты в реестре, не удаляет за собой пустые и не очень папки, файлы, ассоциации файлов.
Почему молоток забивает гвозди криво? Установщик Windows — это инструмент. Им должен уметь пользоваться создатель программы. Вы можете привести конкретные примеры программ, после установки которых остаются полные папки и ассоциации файлов?
Мне давно интересно, почему есть необходимость в разного рода утилитах типа Your Uninstaller и т.п.
Меня часто спрашивают, но я так и не сподобился написать статью, ибо… бесполезно 🙂 Но я считаю, что в таких утилитах нет необходимости. Есть два варианта:
1. Делается снимок (Ashampoo Uninstaller, если не изменился за 10 лет, что я его не брал в руки :). Откуда снимку знать, что произошло после установки? Может, другие приложения пользуются этой папкой или пользователь туда файлы сохранил.
2. Ведется игра в угадайку. Сначали вызвали штатный деинсталлятор, потом за ним начали чистить, руководствуясь какими-то своими принципами. Какими, куда именно полезли? Зачем мне пускать еще одну программу в систему, чтобы она удаляла мне что-то с диска или из реестра?
Видимо проблема в том, что слишком многое позволяется создателям программ, а с большими возможностями приходит большая ответственность, которую не все хотят/могут нести. В итоге заложником ситуации становится пользователь.
В первую очередь приложения от Adobe и Google оставляют много следов.
А также ряд программ устанавливающих драйвера, не удаляют их за собой после установки.
Яркий пример, у AMD есть отдельная утилита, чтобы удалить все следы драйверов. Но почему это не делает их стандартный деинсталятор?!
Часто пользуюсь Your Uninstaller! Pro, он всегда в конце показывает какие папки и ключи реестра нашел и стоит ли их удалять.
По поводу своих алгоритмов, вы правы. Например, намедни разбирался с проблемами вывода DTS звука на SPDIF (кстати, в этой связи у меня к вам позже будет вопрос). Так вот, у Revo Uninstaller были паттерны для удаления K-Lite Codec Pack. (думал, что проблемы в нём, а оказалось в настройках Windows).
Меня эти две утилиты выручают, когда надо разобраться с заглючившим софтом, ибо удаление-установка стандартными средствами не всегда решает проблему.
Конечно, я создаю контрольную точку восстановления системы, перед манипуляциями. Даже не смотря на то, что эти утилиты тоже создают их при каждой операции. Главное, когда всё стабильно заработает, не забыть удалить эту массу контрольных точек. =)
Вадим, так может стоит написать статью о том, почему вы считаете, что не нужно пользоваться подобными утилитами. Думаю, дискуссия на этот счёт будет жаркая и доказательная, с каждой стороны.
Слава, я не пользуюсь универсальными деинсталляторами, потому что:
а) Мне практически нечего удалять. Я не ставлю всякое засоряющее и конфликтное барахло вроде K-lite Codec Pack, я редко ставлю новые программы, у меня давно устоялся набор. А если надо поэкспериментировать, есть виртуалка, которая мало отличается от основной системы по производительности.
б) При отсутствии проблем удаление ничего не дает. Если есть проблема, надо ее решать по факту, а не повальным удалением.
Я в блоге пишу о том, чем пользуюсь сам, и не пишу о том, чем не пользуюсь. Поэтому я не буду тут сидеть и рассуждать, почему вам это не нужно. Вам нужно — пользуйтесь.
а) Вадим как вы смотрите фильмы в MKV контейнере со звуком DTS без сторонних приложений?
Возможно, вы не слушаете многоканальную музыку или HiRes Stereo. Но Windows из коробки этого тоже не может.
б) Удаление лишних «хвостов» освобождает драгоценное место на жестких и твердотельных дисках. Не у всех дома стоит NAS.
Грубо вы реагируете на просьбу. Я не настаивал, а лишь предложил.
а) Я использую сторонние плееры с кодеками, но я не устанавливаю кодек-паки
б) —
в) Я не грубил, вам показалось. Попробуйте перечитать ответ без эмоций.
Вот как раз с K-Lite Codec Pack проблем и не возникает. Он за собой убирает хорошо. А конфликтует он у тех, кто ставит зоопарк кодек паков вместо одного.
Ника, мне все равно, хорошо он убирает или плохо. Я просто не вижу смысла интегрировать в систему кодеки, когда можно обойтись без этого.
Вадим, я к тому, что это плохой пример.
Ника, это хороший пример установки в систему ПО, без которого можно прекрасно обойтись.
Я в блоге пишу о том, чем пользуюсь сам, и не пишу о том, чем не пользуюсь.
А заголовки «В чем риск работы в устаревшей операционной системе», «Можно ли работать в Windows без антивируса» и «6 ошибок людей с маленьким системным разделом» говорят об обратном. Или вы без антивируса работаете в устаревшей операционной системе, установленной на маленьком системном разделе? 🙂
При отсутствии проблем удаление ничего не дает. Если есть проблема, надо ее решать по факту, а не повальным удалением.
При этом в статье «Как свободное место на SSD влияет на его производительность и срок службы» вы отмечаете, что свободное место на SSD не всегда бывает лишним.
Попытка придраться к словам засчитана.
Ну в первой части поста что-то такое было, да.
Что касается части второй, то не пытаетесь ли вы выдать баг за фичу?
Хотя это конечно не баг как таковой, а попросту дурацкое архитектурное решение.
Я не понимаю, о чем вы говорите. Если вас не затруднит, ведите обсуждение по теме этой записи. От этой просьбы невозможно отказаться.
Успокойтесь, оно касается темы записи, т.е. установки/удаления программ.
Очистка системы при удалении отдана на откуп создателю программы. Если он не смог, не захотел или более того — злонамеренно захотел, то после процедуры удаления на носителе остаются файлы, которые не используются ни системой, ни непосредственно пользователем. Бесполезный мусор, занимающий место.
У меня язык как-то не поворачивается назвать это элегантным архитектурным решением.
Я спокоен. Приведу вам простой пример.
1. Человек установил браузер Google Chrome
2. При первом запуске был создан профиль в %userprofile%\AppData\Local\Google\Chrome
3. Человек пользовался браузером полгода, потом возникла какая-то проблема, он решил его переустановить — удалил, поставил заново.
Вопрос: с точки зрения удобства пользователя и здравого смысла, следует ли Google удалять с диска папку AppData\Local\Google\Chrome после удаления браузера?
Это простой вопрос «Да/Нет», но я уверен, что вы сможете написать на эту тему целый опус.
Если просто «да/нет», то разумеется нет.
Причина проста: это не относится к процессу установки/удаления программы. По аналогии: стоит ли удалять все офисные документы на подключенных в данный момент носителях в процессе удаления мс офиса? А что делать, если некоторые документы оказались на отключенных в данных момент носителях или вовсе уплыли куда-то в инет?
Это не файлы, создаваемые на диске при установке программы, они созданы в процессе последующей работы уже установленной программы. И это, очевидно, к теме не относится. Могу я попросить вас следовать вашей же безотказной просьбе вести обсуждение только по теме этой записи?
Вы не уточнили, о каких файлах речь, отсюда и мой пример. Тогда вам нужно привести конкретные примеры программ со списком папок и файлов, которые они создают, но не удаляют, если тут же удалить программу. Желательно штук несколько, чтобы проверить. Переливать из пустого в порожнее я не буду.
Я считал, что непричастность пользовательских данных к вопросу установки/удаления программ очевидна для нас обоих.
Но если подумать, ваш предыдущий пост только льёт воду на мою мельницу, расширяя проблему. Ведь действительно, в процессе деинсталляции может иметь место не только неудаление ранее установленных файлов, но и (и что гораздо хуже) удаление пользовательских данных. Для этого вовсе необязательна злонамеренность, достаточно, как следует из вами вышенаписанного, не уметь пользоваться инструментом «установщик Windows».
Моя позиция заключается не в недовольстве какими-то отдельными конкретными программами, а в критике подхода в целом, когда программа инсталляции самостоятельно принимает решения.
Вы же, вместо того, чтобы признать порочность такого подхода (я понимаю, что изменить его вы не в силах), начинаете выступать его адвокатом и пытаетесь увести разговор в частности.
Моя позиция заключается не в недовольстве какими-то отдельными конкретными программами, а в критике подхода в целом, когда программа инсталляции самостоятельно принимает решения.
Вы же, вместо того, чтобы признать порочность такого подхода (я понимаю, что изменить его вы не в силах), начинаете выступать его адвокатом и пытаетесь увести разговор в частности.
Я считаю ваши тезисы и обвинения как минимум странными, поэтому отказываюсь от дальнейшей дискуссии.
Т.к. вместо попытки прояснения тезисов вы избрали отказ от дискуссии, скорее всего тезисы вам как раз вполне понятны, просто есть желание сделать хорошую мину при плохой игре.
Ваше право.
Извините, у меня сейчас нет времени на пространные дискуссии. В этой короткой записи есть конкретика с примерами, поэтому если у вас есть то же самое (что плохо, как должно быть, где сделано правильно), я с удовольствием прочту.
Что плохо: (де)инсталлятор неподконтролен системе. Он может писать и удалять что угодно и куда/где угодно. То, насколько он правильно (т.е. ожидаемо) будет работать — целиком на совести разработчика (как самого инсталлятора, так и устанавливаемой программы, который его настраивал). Если он профессионален, аккуратен — всё будет работать идеально. Если нет — в лучшем случае после удаления программы могут остаться бесполезные файлы, в худшем могут пострадать пользовательские данные.
Как должно быть: предназначенный для этого дела модуль операционной системы тоталитарно контролирует процесс установки и удаления. Дистрибутив программы не является исполняемым файлом, а просто содержит файлы программы плюс служебные файлы, содержащие описательную часть, электронные подписи, зависимости, список необходимых программе ключей реестра, какие-то карты вариантов установки и т.п. Установочный модуль ОС читает и анализирует служебные файлы, проверяет конфликты, после чего распаковывает и записывает файлы, создаёт ключи реестра. Все эти действия записываются в базу данных.
Соответственно можно запретить запись в какие-либо каталоги или ветви реестра (даже если пользователь имеет право за запись туда), либо сделать несколько зон доступа и в интерфейсе выводить сообщения пользователю с запросом подтверждения.
Во время жизни программы в системе можно в любой момент узнать куда что было записано при установке любой программы.
Когда наступает пора удалить программу, всё возвращается в исходное положение: установочный модуль, подглядывая в базу данных, удаляет созданные при установке файлы и ключи реестра.
Насколько припоминаю, часть этих действий делает ряд программ-оболочек установки, где-то в комментах пролетало знакомое название даже. По их образу и подобию в этом гипотетическом установочном модуле можно обеспечить обратную совместимость с уиллионом уже существующих дистрибутивов с «классическими» установщиками.
Где сделано правильно: в подавляющем большинстве бинарных дистрибутивов линукс, в более широком охвате — возможно в большинстве бинарных *никсов.
Спасибо за развернутый комментарий. Как я и думал, все сведется к модели Linux и ее преимуществам. Я все-таки оставлю техническую часть без комментариев, поскольку превращения Windows в Linux в ближайшее время не предвидится (за исключением доли рынка :).
При чём тут какая-то «модель Linux»? Это модель тоталитарного контроля за установкой. Да, она используется в большинстве линуксовых пакетных менеджеров, но забавно, что вы это использовали как повод для отказа от дискуссии 🙂
Ну и вообще, микрософту не привыкать коммуниздить фичи из мира опенсорса 🙂
превращения Windows в Linux в ближайшее время не предвидится
Именно поэтому в винде появляется трёхмерная визуализация интерфейса, многостоловость, пилится консоль и создаётся пакетный менеджер?
Это можно интерпретировать в обе стороны.
Я не понимаю, чего вы от меня хотите. Размахивать флагом линукс в этом блоге — ваша прерогатива. Моя — объяснять, как работает Windows. Объясняю упрощенно (конечно, вы все это знаете, просто вам скучно и вы требуете ответов).
В Windows процессы получают права, которые имеет пользователь — полные (при повышении или отключенном UAC) или ограниченные. Соответственно, если пользователь запустил процесс, тому позволено делать все что угодно в рамках его прав. Этих прав может быть недостаточно, чтобы нарушить работу системы, потому что важнейшими объектами владеют SYSTEM и TrustedInstaller. Но их точно хватает, чтобы удалять любые файлы в профиле пользователя. См. также [видео] Почему не всегда работает перетаскивание файлов при включенном UAC
Так работает Windows, и о грядущих изменениях в этом аспекте мне ничего неизвестно (перечисленное вами — мелкая косметика, по совместительствую повышающая ЧСВ линуксоидов). Главные изменения уже произошли — это приложения из Магазина, которые жестко ограничены в правах. Это единственный путь в Windows, если вас не устраивает модель классических приложений.
Даже уже не знаю как мне написать, чтобы вы поняли мою мысль.
Не было нужды столь подробно описывать права в винде: во всех многопользовательских системах логика работы в этом отношении в первом приближении идентична. Я веду речь не за права доступа вовсе.
Достаточно перечитать мой пост https://www.outsidethebox.ms/17408/comment-page-1/#comment-28051 и понять, что речь в первую очередь идёт о скрупулёзном учёте в процессе установки программ и не менее скрупулёзной подчистке при удалении. При этом установкой/удаление занимается модуль ОС и можно ли что-то куда-то писать — решает он (и необязательно руководствуясь только правами инициировавшего установку пользователя) и на это разработчик устанавливаемой программы повлиять не может.
Что касается ЧСВ линуксоидов, то его уж скорее повышает то, что у них, в отличие от, управление файлами пакетов в полном порядке. Всегда можно посмотреть какие файлы есть в составе пакета. Всегда можно узнать какому пакету принадлежит любой файл. И если удаляется ранее установленный пакет, будьте уверены, что на диске от него не осталось ни одного файла, кроме разве что конфигов в /etc, если у него таковые в составе были.
Так работает Windows, и о грядущих изменениях в этом аспекте мне ничего неизвестно
Ну, если говорить о том аспекте, о котором говорю именно я, то возможно что-то собираются поменять, я о http://www.howtogeek.com/200334/windows-10-includes-a-linux-style-package-manager-named-oneget (веселит, что сторонний сайт не стесняется прямо в заголовке без обиняков сравнить нововведение с линуксовыми аналогами). Правда в статье (как и на офсайте) налегают на простые и быстрые поиск и установку пакетов (ещё одно преимущество централизованного управления), и на скорую руку я не нашёл ничего по вопросу учёта файлов и чистового удаления, но думаю это прилагается, т.к. установщик судя по всему тоталитарен и рассматривает программные пакеты только как данные.
Я не понимаю, чего вы от меня хотите.
Ну если совсем утрируя, то чтобы вы согласились с моим первоначальным суждением о кривости виндового подхода к вопросу установки/удаления приложений.
А получилось, что вы не просто со мной несогласны (что, разумеется, всегда может случиться) — вы всё ещё не понимаете точку зрения оппонента. В таких условиях диалог закономерно разрастается в размерах.
Слава: В первую очередь приложения от Adobe и Google оставляют много следов.»
Меня недавно позабавил Гугл. Установил Google Drive, вместе с ним установилась служба Google Update для обновления гугловских программ. Облако не понравилось, снёс. Служба осталась (причём ЕМНИП она отсутствует в «Установке и удалении программ»). В итоге в фоне висит служба, которая время от времени обновляет себя — такая вот «вещь в себе». 🙂
Conqueror Gun Carriage
Не пробывал Ashampoo Uninstaller. Зато тестил удалялки, а именно, вначале устанавливался софт по дефолту, как обычно полагается с довеском мусора.
Revo Uninstaller Pro частично норм справился с задачей и оставил мало следов.
А вот его соседи Reg Organizer, Soft Organizer, Advanced Uninstaller PRO, GeekUninstaller, Uninstall Tool, Your Uninstaller! Pro — с задачей не справились! Система была сильно замусорена.
Reg Organizer и Soft Organizer — вообще систему уложили. Хорошо, что это в песке было. Хотя, пробывал на реальной их от Комодо следы почистить — систему уложил. Хотя, аккуратно юзал. Поэтому крайне их НЕ рекомендую.
Есть одно но… Я удалялкам очень не доверяю. Хотя, хочется норм софт по удалению, чтобы потом не мучатся.
Вот взять Комодо. Его удаляешь, утилитой его проходишь, а он не ставится — ошибка. Я к тому, что я например хочу удалить его так, чтобы в системе следов его не осталось, как будто его и не устанавливал.
Хочу сменить Комодо на что-нить другое, но как быть, чтобы он в системе не остался?
Вот что посоветуете?