Cmd uninstall windows 7

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Как удалить пакет обновления, если загрузить систему невозможно

Так произошло и в минувший вторник патчей. Очередное обновление безопасности KB3045999 для Windows 7 при перезагрузке приводило к «синему экрану смерти» (BSOD).

Пользователи разразились очередными упреками к Microsoft, выпускающей «глючные» обновления, но очень скоро выяснилось, что ошибке подвержены только системы с патченным ядром. Тем не менее проблема затронула и вполне законопослушных пользователей, которые поленились собрать собственный дистрибутив и, чтобы не выкачивать гигабайты обновлений, просто скачали из сети подходящую сборку.

Не будем обсуждать моральные и юридические аспекты использования нелицензионного ПО, пусть каждый решает этот вопрос самостоятельно, а лучше рассмотрим способы восстановления работы системы.

Установочный диск или Windows PE

Если вы используете Windows PE, то он также должен быть создан на базе текущей версии ОС или более поздней, разрядность также должна совпадать.

Загрузимся с установочного диска и на экране, предлагающем установку ОС выберем пункт Восстановление системы.

Утилита определит установленную ОС и предложит перейти к автоматическому восстановлению системы, вариантов здесь немного, поэтому нажимаем Далее.

А вот дожидаться окончания работы мастера совершенно необязательно, тем более что помочь он нам не сможет, поэтому на следующем экране нажимаем Отмена.

Затем не спешим и в появившемся окне выбираем ссылку Показать дополнительные возможности восстановления системы.

Теперь у вас появилась возможность выйти в командную строку, чем и следует воспользоваться.

Если вы загрузились с Windows PE, то попадете в командную строку сразу.

После чего следует уточнить какую букву получил системный диск. При стандартной разметке это будет буква D, букву С получит служебный раздел. Для проверки выполним:

Убедившись, что это действительно системный диск, можно переходить к следующим шагам. Перед этим было бы неплохо уточнить наименование проблемного обновления, как правило это несложно сделать при помощи сети интернет. Затем получим список всех установленных пакетов следующей командой:

В выводе находим номер необходимого обновления и копируем имя пакета, если оно неизвестно, то удалите все пакеты с датой последнего обновления.

Для того, чтобы скопировать наименование пакета в командной строке выделите его и нажмите клавишу Enter, для вставки достаточно щелкнуть правой кнопкой мыши.

Для удаления пакета выполните команду:

где в качестве опции PackageName укажите имя пакета, полученное на предыдущем шаге.

Microsoft Diagnostics and Recovery Toolset

Загружаемся с диска MSDaRT, помните, что обязательным требованием является соблюдение разрядности, и на первом экране, после выбора языка (в нашем случае используется версия 8.0), выбираем Диагностика:

Затем Microsoft Diagnostics and Recovery Toolset:

После чего перед вами откроется окно с выбором доступных инструментов, нас интересует Hotfix Uninstall или Удаление исправлений.

Работа с мастером не представляет сложности, выбираем одно или несколько обновлений и удаляем их:

Как видим, работа с MSDaRT гораздо удобнее, чем с командной строкой, но требует подготовиться к возможным нештатным ситуациям заранее.

В обоих случаях после удаления проблемного обновления следует перезагрузиться и тщательно проанализировать причины сбоя. Надеемся, что данный материал поможет вам быстро восстановить работоспособность системы после неудачного обновления.

Источник

How to uninstall a program through command prompt?

My laptop has operated a windows 7 ultimate.

But, after updating completely, I set up an anti virus from internet. That’s MPC Cleaner. Then, not a longer time I wanted it to uninstall from my laptop because I wanted to get an anti virus from Microsoft Corporations only.

I have operated a Startup Repair many times, but there was still the same result; windows is still not work at all!

When I searched whether any wrong programs over there. but nothing!

The only chance for me is to try once again through a command prompt that is still possible.

But, Can everyone over there give a hand for me about this trouble?

Thank you for posting your query on Microsoft Community.

As per the issue description you are willing to uninstall program through command prompt. If you think that there are some traces of uninstalled program which is causing the issue then you may try to run the Autoruns and see if it helps you to fix the issue.

Let’s Download and run Microsoft AutoRuns utility to remove all the obsolete traces in registry for the uninstalled programs. Autoruns has the most comprehensive knowledge of auto-starting locations of any startup monitor, shows you what programs are configured to run during system bootup or login, and shows you the entries in the order Windows processes them. These programs include ones in your startup folder, Run, RunOnce, and other Registry keys.

Refer the picture below:

Delete all the Yellow or red entries and restart the computer and check if that helps.

Stop a program from running automatically when Windows starts.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base
How to back up and restore the registry in Windows

The entries in yellow and red are obsolete remnant of old uninstalled software, you can see the image path reads “File not found”. Right click and delete all these obsolete entries, restart the computer and check if that works.

If you still face issue and want to know the way how to delete a program using command prompt then try the steps provided below.

Note: This will give you a list of program names installed on your computer to use in the next step. This list will not always have all of the programs listed in Programs and Features though.

(To be prompted Y/N to approve. Recommended) : product where name=” name of program ” call uninstall

(To NOT be prompted Y/N to approve) : product where name=” name of program ” call uninstall /nointeractive

Hope this would help. If issue still persists post back with current status of your computer and result of proposed suggestion, we will be happy to assist you.

Источник

Как удалить программы в командной строке или Windows PowerShell

На компьютеры, работающие под управлением Windows, пользователи устанавливают различные прикладные программы для выполнения тех или иных задач. Сразу после установки, в операционной системе доступны только базовые приложения.

Естественно, что этого недостаточно для выполнения многих видов деятельности на компьютере. Чтобы решить эту проблему, на ПК устанавливается дополнительное программное обеспечение.

Новые программы позволяют выполнять необходимые операции, делают работу более комфортной и продуктивной. Постепенно на компьютере оказывается установленными больное количество разных программ.

Часть приложений регулярно используется, другой софт задействован время от времени, а остальными программами не пользуются по разным причинам. Ненужные программы необходимо деинсталлировать с ПК, чтобы они не занимали место на дисковом пространстве или не влияли на производительность устройства.

Чтобы удалить программу с компьютера можно воспользоваться системными средствами Windows или сторонним программным обеспечением. Можно использовать любой из этих способов. Сторонние приложения-деинсталляторы имеют дополнительный функционал, это позволяет им более тщательно подчищать следы от удаленных программ на компьютере.

В этом руководстве мы рассмотрим один из способов деинсталляции ненужных приложений: удаление программы через командную строку и удаление программ через PowerShell.

Читайте также:  M428f драйвер windows xp

Большей части пользователей удобнее использовать графический интерфейс средства удаления программ 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.

Источник

Вадим Стеркин

На форуме 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 лет, что я его не брал в руки :). Откуда снимку знать, что произошло после установки? Может, другие приложения пользуются этой папкой или пользователь туда файлы сохранил.

Читайте также:  Asus bios installer for windows

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».

Моя позиция заключается не в недовольстве какими-то отдельными конкретными программами, а в критике подхода в целом, когда программа инсталляции самостоятельно принимает решения.

Вы же, вместо того, чтобы признать порочность такого подхода (я понимаю, что изменить его вы не в силах), начинаете выступать его адвокатом и пытаетесь увести разговор в частности.

Моя позиция заключается не в недовольстве какими-то отдельными конкретными программами, а в критике подхода в целом, когда программа инсталляции самостоятельно принимает решения.

Вы же, вместо того, чтобы признать порочность такого подхода (я понимаю, что изменить его вы не в силах), начинаете выступать его адвокатом и пытаетесь увести разговор в частности.

Читайте также:  1c7 windows 10 не открывается

Я считаю ваши тезисы и обвинения как минимум странными, поэтому отказываюсь от дальнейшей дискуссии.

Т.к. вместо попытки прояснения тезисов вы избрали отказ от дискуссии, скорее всего тезисы вам как раз вполне понятны, просто есть желание сделать хорошую мину при плохой игре.
Ваше право.

Извините, у меня сейчас нет времени на пространные дискуссии. В этой короткой записи есть конкретика с примерами, поэтому если у вас есть то же самое (что плохо, как должно быть, где сделано правильно), я с удовольствием прочту.

Что плохо: (де)инсталлятор неподконтролен системе. Он может писать и удалять что угодно и куда/где угодно. То, насколько он правильно (т.е. ожидаемо) будет работать — целиком на совести разработчика (как самого инсталлятора, так и устанавливаемой программы, который его настраивал). Если он профессионален, аккуратен — всё будет работать идеально. Если нет — в лучшем случае после удаления программы могут остаться бесполезные файлы, в худшем могут пострадать пользовательские данные.

Как должно быть: предназначенный для этого дела модуль операционной системы тоталитарно контролирует процесс установки и удаления. Дистрибутив программы не является исполняемым файлом, а просто содержит файлы программы плюс служебные файлы, содержащие описательную часть, электронные подписи, зависимости, список необходимых программе ключей реестра, какие-то карты вариантов установки и т.п. Установочный модуль ОС читает и анализирует служебные файлы, проверяет конфликты, после чего распаковывает и записывает файлы, создаёт ключи реестра. Все эти действия записываются в базу данных.
Соответственно можно запретить запись в какие-либо каталоги или ветви реестра (даже если пользователь имеет право за запись туда), либо сделать несколько зон доступа и в интерфейсе выводить сообщения пользователю с запросом подтверждения.
Во время жизни программы в системе можно в любой момент узнать куда что было записано при установке любой программы.
Когда наступает пора удалить программу, всё возвращается в исходное положение: установочный модуль, подглядывая в базу данных, удаляет созданные при установке файлы и ключи реестра.
Насколько припоминаю, часть этих действий делает ряд программ-оболочек установки, где-то в комментах пролетало знакомое название даже. По их образу и подобию в этом гипотетическом установочном модуле можно обеспечить обратную совместимость с уиллионом уже существующих дистрибутивов с «классическими» установщиками.

Где сделано правильно: в подавляющем большинстве бинарных дистрибутивов линукс, в более широком охвате — возможно в большинстве бинарных *никсов.

Спасибо за развернутый комментарий. Как я и думал, все сведется к модели 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 — вообще систему уложили. Хорошо, что это в песке было. Хотя, пробывал на реальной их от Комодо следы почистить — систему уложил. Хотя, аккуратно юзал. Поэтому крайне их НЕ рекомендую.
Есть одно но… Я удалялкам очень не доверяю. Хотя, хочется норм софт по удалению, чтобы потом не мучатся.
Вот взять Комодо. Его удаляешь, утилитой его проходишь, а он не ставится — ошибка. Я к тому, что я например хочу удалить его так, чтобы в системе следов его не осталось, как будто его и не устанавливал.
Хочу сменить Комодо на что-нить другое, но как быть, чтобы он в системе не остался?
Вот что посоветуете?

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector