Где хранятся файлы программ после их установки

Где в Windows(10) у установленных программ хранятся пути ко всем ее составляющим файлам? Допустим,когда мы деинсталлируем какую-то программу,uninstall.exe удаляет все файлы данной программы,которые могут находиться в совершенно разных директориях. В каком файле(?) хранится список путей составных компонентов программы(то есть всех файлов,из которых состоит сама программа) или иными словами,откуда unistall.exe узнает где находятся файлы,которые нужно удалить. Например ,в Debian и Ubuntu данный список путей можно найти в /var/lib/dpkg/*.list ,где вместо * имя установленного пакета(программы)

Отслеживать
задан 20 ноя 2018 в 19:17
Martin Orlov Martin Orlov
53 6 6 бронзовых знаков

Подозреваю, у каждого uninstall.exe своё уникальное место и уникальный формат, и универсального ответа не получится

20 ноя 2018 в 19:22
20 ноя 2018 в 19:30

Самой программе такая информация далеко не всегда нужна, она может вычислять и подгружать нужные себе файлы динамически по конфигам или листингам каталогов (в линуксе то же самое, между прочим)

Восстановление данных после переустановки или сброса Windows к исходному состоянию ⚕️

20 ноя 2018 в 19:54

Дай угадаю. Ты захотел как-то автоматом получать список всех-всех установленных прог и по мановению волшебной палочки их удалять?

20 ноя 2018 в 21:53

Источник: ru.stackoverflow.com

Папка AppData в Windows где находится, можно ли удалить

Вы наверняка видели на своем компьютере папки «C:Program Files» и «C:Program Files (x86)». И наверняка замечали, что программы устанавливаются как в одну паку, так и в другую. Давайте разберемся, почему так.

Читайте также:
Программа 1с для автосервиса по ремонту автомобилей

32-битная и 64-разрядная Windows

Изначально Windows была доступна только в 32-разрядной версии. В данных версиях мы видим только папку «C:Program Files», которая является рекомендуемым местом для устанавливаемых программ.

В 64-разрядных версиях Windows 64-разрядные приложения устанавливаются в папку Program Files. Однако 64-разрядные версии Windows также поддерживают 32-разрядные программы, и Microsoft не хочет, чтобы 32-битное и 64-битное программное обеспечение смешивались в одном месте. Таким образом, 32-разрядные программы по умолчанию устанавливаются в папку «C: Program Files (x86)».

Windows запускает 32-разрядные приложения в 64-разрядных версиях Windows с использованием WOW64. Когда вы запускаете 32-разрядную программу в 64-разрядной версии Windows, уровень эмуляции WOW64 плавно перенаправляет доступ к файлу с «C:Program Files» на «C:Program Files (x86)».

Как восстановить фото на iPhone

Что хранится в каждой папке

В чем разница между папками Program Files (x86) и Program Files в Windows

Таким образом, в 32-разрядной версии Windows у вас есть только папка «C:Program Files», которая содержит все установленные 32-разрядные программы.
В 64-разрядной версии Windows 64-разрядные программы хранятся в папке «C:Program Files», а 32-разрядные программы хранятся в папке «C:Program Files (x86)».

Вот почему разные программы устанавливаются в разные папки.

Почему они разделяются?

Функция совместимости, предназначенная для старых 32-разрядных программ, которые могут не знать, что 64-разрядная версия Windows вообще существует, поэтому Windows исключает их общение с 64-битным кодом напрямую.

32-разрядные программы не могут загружать 64-разрядные библиотеки ( DLL-файлы ) и могут вылетать, если они попытались загрузить определенный DLL-файл и обнаружили 64-битную версию вместо 32-разрядной. То же самое касается 64-разрядных программ. Наличие независимых программных файлов для разных архитектур процессоров предотвращает подобные ошибки.

Например, предположим, что Windows просто использовала бы одну папку Program Files. 32-разрядное приложение будет искать файл DLL Microsoft Office, найденный в C:Program FilesMicrosoft Office, и попытаться загрузить его. Однако, если у вас установлена 64-разрядная версия Microsoft Office, приложение будет аварийно завершено и не будет работать должным образом, т.к. оно не сможет найти DLL вообще, потому что 64-разрядная версия Microsoft Office будет располагаться по адрему C:Program FilesMicrosoft Office, а 32-разрядное приложение будет искать в C:Program Files (x86)Microsoft Office.

Читайте также:
Параметры компьютера для программы экзокад

Это также помогает, когда разработчик создает как 32-битную, так и 64-разрядную версии приложения, особенно если они должны быть установлены сразу в некоторых ситуациях. 32-разрядная версия автоматически устанавливается в C:Program Files (x86), а 64-разрядная версия автоматически устанавливается в C:Program Files. Если Windows использовала одну папку, разработчику приложения пришлось бы установить 64-разрядную папку в другую папку, чтобы разделить их. И, вероятно, не было бы реального стандарта, где разработчики устанавливали разные версии.

Почему 32-битная папка называется (x86)?

В чем разница между папками Program Files (x86) и Program Files в Windows

Вы не всегда будете видеть «32-разрядные» и «64-битные». Вместо этого вы иногда видите «x86» и «x64» для обозначения этих двух разных архитектур. Это потому, что на ранних компьютерах использовался чип Intel 8086. Исходные чипы были 16-битными, но более новые версии стали 32-битными. «X86» теперь относится ко всем «версиям» до 64-битной архитектуре — будь то 16-разрядная или 32-разрядная. Новую 64-битную архитектуру так же этого называют «x64».

Папка «Program Files (x86)», это папка для программ с использованием старой архитектуры процессора x86. Заметим, однако, что 64-разрядные версии Windows не могут запускать 16-разрядный код .

Это обычно не имеет значения

Обычно не имеет значения, хранятся ли файлы программы в Program Files или Program Files (x86). Windows автоматически устанавливает программы в правильную папку, поэтому вам не нужно об этом думать. Программы отображаются в меню «Пуск» и функционируют нормально, независимо от того, где они установлены. Обе 32-разрядные и 64-разрядные программы должны хранить ваши данные в папках, таких как AppData и ProgramData, а не в любой папке Program Files. Просто позвольте вашим программам автоматически решать, какую папку Program Files использовать.

Иногда вам нужно знать, где хранится программа. Допустим, вы хотите войти в свой каталог Steam для резервного копирования некоторых файлов. Вы найдете его в C:Program Files (x86), так как Steam — это 32-разрядная программа.

Читайте также:
Запуск программы невозможен так как на компьютере api ms win

Если вы не знаете какая версия программы у вас установленна 32 или 64-битная, то вы можете посмотреть в диспетчере задач Windows.

В чем разница между папками Program Files (x86) и Program Files в Windows

В 64-разрядных версиях Windows 32-разрядные программы помечены дополнительным «(32-bit)» текстом, давая вам подсказку, что вы найдете их в C:Program Files (x86).

Источник: procompy.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru