Содержание
- 1 В чем разница между папками «program files (x86)» и «program files» в windows
- 2 Как правильно удалять программы в Windows?
- 2.1 Удаление установленных на компьютере с Windows программ
- 2.2 Удаление установленных программ на версиях Windows, вышедших до Windows 10
- 2.3 Удаление установленных программ в операционной системе Windows 10
- 2.4 Что делать, если программа не удаляется с компьютера Windows стандартным способом?
- 2.5 Заключение
- 3 Почему нельзя полностью удалить программу обычным способом
- 4 Как удалить папку Program Files или Program Files 86
- 5 Зачем программам нужны установщики
- 5.1 Проверка прав на установку программы
- 5.2 Уровни совместимости программ
- 5.3 Эксперимент с правами на запуск программы
- 5.4 Уменьшение размера установочного пакета
- 5.5 Копирование файлов в указанную папку и создание ярлыков
- 5.6 Интеграция сторонних программ
- 5.7 Возможность удаления и восстановления установленной программы
- 5.8 Удаление программ
- 5.9 Восстановление программ
- 5.10 Можно ли удалять файлы из папки Windows\Installer
- 5.11 Устранение проблем с установкой и удалением программ, использующих установщик Windows
- 5.12 Регистрация компонентов и создание записей в реестре
- 5.13 Ассоциация с типами файлов и регистрация в программах по умолчанию
- 5.14 Опрос и дискуссия
В чем разница между папками «program files (x86)» и «program files» в windows
Вы наверняка видели на своем компьютере папки «C:\Program Files» и «C:\Program Files (x86)». И наверняка замечали, что программы устанавливаются как в одну паку, так и в другую. Давайте разберемся, почему так.
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)».
Что хранится в каждой папке
Таким образом, в 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 Files\Microsoft Office, и попытаться загрузить его.
Однако, если у вас установлена 64-разрядная версия Microsoft Office, приложение будет аварийно завершено и не будет работать должным образом, т.к.
оно не сможет найти DLL вообще, потому что 64-разрядная версия Microsoft Office будет располагаться по адрему C:\Program Files\Microsoft Office, а 32-разрядное приложение будет искать в C:\Program Files (x86)\Microsoft Office.
Это также помогает, когда разработчик создает как 32-битную, так и 64-разрядную версии приложения, особенно если они должны быть установлены сразу в некоторых ситуациях.
32-разрядная версия автоматически устанавливается в C:\Program Files (x86), а 64-разрядная версия автоматически устанавливается в C:\Program Files.
Если Windows использовала одну папку, разработчику приложения пришлось бы установить 64-разрядную папку в другую папку, чтобы разделить их. И, вероятно, не было бы реального стандарта, где разработчики устанавливали разные версии.
Почему 32-битная папка называется (x86)?
Вы не всегда будете видеть «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-разрядная программа.
Если вы не знаете какая версия программы у вас установленна 32 или 64-битная, то вы можете посмотреть в диспетчере задач Windows.
В 64-разрядных версиях Windows 32-разрядные программы помечены дополнительным «(32-bit)» текстом, давая вам подсказку, что вы найдете их в C:\Program Files (x86).
Источник: https://procompy.ru/windows/raznitsa-mezhdu-papkami-program-files-x86-windows
Как правильно удалять программы в Windows?
Данная статья ориентирована на новичков в области компьютерной грамотности, которые только начинают познавать компьютер. Речь пойдёт о том, как удалить программы с компьютера, на котором установлена операционная система Windows.
Да, действия в принципе очень просты и для любого опытного пользователя это будет как раз плюнуть.
А вот у новичков всё-таки возникают подобного рода вопросы, в особенности когда программа по какой-то причине не удаляется через стандартные инструменты Windows и приходится удалять её вручную.
Большинство программ для использования в Windows требуется устанавливать на ваш компьютер. Этот процесс представляет собой распаковку программы и копирование необходимых для её работы файлов и папок в нужные области системы Windows.
Если вы не знакомы с установкой программ, то рекомендую ознакомиться с отдельной статьёй — вот здесь.
Также затем производится и процесс удаления. Через специальный инструмент Windows выбранная программа удаляется, а именно — удаляются ранее скопированные файлы и папки, которые были необходимы для работы этой программы.
Но бывают также программы, которые изначально не требуют их установки на компьютер. Для их работы нужен лишь один или несколько файлов, расположенных в любой папке компьютера. Для удаления таких дополнительных инструментов Windows не требуется и нужно лишь удалить сам файл, через который запускается программа или всю папку с этой программой.
Процесс удаления установленных программ очень похож для всех версий Windows.
Удаление установленных на компьютере с Windows программ
Сейчас я покажу процесс удаления установленных программ для более старых версий Windows (Windows XP, Windows Vista, Windows 7 и Windows и для новой — Windows 10. Начнём с более старых.
Удаление установленных программ на версиях Windows, вышедших до Windows 10
Для удаления программ в этих версиях Windows нам нужен соответствующий инструмент Windows «Удаление программы». Проще всего найти его через панель управления Windows, а её, в свою очередь, через поиск Windows.
Поэтому первым делом открываем «Панель управления».
В старых версиях Windows (Windows XP, Windows Vista и Windows 7) панель управления находится в меню «Пуск».
Также можно найти через поиск в меню «Пуск», набрав там запрос «панель управления».
В Windows 8 панель управления проще найти именно через поиск, точно также введя запрос «панель управления». Поиск в этой системе открывается при помощи горячих клавиш Win + S.
Зайдя в панель управления, открываем раздел «Удаление программы».
Появится список всех установленных на компьютере программ (если их много, то список будет загружаться постепенно). Теперь вам осталось выбрать из списка (1) программу, которую хотите удалить и нажать вверху списка кнопку «Удалить» (2).
Далее процесс удаления уже зависит от программы, которую вы удаляете, но обычно нужно просто в одном или нескольких последующих окнах соглашаться на удаление. Например, я удаляю сейчас программу Google Chrome (это браузер для просмотра сайтов в интернете) и после нажатия кнопки «Удалить» появилось вот такое окно, где я отметил нужные мне параметры и снова подтвердил удаление кнопкой «Удалить»:
Далее программа за несколько секунд удаляется с компьютера. И точно такой же принцип удаления любой программы, которая установлена на ваш компьютер.
Удаление установленных программ в операционной системе Windows 10
В операционной системе Windows 10 добавлено совершенно новое меню с параметрами системы, через которое можно и удалять программы. При этом старый способ удаления программ через панель управления тоже остался. Рассмотрим новый способ.
Обзор операционной системы Windows 10 от меня вы можете прочитать в статье — вот здесь.
Переходим в меню «Пуск» и открываем там «Параметры».
В следующем окне выбираем «Система».
Затем открываем вкладку «Приложения и возможности» (1). Справа в окне появится список всех установленных в вашей системе программ (2).
Из списка выберите программу, которую хотите удалить и нажмите «Удалить».
Далее процесс удаления уже зависит от программы, которую вы удаляете, но обычно нужно просто в одном или нескольких последующих окнах соглашаться на удаление. Например, при удалении программы Google Chrome (это браузер для просмотра сайтов в интернете) и после нажатия кнопки «Удалить» появляется вот такое окно, где я отметил нужные мне параметры и снова подтвердил удаление кнопкой «Удалить»:
Если вдруг по какой-то причине вы не можете удалить программу в Windows 10 указанным выше способом, то удалите её старым способом, как в более старых версиях Windows — через панель управления. Об этом рассказано в предыдущем разделе данного материала — вот здесь.
Что делать, если программа не удаляется с компьютера Windows стандартным способом?
Иногда возникают ситуации, когда при попытке удалить программу через панель управления Windows, возникает какая-либо ошибка. При этом программа не удаляется с компьютера и остаётся в списке. В таком случае можно попытаться удалить программу вручную, удалив саму папку с данной программой с компьютера.
Программы в Windows устанавливаются либо в папку C:\Program Files, либо в похожую C:\Program Files (x86). Откройте проводник Windows (можно через иконку или кнопку «Компьютер») и перейдите в раздел «Компьютер» (1), если сразу там не окажитесь. Далее откройте диск «С:» (2).
Далее увидите, либо сразу две папки с именами C:\Program Files (x86) и C:\Program Files, либо только одну из них C:\Program Files.
Если папки две, то вам следует открыть сначала одну и посмотреть, нет ли там папки с названием программы, которую вы хотите удалить и если нету, то смотреть во второй папке.
Обычно большая часть программ находится в папке C:\Program Files (x86)
Просматривая список папок, вам нужно найти ту, которая называется также (или примерно также) как программа, которую вы хотели удалить и у вас это не получалось. Например, у вас не удалялся Skype обычным образом из-за какой-то ошибки. В папке C:\Program Files (x86) видим папку с именем «Skype». Вот её и пытаемся удалить вручную. Должно получиться.
Если папка с программой не удаляется вручную из-за всяких ошибок доступа, можно попробовать перейти в эту папку и удалить несколько файлов оттуда.
После этого не забудьте перейти в панель управления (для Windows версии до 10-й) или в раздел «Параметры» > «Система» > «Приложения и возможности» для Windows 10 и оттуда снова попытаться удалить программу. Программа должна будет удалиться из списка всех программ.
Заключение
Удаление программ из Windows – процесс очень простой и понятный, если смотреть глазами более-менее опытного пользователя компьютера. А если смотреть глазами новичка, то под процессом удаления может пониматься даже простое удаление ярлыков (иконок программы) с рабочего стола, которые к самой программе отношения не имеют. На своей практике я это видел многократно. Поэтому важно знать, как правильно удалять программы!
Хорошего Вам дня и отличного настроения!
Источник: https://serfery.ru/kompyuternaya-gramotnost/kak-pravilno-udalyat-programmy-v-windows/
Почему нельзя полностью удалить программу обычным способом
Наверняка вы слышали о программах для удаления программ, которые достаточно распространены среди продвинутых пользователей компьютеров под управлением Windows. Но далеко не все пользователи понимают разницу между ними и обычным удалением.
Разработчики таких программ заявляют, что их продукт может полностью удалить программу вместе со всеми следами.
Но разве стандартный инструмент Windows не может сделать это же? Почему вместо штатного способа удаления нужно прибегать к использованию каких-то сторонних программ? И насколько вообще это нужно рядовому пользователю?
Где программы хранят данные
Чтобы понять ситуацию, стоит рассмотреть типичную структуру данных программ. Наверняка вы знаете, что программные файлы в подавляющем большинстве случаях хранятся в папках Program Files и Program Files (x86).
Именно туда программа установщик записывает все файлы, которые необходимы для запуска программ.
Иногда программы устанавливаются в папку пользователя (это может быть нужно по ряду причин, например, для автоматического обновления программы в фоновом режиме без оповещения пользователя, как делает тот же Google Chrome).
А еще программы часто создают в папках AppData и LocalAppData хранилища для различных рабочих файлов, которые постоянно изменяются и пополняются. Результаты работы программ могут быть записаны в папку с личными документами пользователя (Документы, Изображения, Музыка и прочее). Также бывают случаи, когда сама система записывает данные программ в специальную папку внутри папки пользователя (папка Virtual Store).
Ну и конечно же системный реестр, который упоминается везде и всюду. Там программы хранят свои настройки. В реестре может быть 2-3 места, где программы размещают свои данные.
Как работает установщик/деинсталлятор
Теперь давайте рассмотрим, как работает типичный инсталлятор/деинсталлятор, которые разработчики используют для установки своих продуктов. В подавляющем большинстве случаев это отдельные программные модули, которые написаны совершенно другими авторами и которые просто взяты для того, чтобы не писать свой уникальный инсталляционный пакет.
В настройках установщика обычно задается, в какие папки нужно скопировать файлы из установочного пакета. Как правило, это Program Files или Program Files (x86), а также в ряде случаев копирование отдельных рабочих файлов в AppData и LocalAppData, а также создание базовых ключей реестра. На этом процесс установки заканчивается, программа установщик записывает все эти файлы и ключи в специальный файл, который потом будет использован при удалении.
Все же дополнительные ключи реестра и файлы, которые будут созданы уже в процессе использования программы, установщику неизвестны. Потому по логике работы установщика/деинсталлятора они являются чужеродными и не относятся к установленной программе. Хотя по факту это не так.
В процессе удаления, который является по сути обратным процессом установки, деинсталлятор проходит по списку ключей и файлов, который был создан в процессе установки, и удаляет их. Все остальные элементы остаются в компьютере, так как считаются «чужими» (их нет в списке установки).
Почему остаются «хвосты»
Казалось бы, что разработчику программы достаточно приложить небольшие усилия и доделать процесс удаления своего продукта, но не все об этом даже задумываются. А кто-то из разработчиков считает, что оставшиеся на компьютере настройки и рабочие файлы даже хорошо, потому что при повторной установке все будет так, как было до удаления. Хотя, конечно, хороший разработчик подумает об этом заранее и на одном из этапов удаления спросит у пользователя, сохранить ли рабочие файлы и настройки на компьютере.
Есть еще и такие разработчики программ, которые перекладывают вину за свою недоработку на плечи разработчиков утилит установки/удаления, считая, что это их работа. При этом разработчики установщиков/деинсталляторов ссылаются на то, что разработчики программ должны заниматься этим сами, указывая дополнительные параметры для удаления.
Каждый спихивает вину друг на друга, а в результате страдают обычные пользователи. Именно потому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления программ, в результате чего приходится использовать деинсталляторы.
Нужны ли сторонние деинсталляторы вам?
Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы вам (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете программы, какое количество следов остается после удаления программ обычным способом, а также сколько места на диске всего и сколько свободно.
Если на вашем диске очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом и не стоит. Но если у вас системный диск на 120 Гб и свободно места, что называется «впритык», то об этом стоит задуматься, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.
Еще есть такой момент, как проблемное программное обеспечение. В случае возникновения проблем можно попытаться полностью удалить приложение и установить его заново, чтобы сбросить все настройки на «заводские». В этом случае деинсталлятор также может помочь.
Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом в статье «Как разом избавиться от остатков всех удаленных программ в Windows 7«.
Источник: https://myfreesoft.ru/pochemu-nelzya-polnostyu-udalit-programmu-obychnym-sposobom.html
Как удалить папку Program Files или Program Files 86
Каждый пользователь ПК, хотя бы раз исследовал свой компьютер, изучал папки и программы, чаще всего с целью освободить место на жестком диске и удалить ненужные файлы. Как правило, в числе самых больших папок фигурируют Program Files (x86) и Program Files у владельцев 64-х разрядных операционных систем. Находится они в корне диска с ОС по адресу: C:\Program Files (x86) и C:\Program Files.
Вступление
Внимание!!! Дорогие читатели, прежде чем приступать к каким либо действиям с папкой «Program files» прошу Вас несколько раз подумать, ведь она является системной. Сразу хочу предупредить, любое ошибочное вмешательство может сломать работу операционной системы и вы просто потеряете часть своих данных, программ или вовсе не сможете больше включить компьютер. Данная статья написана для тех у кого есть понимание, что они делают и для какой конкретной цели.
Я не рекомендую Вам даже думать о возможном удаление папки.
В папку Program Files устанавливаются 64-х битные программы, а в Program Files (x86) — 32-х битные. Часть из них может быть безусловно необходима для стабильной работы Вашего компьютера. Например, если Вы установили чистую операционную систему без драйверов, то при установке аудио драйвера по умолчанию может быть выбран путь в одну из этих папок.
При удалении папки в таком случае звука у Вас больше не будет.
Microsoft позаботились о том, чтобы Вы не удалили все папку за пару кликов, поэтому, при попытки удаления «проводник» будет выдавать Вам сообщения о том, что удаляемые программы сейчас работают и на даст Вам довести дело до конца. Конечно, это можно обойти, если зайти в «Диспетчер задач» и отключить процессы принадлежащие программам, но делать это не рекомендуется. Такой способ может быть полезен при удалении маленьких вирусов или утилит.
Можно ли удалить папку program files x86?
С уверенностью можно сказать, что всю папку удалять не стоит, но, если все же есть необходимость освободить место на жестком диске, то можно удалить ненужные программы, но не вручную (удаляя папки), а через Панель управления.
Этот способ так же гораздо лучше тем, что при выборе ненужного приложения Вы не сможете ошибиться. Часто бывает, что при установке программа помещается в папку с названием компании, которая ее создала, например: Microsoft, Adobe и т.д.
В Панели управления Вы увидите названия программ и их значки, что поможет вам проще ориентироваться. Ниже будет приведен список папок и программ, которые удалять не стоит.
Папки:— 7-Zip;— Common Files;— Internet Explorer;— Microsoft Games;— Microsoft Office;— MSBuild;— NVIDIA Corporation;— Realtek (драйвер звуковой карты) – у Вас может быть другой;— Reference Assemblies;— Все папки Windows;— WinRAR;
— Папка с антивирусом (Avast, Kaspersky, Dr. Web и так далее).
Программы:— Антивирус;— Драйвера (Intel, NVIDIA, ADM, Realtek и т.д.);— Все программы компании Microsoft;
— Драйвера Windows.
Для того, чтобы удалить программы полностью воспользуйтесь Панелью управления. Выполните следующие этапы.
- Откройте панель «Пуск»
- Выберите «Панель управления»
- Кликните на «Программы и компоненты»
- В приведенном списке щелкните два раза по необходимой программе для ее удаления исключая те, что написаны выше.
Так же стоит учитывать, что в случае разделения жесткого диска на несколько, не все программы будут находиться на диске C, например игры Вы устанавливали на диск D, поэтому будьте внимательны при выборе программ и приложений.
Как удалить program files x86 старой системы?
Случаются и более необычные обстоятельства, когда необходимо удалить компоненты папки program files x86 или program files. Такая ситуация может возникнуть, если Ваш диск разделен на несколько частей. Например, Ваша ОС находилась на диске С и Вы установили еще одну на диск D и пользуетесь ей, то на C у Вас все останется. Тут и встают вопросы, как удалить папки Windows и Program files?
Самым простым способом будет скачать полезную утилиту LockHunter. При попытке удаления этих папок Вы получите сообщение, о том, что у Вас недостаточно прав. Утилита позволяет закрыть на это глаза и удалять абсолютно любые файлы на Вашем компьютере.
После установки кликните правой кнопкой мыши на необходимые папки и выберете LockHunter. В появившемся окне нажмите «DeleteIt!» и папки будут удалены.
Несмотря на простоту пользования и неограниченные возможности пользоваться данной утилитой стоит с осторожностью, а в обычных случая пользоваться привычной «Панелью управления»
Загрузка…
Источник: https://voron-xak.ru/vseokompe/mozhno-li-udalit-papku-program-files-x86.html
Зачем программам нужны установщики
В одной из записей блога мы выясняли, откуда берутся нежелательные программы. Оказалось, что разработчики по-всякому скрывают их в установщиках своих программ, стремясь извлечь из этого выгоду. Может быть, было бы проще обходиться вовсе без установщиков программ?
Эта запись пролежала в черновиках почти год, пока не появился повод вернуться к теме установщиков, который дала… Windows 8. И хотя сегодняшний рассказ напрямую не связан с одной особенностью новой ОС Microsoft, следующая статья будет целиком посвящена ей.
Давайте посмотрим на основные сценарии использования установщиков, чтобы разобраться, зачем они нужны.
Проверка прав на установку программы
На этой теме я остановлюсь подробнее, поскольку она касается одного аспекта связи между контролем учетных записей и совместимостью программ, который я не затрагивал ранее.
В современных ОС Microsoft проверка прав на установку программы реализуется запросом контроля учетных записей. В установщик можно встроить манифест, который вызывает запрос UAC при запуске исполняемого файла или в процессе установки, если это необходимо.
С помощью манифеста можно задать три типа поведения установщика:
- asInvoker запускает программу с теми правами, которые есть у пользователя на данный момент. Если вы работаете с правами администратора и включенным UAC, запуск произойдет с обычными правами. Когда контроль учетных записей выключен, программа запускается с полными правами.
- highestAvailable показывает запрос UAC администратору, а обычному пользователю – нет.
- requireAdministrator форсирует запрос контроля учетных записей, который требует прав администратора.
Например, браузер Opera сначала распаковывается во временную папку, откуда запускается установщик. Причем запрос UAC не отображается, ибо права администратора понадобятся только в том случае, когда вы устанавливаете браузер для всех пользователей.
Увеличить рисунок
Если выбрать установку в профиль или на USB-носитель, щит UAC немедленно исчезнет с кнопки.
Это хороший пример интеллектуального установщика, хотя не каждый ИТ-специалист разделит это мнение. Ведь такой подход развязывает руки пользователям, позволяя устанавливать программы в профиль. Поэтому для эффективного запрета администраторы должны использовать SRP или AppLocker.
Уровни совместимости программ
Перечисленные выше параметры манифеста связаны с уровнем совместимости программы. В свойствах любого исполняемого файла вы можете указать операционную систему, с которой программа совместима.
Эти параметры отражены в пользовательском разделе реестра (HKCU), но можно применить их для всех пользователей в разделе HKLM.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] «C:\\Program Files (x86)\\PortableSoft\\BK ReplaceEm\\replacem.exe»=»WINXPSP3»
Имя параметра представляет собой полный путь к программе, а в значении указывается совместимая ОС. В свойствах исполняемого файла нет возможности указать уровень прав на запуск, но его можно прописать в реестре в качестве значения параметра:
- RunAsInvoker — текущие права
- RunAsHighest — максимально доступные пользователю права
- RunAsAdmin — обязательные права администратора
Кстати, режим совместимости с XP требует полных прав.
Эксперимент с правами на запуск программы
В редактор реестра (regedit.exe) заложен запуск с максимально доступными правами (RunAsHighest). На практике это означает, что:
- Администратор должен согласиться с запросом контроля учетных записей. В результате редактор реестра открывается с полными правами, давая возможность вносить изменения в любые разделы реестра, куда имеются права на запись.
- Обычный пользователь сразу открывает редактор реестра, но с ограниченными правами, т.е. может вносить изменения только в HKCU.
Я предлагаю провести эксперимент в командной строке – это позволит обойтись без возни в реестре, а также раскроет еще один способ запуска программы с определенными правами.
Эксперимент имеет смысл только в том случае, если у вас включен контроль учетных записей.
Войдите в систему с правами администратора, откройте командную строку с обычными правами и запустите редактор реестра:
start regedit
Как обычно, вы увидите запрос контроля учетных записей. Теперь выполните:
Первая команда задает переменную, которая определяет уровень совместимости для всех программ, запущенных в этой сессии консоли, а вторая запускает еще один экземпляр редактора реестра (ключ /m). В результате он откроется с обычными правами.
В Process Explorer хорошо видно, что у первого экземпляра (PID 3880) высокий уровень целостности, а у второго (PID 7480) – средний уровень, соответствующий обычным правам. С такими правами вы не сможете внести изменения в HKCR и HKLM, в чем я предлагаю вам убедиться самостоятельно.
Таким образом, можно всегда запускать regedit с обычными правами даже под администратором, если пользоваться вышеприведенным командным файлом или указать в реестре тип запуска RunAsInvoker.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] «C:\\Windows\regedit.exe»=»RunAsInvoker»
Однако давайте вернемся к установщикам.
Уменьшение размера установочного пакета
Выше вы видели, что установщик Opera сначала извлекается во временную папку из самораспаковывающегося архива в формате 7-zip. Сочетание хорошего уровня сжатия и открытой лицензии позволяет разработчикам уменьшить размер пакета и сэкономить на трафике. Неудивительно, что точно такую же стратегию применяют в Mozilla, упаковывая в 7-zip свои программные продукты.
Другие компании могут использовать альтернативные средства сжатия файлов. Microsoft, как правило, использует формат CAB.
Копирование файлов в указанную папку и создание ярлыков
Во время установки вы можете указать, в какую папку будет установлена программа. Эта процедура примитивна, и с ней легко справится большинство пользователей даже без установщика. То же самое можно сказать и о создании ярлыков.
Таким образом, эти функции служат для нашего удобства и экономии времени.
Интеграция сторонних программ
Как мы выяснили еще год назад, эта тенденция набрала огромную популярность. Возвращаясь к примеру с AIMP и Яндекс.Бар, можно рассмотреть два варианта интеграции.
Раньше Яндекс поставлял свою панель для браузеров в виде пакета MSI, который разработчик встраивал в установщик своей программы. Пакет обладал особыми свойствами установщика Windows, позволяющими гибко настроить установку.
msiexec /i YandexPackSetup.msi YAHOMEPAGE=»y» YAQSEARCH=»y» VENDORSPECIFIC=»some text» /qb
Теперь установка стала более интеллектуальной за счет того, что панель загружается с серверов Яндекса только в том случае, если при установке отмечен соответствующий ей флажок.
Очевидно, за счет такого подхода уменьшается размер дистрибутива программы.
Возможность удаления и восстановления установленной программы
Затронув тему MSI, я хочу остановиться подробнее на самом популярном типе установщика для средних и крупных программ.
Удаление программ
Давайте посмотрим, как происходит процесс удаления программы, поставляемой в пакете MSI. Кстати, он может скрываться в любой красивой оболочке установщика, например, InstallShield.
Пакет кэшируется в базе данных установщика Windows — папке %SystemRoot%\Installer, где свет на невнятные имена файлов можно пролить, добавив столбец «Тема».
Когда вы удаляете программу из панели управления, система находит команду для удаления в разделе реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Здесь каждой программе соответствует свой подраздел. Параметр UninstallString содержит команду для установщика Windows, указывающую на идентификатор пакета (GUID). Поиск пакета производится в папке %SystemRoot%\Installer по свойству «Редакция».
Увеличить рисунок
При использовании других установщиков этот параметр может содержать, например, путь к файлу uninstall.exe, содержащему инструкции для удаления.
Восстановление программ
Восстановление пакетов MSI проходит аналогично установке, однако разница в том, что для этого понадобится исходный пакет установщика, указанный в параметре InstallSource. На рисунке выше не очень хорошо видно, но мой путь указывает на временную папку в кэше IE9 (я запускал установку, не сохраняя файл). Поскольку папка уже очищалась, восстановление не сработает.
Чтобы обеспечить полноценное восстановление (равно как и изменение набора компонентов), программы могут кэшировать свои исходные установочные файлы. Иногда для этого используется папка ProgramData, а Microsoft Office создает скрытую папку MSOCACHE в корне диска.
Можно ли удалять файлы из папки Windows\Installer
Если вы относительно давно работаете в текущей системе и устанавливаете разнообразные программы, размер скрытой системной папки %SystemRoot%\Installer может измеряться в гигабайтах. Неудивительно, что люди с маленьким системным разделом задаются вопросом о том, можно ли удалять файлы из нее.
Короткий и простой ответ – нет, удалять файлы из этой папки нельзя.
На практике удаление пакета приведет к тому, что система будет владеть неверной информацией об установленной программе. Как следствие:
- Перестанет работать восстановление. Выше вы видели, что установщик Windows полагается на кэшированный пакет MSI для этой операции, и без него ничего не восстановит.
- Могут возникнуть проблемы с удалением программы. Если она начнет работать некорректно, вам совершенно точно придется заново скачать дистрибутив программы и переустановить ее. Однако записи в реестре могут препятствовать этому, поскольку Windows считает программу установленной.
Но иногда понимание этого приходит уже постфактум, хотя и в таком случае еще не все потеряно.
Устранение проблем с установкой и удалением программ, использующих установщик Windows
В принципе, можно попытаться удалить записи в реестре вручную, но лучше воспользоваться специальным диагностическим пакетом Fix it. Он призван исправлять проблемы с установкой и удалением программ, использующих установщик Windows (картинка является прямой ссылкой на пакет).
Если проблему не удается решить, можно поискать в каталогах ПО утилиту Windows Installer CleanUp.
Когда-то Microsoft выпустила ее для устранения неполадок в установке Office, но с его новыми версиями утилита уже несовместима. Поэтому компания больше не распространяет и не поддерживает утилиту, выпустив взамен универсальный Fix it (для Office 2013+ есть отдельная версия).
Регистрация компонентов и создание записей в реестре
Любой серьезный программный пакет (например, Microsoft Office) обязательно потребует полных прав, чтобы зарегистрировать свои компоненты и библиотеки, а также создать записи в разделе реестра HKLM. Такие задачи, необходимые для нормальной работы программы, всегда отводится установщику.
Впрочем, не для всех программ такая необходимость является жизненно важной. Так, можно не устанавливать браузер Opera или Firefox, а скопировать файлы, распакованные после запуска установщика, в любую папку. После запуска браузера в папке %appdata% вашего профиля будет создана отдельная папка для хранения настроек и кэша. Одновременно в разделе реестра HKCU появятся записи, относящиеся к браузеру.
Таким образом, у вас получается «полупортативная» программа. Она работает без установки, но оставляет в системе много следов, которые можно замести лишь вручную.
Так или иначе, можно вынести ярлык на рабочий стол или панель задач, ассоциировать браузер с его типами файлов и нормально работать.
Ассоциация с типами файлов и регистрация в программах по умолчанию
Ассоциация типов файлов и протоколов с какой-либо программой (например, смена браузера по умолчанию), является пользовательской настройкой, т.е. она не требует прав администратора.
Увеличить рисунок
Существует несколько способов связать программу с ее типами файлов и протоколов, один из которых показан на рисунке выше. Я их буду очень подробно разбирать в следующей записи, потому что Windows 8 изменилась в этом аспекте!
Опрос и дискуссия
Как видите, на установщики программ возлагается множество задач – от примитивной распаковки файлов и создания ярлыков до управления состоянием программы и ее связи с типами файлов и протоколов.
Я уверен, что многие читатели моего блога активно пользуются портативными программами, что само по себе не является проблемой.
Однако к неординарной ситуации может привести пренебрежение установщиком программы в том случае, когда он необходим для ее корректной работы и настройки, а также для восстановления и удаления.
В дискуссии я бы хотел подвести вас к следующей записи, которая станет одной из самых больших в этом блоге. В частности, меня интересует, пользуетесь ли вы в своей основной системе портативными программами, которые ассоциируете с более чем одним типом файлов (например, браузером, текстовым редактором или проигрывателем медиа файлов).
Источник: http://www.outsidethebox.ms/14004/