Содержание
Где программа хранит свои данные после запуска
Наверняка вы слышали о програмках для удаления программ, которые довольно всераспространены посреди продвинутых юзеров компов под управлением Windows. Но далековато не все юзеры соображают разницу меж ними и обыденным удалением.
Создатели таковых программ утверждают, что их продукт может на сто процентов удалить програмку совместно со всеми следами.
Но разве обычный инструмент Windows не может сделать это же? Почему заместо штатного метода удаления необходимо прибегать к использованию каких-либо посторониих программ?
И как вообщем это необходимо рядовому пользователю?
Как работает установщик/деинсталлятор
Теперь давайте разглядим, как работает обычный инсталлятор/деинсталлятор, которые создатели юзают для установки собственных товаров. В подавляющем большинстве случаев это отдельные программные модули, которые написаны совсем иными создателями и которые просто взяты для того, чтоб не писать собственный неповторимый инсталляционный пакет.
В настройках установщика традиционно задается, в какие папки необходимо скопировать файлы из установочного пакета.
Как правило, это Program Files либо Program Files (x86), а также в ряде случаев копирование отдельных рабочих файлов в AppData и LocalAppData, а также создание базисных ключей реестра.
На этом процесс установки заканчивается, программа установщик записывает все эти файлы и ключи в особый файл, который позже будет применен при удалении.
Все же доп ключи реестра и файлы, которые будут сделаны уже в процессе использования программы, установщику неопознаны.
Поэтому по логике работы установщика/деинсталлятора они являются чужеродными и не относятся к установленной програмке. Хотя по факту это не так.
В процессе удаления, который является по сущности обратным действием установки, деинсталлятор проходит по списку ключей и файлов, который был сотворен в процессе установки, и удаляет их. Все другие элементы остаются в компе, так как числятся «чужими» (их нет в перечне установки).
Почему остаются «хвосты»
Казалось бы, что разрабу программы довольно приложить маленькие усилия и доделать процесс удаления собственного продукта, но не все о этом даже задумываются.
А кто-то из разрабов считает, что оставшиеся на компе опции и рабочие файлы даже отлично, поэтому что при повторной установке все будет так, как было до удаления.
Хотя, естественно, неплохой разраб поразмыслит о этом заблаговременно и на одном из шагов удаления спросит у юзера, сохранить ли рабочие файлы и опции на компьютере.
Есть еще и такие создатели программ, которые перекладывают вину за свою недоработку на плечи разрабов утилит установки/удаления, считая, что это их работа.
При этом создатели установщиков/деинсталляторов ссылаются на то, что создатели программ должны заниматься сиим сами, указывая доп характеристики для удаления.
Каждый спихивает вину друг на друга, а в итоге мучаются обыденные юзеры. Конкретно поэтому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления программ, в итоге что приходится применять деинсталляторы.
Где программы хранят данные
Чтобы осознать ситуацию, стоит разглядеть типичную структуру данных программ.
Наверное вы понимаете, что программные файлы в подавляющем большинстве вариантах хранятся в папках Program Files и Program Files (x86).
Конкретно туда программа установщик записывает все файлы, которые нужны для пуска программ.
Время от времени программы инсталлируются в папку юзера (это может быть необходимо по ряду обстоятельств, к примеру, для автоматического обновления программы в фоновом режиме без оповещения юзера, как делает тот же Chrome).
Результаты работы программ могут быть записаны в папку с личными документами юзера (Документы, Изображения, Музыка и прочее).
Также бывают случаи, когда сама система записывает данные программ в специальную папку снутри папки юзера (папка Virtual Store).
Ну и естественно же системный реестр, который упоминается везде и всюду.
Там программы хранят свои опции. В реестре может быть 2-3 места, где программы располагают свои данные.
Нужны ли посторонние деинсталляторы вам?
Теперь осталось осознать, как вообщем целенаправлено употреблять деинсталляторы для вас (если вы еще не решили). И чтоб ответить на этот вопросик, нужно осознать, как нередко вы устанавливаете/удаляете программы, какое количество следов остается опосля удаления программ обыденным методом, а также сколько места на диске всего и сколько свободно.
Если на вашем диске чрезвычайно много вольного места и удаление излишних 2-10 гб не сыграет никакой роли, то в принципе заморачиваться сиим вопросиком и не стоит.
Но ежели у вас системный диск на 120 Гб и свободно места, что именуется «впритык», то о этом стоит задуматься, поэтому что 2-10 гб для 120 Гб диска уже довольно впечатляющий объем.
Еще есть таковой момент, как проблемное программное обеспечение. В случае появления заморочек можно попробовать на сто процентов удалить приложение и установить его поновой, чтоб сбросить все опции на «заводские». В этом случае деинсталлятор также может помочь.
Работа срепозиториями
Для начала определим, что такое репозиторий.
Это рабочая директория свашим проектом. Посути, это таже папка сHTML, CSS, JavaScript ипрочими файлами, что хранится увас накомпьютере, нонаходится насервере GitHub.
Поэтому выможете работать спроектом удалённо налюбой машине, непереживая, что какие-то изваших файлов потеряются— все данные будут врепозитории при условии, что выихтуда отправите.
Нообэтом позже.
Если над проектом трудится команда разработчиков, как правило, создаётся общий репозиторий, вкотором находится рабочая версия проекта (назовём его мастер-репозиторий).
При этом каждый пользователь клонирует себе впрофиль оригинальный репозиторий иработает именно скопией.
Такая копия называется форком. Так как форк— ваша персональная версия мастер-репозитория, внём выможете пробовать разные решения, менять код инебояться что-то сломать восновной версии проекта.
Как сделать форк мастер-репозитория?
Заходим внужный репозиторий, нажимаем на«вилку» снадписью fork.
Форк репозитория создан инаходится ввашем профиле наGitHub.
Теперь нужно склонировать форк себе накомпьютер, чтобы вести работу скодом локально.
Тут нам ипригодится SSH.
Открываем консоль, переходим вдиректорию, где хотим сохранить папку спроектом, ивводим команду:
git clone git@github.com:your-nickname/your-project.git
Если выправильно настроили SSH-ключи, Git начнёт процесс копирования репозитория наваш компьютер.
Если вывидите ошибку, вкоторой написано , скорее всего, выошиблись где-то при выполнении инструкции понастройке SSH-ключа.
Вернитесь нанесколько абзацев ранее ипопробуйте повторить процесс настройки.
Если вынехотите вручную вводить адрес репозитория, выможете зайти настраницу проекта, нажать зелёную кнопку Clone ordownload (клонировать или скачать), выбрать Clone with SSH (клонировать поSSH) ископировать адрес, который находится втекстовом поле.
Этот адрес выможете вставить вкоманду .
Кстати, если выхотите, чтобы название папки спроектом увас накомпьютере отличалось отимени репозитория, можете дополнить команду клонирования, добавив вконце другое название:
git clone git@github.com:_your-nickname_/_your-project_.git folder_name
Теперь, навашем компьютере, впапке или втой, название которой выуказали самостоятельно, находится полная копия репозитория cGitHub.
Чтобы начать работу с проектом, надо оказаться в его директории.
Для этого используем команду , после которой указываем название проекта на вашем компьютере:
Работу над проектом принято вести вветках.
Вкаждом репозитории есть как минимум одна ветка. Это основная ветка, которую создаёт сам Git, она называется .
Обычно вней находится стабильная версия программы без ошибок. Если выхотите исправить баг, добавить новую функциональность впроект, попробовать какую-то технологию, нонехотите сломать код восновной ветке, выответвляетесь из итрудитесь всвоей новой ветке.
https://www.youtube.com/watch?v=x9Cz2Qq2roA
Здесь выможете реализовывать свои идеи, непереживая, что рабочий код сломается. Каждая ветка— что-то вроде второстепенной дороги, которая затем снова соединяется сосновной.
Создадим новую ветку.
Открываем терминал, вводим команду . Она показывает список веток, скоторыми мыработаем впроекте, ивыделяет текущую.
Если мынаходимся в создаём новую ветку: .
Если текущая ветка не , сначала переключимся восновную ветку: .
Мыделаем это, чтобы новая ветка содержала свежую, намомент создания, рабочую версию проекта.
Эта команда позволяет переключаться между существующими ветками впроекте, после надо указать название нужной ветки.
Если выошиблись вназвании, например, допустили опечатку, выможете изменить название ветки спомощью команды: .
После того как высоздали ветку, поработали вней усебя локально— нужно сохранить результат, чтобы оннепропал ивитоге оказался врепозитории.
Если выхотите сохранить изменения невовсех файлах, для начала можно ввести команду .
Она покажет текущее состояние ввашей ветке, аименно список сназваниями изменённых файлов, если они есть, иукажет нате, которые ожидают записи исохранения (обычно они выделены красным цветом).
Как переместить (вернуть) системные папки профиля пользователя?
Windows 7/8/10
Источник: https://mosthave.fun/gde-programma-hranit-svoi-dannie-posle-zapuska/
Зачем нужна и где расположена папка AppData в Windows?
В этой статье о папке AppData: где расположена и как найти папку AppData, за что отвечают папки Local, LocalLow, и Roaming. Приложения Windows часто хранят свои данные и файлы настроек в папке AppData. Причём, AppData есть в папке каждого пользователя конкретного компьютера. По умолчанию папка AppData является скрытой, и увидеть её можно только отобразив скрытые файлы и папки.
Для аккаунта каждого пользователя Windows есть своя папка AppData, и содержит она данные именно того пользователя в папке которого находится. Это даёт возможность программам и приложениям Windows хранить несколько вариантов настроек на компьютере, который одновременно используется несколькими пользователями.
Папка AppData (что является сокращением от Application Data) впервые появилась в Windows Vista и присутствует во всех современных версиях операционной системы: Windows 7, 8 и 10.
Найти AppData можно в папке с именем пользователя. Так, в папке моего пользователя с именем Valery папка AppData расположена по адресу:
C:\Users\Valery\AppData
Как уже упоминалось выше, по умолчанию данная папка является скрытой. Но если в адресную строку файлового менеджера вбить %APPDATA% и нажать Enter, то откроется AppData текущего пользователя.
Папки Local, LocalLow, и Roaming
Папка AppData включает в себя три папки: Local, LocalLow, и Roaming. Разные программы и приложения хранят разные типы настроек и своих данных в каждой из них.
Roaming
Папка Roaming состоит из данных, которые переходят за пользователем от одного компьютера к другому, по причине их синхронизации или если компьютер подсоединён к домену с роумингом профайла. Часто – это важные данные и настройки приложений.
Например, вы здесь найдёте профайл пользователя Google Chrome, Mozilla Firefox и Opera, в которых сохранены закладки и другие данные браузера, которые переходят вместе с пользователем от компьютера к компьютеру. Также здесь хранятся некоторые данные аккаунтов Viber, Skype, антивирусных программ и виртуальных машин.
Local
В папке Local хранятся данные, которые относятся к одному конкретному компьютеру. Они никогда не синхронизируются с другими ПК, даже если компьютер находится в домене. Это специфические данные для конкретного компьютера или файлы большого размера. Это может быть кэш программ и приложений или настройки, синхронизация которых разработчиками не предусмотрена.
Если компьютер не находится в сети, то большой разницы между папками Roaming и Local не будет. Все данные будут хранится только на ПК. Тем не менее, данные таких папок по умолчанию разделяются разработчиками приложений.
LocalLow
Папка LocalLow предназначена для сохранения данных приложений со «слабой интеграцией» (“low integrity”). Таких, которые работают с более ограниченными настройками безопасности. Она предназначена в основном для буферных данных, генерируемых Internet Explorer, Java и программами от Adobe. Например, при использовании браузера в защищённом режиме или режиме инкогнито, он будет иметь доступ только к папке LocalLow.
Если программе или приложению требуется иметь один набор настроек или данных для нескольких или всех пользователей компьютера, то для этого будет использована папка ProgramData. В более ранних версиях Windows для этого использовалась папка AppdData пользователя «Общие» (“All Users”).
Антивирусные программы, например, в папке ProgramData сохраняют логи сканирования и настройки, которые являются общими для всех пользователей.
Но бывают и исключения. Например, Google Chrome хранит все свои настройки и данные пользователя в папке Local. Хотя, теоретически, такие данные должны храниться в папке Roaming. И такие случаи не единичны.
Так, некоторые приложения хранят настройки в корневой папке аккаунта пользователя (C:\Пользователи\ИмяПользователя\), или в документах (C:\Пользователи\ИмяПользователя\Документы). Другие, могут хранить свои данные в любом другом месте системы. В Windows, разработчики приложений имеют возможность настраивать их таким образом, что данные будут хранится в любом удобном месте.
Нужно ли резервировать и можно ли удалять данные папки AppData
Большинство пользователей Windows даже не подозревает о существовании папки AppData. Рядовому пользователю компьютера знать о ней нет необходимости. Поэтому она и является скрытой по умолчанию. Данная папка предназначена для хранения программами и приложениями в ней своих служебных данных, и пользователи как правило обращаются к ней только в случае крайней необходимости.
В принципе, необходимости делать резервную копию всей папки нет необходимости. Тем не менее, в ней хранится вся история переписок большинства мессенджеров (как Viber, Skype или Messenger), а также история некоторых браузеров (как Google Chrome). В резервном копировании таких данных, смысл конечно же есть.
И наоборот, в случае удаления или утери одной из папок в AppData, пользователь рискует утерять доступ к важным данным того или иного приложения.
О том, «Как восстановить историю браузера после очистки», «Как восстановить удаленную историю, контакты и пароль Skype», «Как восстановить доступ к Messenger и сохранить историю на Android или Windows компьютере», а также «Как восстановить историю чатов, контакты и файлы Viber на Android или Windows» как используя данные папки AppData уже описано в других статьях нашего блога.
Резервное копирование данных программ и приложений, которые хранятся в AppData, часто сводится к простому копированию их в другое место. Для того, чтобы восстановить их, папку с такими данными достаточно скопировать обратно в то же место папки AppData другого или нового компьютера. В результате, программа или приложение будут использовать данные или настройки из созданной раннее резервной копии.
Только имейте ввиду, что то, будет ли программа корректно использовать данные из резервной копии зависит от свойств каждого отдельного приложения.
Исходя из описанного выше, рекомендуем не вносить никаких изменений в папку AppData если вы не уверены в своих действиях на сто процентов и без крайней на то необходимости.
Источник: https://hetmanrecovery.com/ru/recovery_news/why-do-i-need-and-where-is-the-appdata-folder-in-windows.htm
Нужны ли сторонние деинсталляторы вам?
Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы вам (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете программы, какое количество следов остается после удаления программ обычным способом, а также сколько места на диске всего и сколько свободно.
Если на вашем диске очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом и не стоит. Но если у вас системный диск на 120 Гб и свободно места, что называется «впритык», то об этом стоит задуматься, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.
Еще есть такой момент, как проблемное программное обеспечение. В случае возникновения проблем можно попытаться полностью удалить приложение и установить его заново, чтобы сбросить все настройки на «заводские». В этом случае деинсталлятор также может помочь.
Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом в статье «Как разом избавиться от остатков всех удаленных программ в Windows 7«.
Источник: https://myfreesoft.ru/pochemu-nelzya-polnostyu-udalit-programmu-obychnym-sposobom.html
Где хранятся программы в реестре
В данной статье мы рассмотрим процесс удаления записи о программе из реестра Windows. Реестр — это место хранения записей настроек операционной системы , а также настроек установленного прикладного программного обеспечения.
Сразу скажу, что когда Вы работаете с реестром вручную, то нужно быть предельно осторожным, так как некорректные манипуляции с настройками могут вывести операционную систему из «строя».
В некоторых случаях ручная правка реестра может быть очень кстати, к примеру, при некорректном удалении какой – либо программы , в реестре могут остаться записи, которые будут препятствовать повторной установке версий этой же программы. При таком раскладе могут появляться сообщения об ошибках установки по типу: «Более ранняя версия программы уже установлена на Вашем компьютере», и т. д.
, хотя на самом деле вы вроде бы её «удалили». Для того чтобы удалить запись о какой-либо программе необходимо открыть редактор реестра, Пуск –> Все программы –> Стандартные -> Выполнит (Win7), или просто Пуск -> Выполнить (Win Xp), также можно применять комбинацию клавиш Win +R.
Рис.1
После того как мы провели вышеописанные манипуляции, перед нами должно появится окно редактора реестра, с помощью которого мы и будем удалять запись о программе Win Rar. На рис.
2, Вы можете заметить различные ветки реестра: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG. Из этих пяти веток реестра, в данном случае нас будет интересовать лишь HKEY_LOCAL_MACHINE.
В ветке HKEY_LOCAL_MACHINE размещены записи о программах, которые установлены на Вашем компьютере.
Рис.2
Для того чтобы удалить запись о программе необходимо перейти: HKEY_LOCAL_MACHINE -> SOFTWARE (раскрывая каждую вкладку), (рис.
3) После того как вы перешли в подраздел SOFTWARE, то необходимо среди списка программ найти ту, записи о которой Вам необходимо удалить. Далее просто удаляем папку с названием записи о программе.
Но опять же, повторюсь, при роботе с реестром необходимо быть предельно осторожным, так как это может привести к выходу из строя операционной системы.
Рис.3
Также можно воспользоваться поиском по названию, для этого необходимо перейти: Правка -> Поиск.
we-it.net
HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall отпарсил но не увидел все программы, которые вижу в панеле управления
wmic product get name так же не дает полный список!
вопрос откуда всетаки панель управления (appwiz.cpl) берет перечь зарегистрированных программ в системе.
РЕШЕНИЕ ЗАДАЧИ СОБИРАЕТ ВСЕ!
echo off CHCP 1251 REG QUERY HKEY_USERS /s /k /c /f Uninstall | find «\Windows\CurrentVersion\Uninstall» > REESTR.LIST REG QUERY HKLM /s /k /c /f Uninstall | find «\Windows\CurrentVersion\Uninstall» >> REESTR.LIST REG QUERY HKCU /s /k /c /f Uninstall | find «\Windows\CurrentVersion\Uninstall» >> REESTR.LIST TYPE NUL > LIST.TXT
for /f «Tokens=1*» %%a in (REESTR.LIST) do reg query %%a /s | FIND «DisplayName» >> LIST.TXT
- Предложено в качестве ответа Vector BCO Moderator 19 марта 2015 г. 12:32
- Помечено в качестве ответа Dmitriy Vereshchak Microsoft contingent staff, Moderator 20 марта 2015 г. 6:29
Все ответы
Помимо HKLM (где фиксируются программы, установленные для всех пользователей в системе) есть ещё ветка, где есть список программ установленных для конкретного пользователя, вот тут, если не ошибаюсь:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\
UPDATE: Соответственно, если несколько пользователей осуществляло вход на компьютер и устанавливали для себя программы, то поискать их надо в HKEY_USERS\SID_Пользователя\ Software\Microsoft\Windows\CurrentVersion\Uninstall\
social.technet.microsoft.com
Обнаружение установленных программ через реестр
Мне нужно разработать процесс, который будет определять, установлен ли на компьютере пользователя определенные программы, и если да, то какая версия. Я считаю, что мне понадобится список с местом и ключами реестра для поиска и подачи его в программу, которая не является проблемой. Есть ли лучший способ сделать это?
Моя первая мысль состояла в том, чтобы проверить реестр в записях удаления, но, похоже, одно из приложений, которое я хочу обнаружить, не имеет. Какое стандартное расположение для всего реестра, используя приложения, чтобы сделать запись?
Пользовательские настройки должны быть записаны в HKCU\Software, для конкретных компьютеров в HKLM\Software. Под этими ключами структура [software vendor name]\[application name] (например, HKLM\Software\Microsoft\Internet Explorer ) может быть наиболее распространенной, но это просто соглашение, а не закон природы.
Многие (большинство?) приложений также добавляют свои записи для удаления в HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[app name] , но опять же не все приложения делают это.
Это самые важные ключи; однако содержимое реестра не должно точно представлять установленное программное обеспечение — возможно, приложение было установлено один раз, но затем было удалено вручную, или, возможно, удалитель не удалил все его следы. Если вы хотите быть уверенным, проверьте файловую систему, чтобы узнать, существует ли приложение, где его записи в реестре говорят.
Если вы являетесь членом группы Администраторы, вы можете проверить куст HKEY_USERS — каждый пользователь HKCU на самом деле находится там (вам нужно знать SID пользователя или пройти через все из них).
Источник: https://dcvesta.org/gde-programma-hranit-svoi-dannye-posle-zapuska/