В одной из записей блога мы выясняли, откуда берутся нежелательные программы. Оказалось, что разработчики по-всякому скрывают их в установщиках своих программ, стремясь извлечь из этого выгоду. Может быть, было бы проще обходиться вовсе без установщиков программ?
Эта запись пролежала в черновиках почти год, пока не появился повод вернуться к теме установщиков, который дала… Windows 8. И хотя сегодняшний рассказ напрямую не связан с одной особенностью новой ОС Microsoft, следующая статья будет целиком посвящена ей.
Давайте посмотрим на основные сценарии использования установщиков, чтобы разобраться, зачем они нужны.
[+] Сегодня в программе
- Проверка прав на установку программы
- Уменьшение размера установочного пакета
- Копирование файлов в указанную папку и создание ярлыков
- Интеграция сторонних программ
- Возможность удаления и восстановления установленной программы
- Удаление программ
- Восстановление программ
- Можно ли удалять файлы из папки Windows\Installer
- Устранение проблем с установкой и удалением программ, использующих установщик Windows
- Регистрация компонентов и создание записей в реестре
- Ассоциация с типами файлов и регистрация в программах по умолчанию
- Опрос и дискуссия
Проверка прав на установку программы
На этой теме я остановлюсь подробнее, поскольку она касается одного аспекта связи между контролем учетных записей и совместимостью программ, который я не затрагивал ранее.
В современных ОС Microsoft проверка прав на установку программы реализуется запросом контроля учетных записей. В установщик можно встроить манифест, который вызывает запрос UAC при запуске исполняемого файла или в процессе установки, если это необходимо.
<requestedExecutionLevel level="asInvoker|highestAvailable|requireAdministrator" uiAccess="true|false"/>
С помощью манифеста можно задать три типа поведения установщика:
- 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
Как обычно, вы увидите запрос контроля учетных записей. Теперь выполните:
set __COMPAT_LAYER=RunAsInvoker start regedit /m
Первая команда задает переменную, которая определяет уровень совместимости для всех программ, запущенных в этой сессии консоли, а вторая запускает еще один экземпляр редактора реестра (ключ /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. Прямая ссылка на пакет и зеркало у меня на сайте, потому что Microsoft прекратила поддержку Fix It в статьях базы знаний и потихоньку выпиливает пакеты из публичного доступа.
Ранее для этих целей применялась утилита Windows Installer CleanUp.
Когда-то Microsoft выпустила ее для устранения неполадок в установке Office, но с его новыми версиями утилита уже несовместима. Поэтому компания больше не распространяет и не поддерживает утилиту, выпустив взамен универсальный Fix it (для Office 2013+ есть отдельная версия).
Регистрация компонентов и создание записей в реестре
Любой серьезный программный пакет (например, Microsoft Office) обязательно потребует полных прав, чтобы зарегистрировать свои компоненты и библиотеки, а также создать записи в разделе реестра HKLM. Такие задачи, необходимые для нормальной работы программы, всегда отводится установщику.
Впрочем, не для всех программ такая необходимость является жизненно важной. Так, можно не устанавливать браузер Opera или Firefox, а скопировать файлы, распакованные после запуска установщика, в любую папку. После запуска браузера в папке %appdata% вашего профиля будет создана отдельная папка для хранения настроек и кэша. Одновременно в разделе реестра HKCU появятся записи, относящиеся к браузеру.
Таким образом, у вас получается «полупортативная» программа. Она работает без установки, но оставляет в системе много следов, которые можно замести лишь вручную.
Так или иначе, можно вынести ярлык на рабочий стол или панель задач, ассоциировать браузер с его типами файлов и нормально работать.
Ассоциация с типами файлов и регистрация в программах по умолчанию
Ассоциация типов файлов и протоколов с какой-либо программой (например, смена браузера по умолчанию), является пользовательской настройкой, т.е. она не требует прав администратора.
Существует несколько способов связать программу с ее типами файлов и протоколов, один из которых показан на рисунке выше. Я их буду очень подробно разбирать в следующей записи, потому что Windows 8 изменилась в этом аспекте!
Опрос и дискуссия
Как видите, на установщики программ возлагается множество задач – от примитивной распаковки файлов и создания ярлыков до управления состоянием программы и ее связи с типами файлов и протоколов.
Я уверен, что многие читатели моего блога активно пользуются портативными программами, что само по себе не является проблемой.
Однако к неординарной ситуации может привести пренебрежение установщиком программы в том случае, когда он необходим для ее корректной работы и настройки, а также для восстановления и удаления.
В дискуссии я бы хотел подвести вас к следующей записи, которая станет одной из самых больших в этом блоге. В частности, меня интересует, пользуетесь ли вы в своей основной системе портативными программами, которые ассоциируете с более чем одним типом файлов (например, браузером, текстовым редактором или проигрывателем медиа файлов).
В комментариях, пожалуйста, перечислите эти программы и объясните, почему вы пользуетесь портативными версиями вместо полноценных установщиков.
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Алексей Г
Статья информационно полезна, а концовка заинтриговала! Ждёмс)
Касательно портативных программ.
Пользуюсь только самым необходимым (avptools, autoruns, avz, paragon partition manager — редко). И никогда не ассоциирую их с файлами. На компьютере и на ноутбуке (с которым я редко когда расстаюсь на необходимых выездах), присутствует набор установленных программ, которые работает в некоторых случаях быстрее, чем портабельные.
Если же без ноутбука — то есть программы для, хотя бы, просмотра.
Vadim Sterkin
Алексей, надеюсь, продолжение вас не разочарует :)
Ваши программы не требуют ассоциации, ибо это скорее утилиты даже. У меня тоже такие есть, но в контексте Windows 8 опыт работы с ними никак не меняется.
Андрей
Чем дальше, тем меньше использую портативных программ. На данный момент, пожалуй, остался только Photoshop, который редко-редко используется, но при нормальной установке ставит кучу лишнего и мешающего (начиная с bridge). Он ассоциирован, логично, с psd.
Системные программы (autoruns) портативны, но не ассоциированы.
До windows 7 портативными была половина программ, но т.к. семёрка совершенно замечательно работает с установкой/удалением и захламления не происходит, то всё устанавливается инсталлятором.
Vadim Sterkin
Андрей, вы верно подметили, что лучше пользоваться штатным удалением, чем ставить полупортативный софт, а потом чистить систему :) И да, у меня портативных программ, требующих ассоциации с несколькими типами файлов, тоже не осталось фактически.
Сергей
Спасибо большое за статью. Одна из самых полезных статей за последнее время, по крайней мере для меня.
Вопрос в следующем: а как Вы относитесь к сторонним средствам для удаления программ? Действительно ли они удаляют более тщательно, чем родные средства Windows или это не более чем маркетинговые уловки?
Vadim Sterkin
Сергей, я рад, что вы нашли эту статью полезной (видимо, тема Windows 8 вас не особо интересует :).
Сторонними средствами для удаления я не пользуюсь. Моя логика простая. Для корректного удаления программа должна вызывать штатный деинсталлятор (см. пример с MSI в статье). Если она это делает, то в чем ее тайный смысл? :)
Если же она этого не делает, а пытается зачищать сама, то такое счастье мне не нужно. Не исключаю, что такие программы сначала используют штатный денисталлятор, а потом занимаются отсебятиной, что опять же мне не нужно.
Oleg
Не годится. Есть отличная прога Revo Uninstaller, так вот, она сперва всегда ищет деинсталлятор в первую очередь, и если его нет, то зачищает файлы реестра от программы, а также все, что осталось в проводнике.
И вы не поверите, но я столько гадости нахожу от многих программ, которая остается после удаления обычным деинсталлятором, причем не именно в реестре, а и в проводнике. К тому же это безопасно, каждый раз создается точка восстановления, но за все время, что удалял, а удалял я очень много, порядка 200-300 программ этой прогой с полной чисткой, у меня ни разу не было проблем, что она что-то удалила не то. В принципе все видно, что она находит при сканировании.
В общем мое мнение такое, если вам важна чистота системы, то стоит пользоваться этим чудом или каким-либо другим аналогом, но сперва надо тестировать, конечно.
Vadim Sterkin
Олег, я рад, что у вас ни разу не было проблем, а вот тут у половины чистящих возникает, что должно наводить на кое-какие мысли о пользе вашей рекомендации широким массам. См. также смежную тему, и продолжайте в любой на выбор.
Роман
Из тех программ, которые ассоциируются с типами файлов насчитал aimp, mpc-hc, notepad, sumatrapdf, utorrent. В основном стараюсь использовать портативные или не требующие установки программы, но только с официальных сайтов, а не самодельные. Преимущество вижу в том что не захламляются системные папки, настройки хранятся вместе с программой, или в крайнем случае в appdata, это облегчает хранение (например при переустановке), переносимость (на флешку, другой компьютер), обновление (вручную обновляю необходимые мне файлы), размер меньше. И вообще считаю, если программа не делает «ничего такого»: устанавливает драйверы, создаёт службы, специальные настройки реестра и прочие сложные вещи, то должна распространяться так же и в портативном виде. В том числе за это я люблю свободные программы.
Vadim Sterkin
О, первая ласточка в комментариях, я вас ждал :)
В каком смысле?
1. Program Files предлагается потому, что у обычных пользователей нет прав на запись туда. Но вы можете ставить программу в профиль.
2. Если программа что-то пишет в системную папку (что маловероятно, ибо для этого она д.б. запущена с полными правами), то ее поведение никак не зависит от того, используется ли портативный вариант или полноценная установка. Тем более, что вы все равно берете официальную портативную версию.
3. Понятие захламления системных папок вообще очень спорное, ибо вы в них не работаете, и не должны видеть никакого хлама.
Конечно, но вы же опытный пользователь, и вряд ли переустанавливаете систему так часто, что вам трудно задействовать средство переноса данных.
Да, портативные (переносные) программы предназначены для флешек. А на другой компьютер настройки переносятся тем же средством ^^
А зачем делать вручную то, что можно автоматизировать? Думаю, что у вас версии программ совсем не последние, причем в них могут быть уязвимости (PDF).
Вы хотите сказать, что в портативные версии что-то не докладывают? :)
В этом что-то есть, но вы не учитываете один нюанс, и начиная с Windows 8 вам придется его учитывать.
Не пропустите следующую запись :)
Сергей
Vadim Sterkin,
Увы, причина тут скорее в финансах (нет денег на апгрейд компа, а старый 8-ку не потянет), чем в нехотении разбираться с новой системой.
Ладно, не будем о грустном…
Я к чему спросил о сторонних утилитах — после удаления какой-либо программы штатными средствами, они как правило находят ещё кучу ключей в реестре и файлов на диске. Я так понимаю, это «косяки» разработчиков? Стоит ли вообще заниматься «ловлей блох»? Просто с опытом я пришёл к выводу, что все эти остающиеся «хвостики» после удаления программ, сколь нибудь заметного воздействия на работу системы не оказывают. Или я не прав?
Vadim Sterkin
Сергей, я ловлей блох не занимаюсь.
Виталий К. ©
Мусор в реестре конечно немного тормозит, но простое удаление не поможет- информация на самом деле остаётся в файле рееста, увеличивая его размер на диске и время загрузки.
Но это мало заметно. Я ощутил прирост после удаления порядка 120 тысяч ключей реестра, потом пройдясь NTREGOPT, который сократил размер файлов реестра на 30 МБ.
Но при обычном использовании ПК вряд ли кто создаёт и удаляет столько ключей.
Ну а мусорные файлы просто съедают пространство.
По теме- у меня около 8 портативных программ, с которыми я связываю ассоциации. Из них одна насильно переведена в портатив, остальные такими были с рождения.
Vadim Sterkin
Виталий, не хотите ли их перечислить? Я не из праздного любопытства интересуюсь…
Виталий К. ©
1by1- так, на всякий случай, за глобальные горячие клавиши и минимальный размер.
7-Zip- архивы
FileZillaPortable- ассоциаций не делал, да и не с чем особо.
FastStone Image Viewer- все изображения по умолчанию.
KMPlayer- видео.
MPC- ассоциаций нет, держу на всякий случай, если KMPlayer не справится.
Resource Hacker- надо бы сделать ассоциацию, да лень.
Restorator- ассоциации на dll. Именно она насильно опортайблена.
LibreOffice- 660 метров конечно многовато для портатива, ну да ладно. Не вижу необходимости в установке, ассоциаций так же нет.
WinDjView- ассоциирован с DjVi
WinHex- контекстное меню.
DM2- ассоциировать не с чем, просто добавляю в автозапуск.
Everything- хоть я и ставил, но программа может работать портативно, добавляется в контекстное меню
uTorrent- без комментариев.
Так же оказалось, что пиратская The Elder Scrolls 5.Skyrim не требует установки)))
Вроде обсчитался с количеством портативных программ с ассоциациями, думаю, что- то забыл.
Vadim Sterkin
А ваш портативный 7-zip интегрируется в контекстное меню без установки?
Александр [Маздайщик]
7-zip не пользуюсь, а WinRAR интегрируется в контекстное меню без установки (в настройках галочка).
Виталий К. ©
Запускаем, и в настройках. Ничего сложного.
Дмитрий Караваев
Большинство вышеперечисленных программ вообще смысла нет ставить в portable. Это банально условные рефлексы остались с тех времен когда, когда халява начала становиться «не модна», а у продуктов МС еще была свежа репутация «маздая».
Дмитрий Караваев
Скажу за «смысла нет ставить в portable» у меня и «Средствами переноса данных не пользуюсь, т.к. не вижу в них смысла» у вас.
Стандартный виндовс перенос данных при переустановках системы работает, без переноса — я работаю за него. Разница весьма неслабая — перенос при чистой переустановке системы из 7 в 8 десятка-другого гигабайт личных данных и настроек занимает полчаса, из 8 в 8 — минут 15… в XP же как вспомню, плохеет сразу — руками восстанавливался около месяца до привычного состояния. Вот честно — кому такое счастье надо?
А портэйблы надо ж еще ассоциировать, выводить ярлыки… да еще проблема — тут забыл, а там лень. Тыкнув в 7зиповский или дежавю инсталлер я просто восстановлюсь быстрее и качественнее.
Alexey
Именно ассоциируемых более чем с одним типом портативок у меня у меня три — Fasstone Viewer, PotPlayer, Foobar2000. Пользуюсь так потому что лень каждый раз настраивать по новому, хотя, если прикинуть, это скорее дань привычке.
Vadim Sterkin
Алексей, а что значит «лень каждый раз настраивать по новому»? Вам ведь после переустановки системы все равно приходится связывать их с типами файлов :) Следующая статья для вас, кстати.
Роман
Про системные папки я конечно преувеличил, имел ввиду, что мне просто нравится, когда вся программа целиком лежит в одной папке, чистое имхо). Средствами переноса данных не пользуюсь, т.к. не вижу в них смысла, эти программы как лежали в папке programfiles на несистемном диске так и остались при различных переустановках, переносах и т.д. Обновление вручную это тоже чистое имхо, не знаю, нравится мне этот процесс чтоли, всегда везде отключаю автоматическое обновление, но никому не советую так делать. (А про размер, пример с сайта notepad++: npp.6.1.8.Installer.exe — 5,57 мб, npp.6.1.8.bin.7z — 3,16 мб минус удаление языков кроме английского и русского)
Александр Щенников
Как-то не привязался к конкретным программам, на столько чтоб носить их с собой. Замену какой-либо программе всегда можно найти на нужном компе или скачать в инете за секунды. Но скачивать что-либо требуется крайне редко. Удобства нужны дома большей частью. Когда знаешь что это твое, и, ни кому не надо объяснять для чего я запустил ту или иную неведомую никому программу. :) Дома я и «железно» могу поставить те программы, что мне нужны.
Vadim Sterkin
Гм… хотел бы я увидеть список программ этих 11 человек (на данный момент), у которых свыше 10 программ, требующих ассоциации с несколькими типами файлов О_о
У меня есть стойкое ощущение, что они не поняли сути вопроса, несмотря на отточенность формулировки и выделение ключевых моментов.
Александр
Спасибо! Статья интересная! Обычно из портативных стоит постоянно Spessy, Core Temp, и еще несколько на флешке (что бы были под рукой. Но обычно стоит Install, но с контролем при установке, чтобы по-минимуму лишнего ставить. Один раз в неделю — чистка CCleaner+AuslogicsBoostspeed. И если глобальная чистка от лишних программ или массивное перемещение файлов — то чаще + дефрагментация (встроенным дефрагментатором). И спасибо за Ваш сайт — часто перечитываю и рекомендую всем знакомым.
Vadim Sterkin
Александр, мне кажется, что ваши портативные программы не требуют ассоциаций с типами файлов.
Спасибо, что читаете мой блог! Но я нахожу занятным, что вы рекомендуете его своим знакомым, при том что я не рекомендую делать ничего из того, что делаете вы :)
Сергей (CEPbl4)
Вадим, а можете привести пример программы, подходящей под критерий голосования? Я просто не думаю, что речь идет о Pot Player-е и ассоциации с ним музыки, видео и списков
Vadim Sterkin
Сергей, я даже затрудняюсь понять, почему вы так не думаете, если даже в этом комментарии вы косвенно перечислили десятки типов файлов :) Примеры приведены прямо над опросом.
Alexey
Vadim Sterkin,
Ассоциировать можно из самой программы, это минутное дело. Лень настраивать — тот же фубар у меня полностью собран согласно моим предпочтениям, потрачена куча времени, не знаю смогу ли еще раз проделать это.
Обязательно прочитаю следующую статью!
Vadim Sterkin
Да-да, конечно ;)
Александр
Спасибо за ответ! Я не отношу себя к профи (только учусь). Просто многие друзья, кто занимается этим более профессионально , им интересен Ваш блог. Извините, что может не совсем в тему комментарий, просто Ваш блог читаю давно и очень нравится серия про WIN7. И статья про очистку системы (Вы не рекомендуете). Хотя у меня с моим алгоритмом скоро два года система тьфу-тьфу держится без проблем.
Vadim Sterkin,
Vadim Sterkin
Александр, мой блог читают люди различной квалификации. Поэтому мои рекомендации надо понимать так, что их игнорирование необязательно приводит к проблемам, просто вероятность их появления выше :) Соответственно, следование моим рекомендациям значительно снижает вероятность появления проблем.
Алексей_Я
Добрый день всем.
Хорошая статья, информативная и отвечающая на многие вопросы.
У меня нет ни одной такой программы. Только утилиты, которые зашиты в сборку TC. Также там есть элементарная писалка дисков, notepad++, но я им редко пользуюсь, и то, в гостях, если надо посмотреть особый файл, блокнот не годится для этого, а ставить на систему я ничего не хочу. Ассоциации там ни к чему, потому я ее не считал.
Был в моей жизни момент, когда я считал, что Portable — это круто) А что — можно хранить на другом диске и тому подобное))) Еще один нюанс портаблов — это ломаные варезы. Я на полном серьезе — как правило, уже все пропатчено и прочее. Это и есть одна из основных причин использования portable)
Потом я стал изучать этот вопрос, делал портативки сам. Для своей сборки TC. Из легальных программ) Freeware версий) И меня заинтересовал вопрос ассоциации файлов. (кстати, проглядел я или нет, но никто не озвучил придания ассоциаций через файл реестра :) И обратный процесс). А также того, как и где мусорят программы. То есть где вообще хранится тот или иной компонент. Я ставил на чистую виртуальную машину программу, а потом смотрел, какие директории на диске, и какие ветки реестра изменились. Все это сохранял в reg-файл, а директории — просто в txt. Потом удалял программу штатным деинсталлятором и сравнивал снова. Мусора оставалось всегда прилично — то в %appdata% то еще где-то. Про ключи реестра вообще молчу… В общем — все зависит от писателя инсталлятора и деинсталлятора, а учитывая, что сейчас есть быстрые редакторы, то понятно, как это работает…
Потом полученный reg-файл (а иногда и содержимое разных папок) я клал в папку с портативной программой — ну, после возни разного рода, чтоб она стала портабельной, разумеется. Имя этого reg-файла и txt с папками я писал в bat-файл… Общий файл я называл — «придать ассоциации») И писал обратный файл — удалял ключи реестров и папки, которыми даже портативные программы следили на ПК. Файл назывался — «удаление ассоциаций.»
кому интересно — поищите в инете, примеров масса.
В общем, только так можно было сохранить систему «типа чистой». Другого термина не могу подобрать)
А до этого я анализировал как работают разные portable) Доложу я вам страшное зрелище. Клепают их в основном любители. Как думаете, пишут они такие reg-файлы?))) нет))) не пишут. И в итоге мусора дофига) и порой мимо «песочницы». А ассоциации вы придаете из меню программ) так что делалось как с полной версией и дополнялось файлами reg и писалось в батник.
Потом ассоциировать я мог в одно нажатие, если мне это было нужно.
Кто-то скажет: «Во псих!». Но нет, я так изучал как это все работает) На своей шкуре и поверхности HDD :) И теперь, на основании этого могу сказать — Portable заслуживают только утилиты. Остальное — увы, нет. В общем у меня в TC на ПК теперь просто ярлыки из нормально установленных программ. Но я не доверяю встроенным деинсталлерам — кривые они) Потому пользуюсь софтом, который следом за ними смотрит, что они забыли) Разумеется, я не жму слепо кнопки.
Теперь по поводу «а как же настройки». Ну во-первых… Резервное копирование системы вам в руки. Плохо? Acronis True Image 2012… Он умеет конвертировать файлы копий из формата windows в свой. Тоже плохо? Господа, тот же Foobar легко бэкапится из папки %appdata%, как и вся продукция mozilla, да как почти все — обычным копированием. Ставите потом саму программу, копируете обратно в %appdata% свои бэкапы. С умом, разумеется.
Извините за большой комментарий, но подумал, что подробное описание здесь к месту.
Vadim Sterkin
Алексей, отличный комментарий, спасибо! Я согласен, что истинно портативных программ не так уж много. Кроме portableapps.com/ в голову ничего не приходит. Все остальные портативные программы либо «полупортативные», либо откровенный мусор, вроде «портативного Photoshop».
И я не увлекаюсь портативными программами по тем же причинам, что и вы. Многие через это увлечение проходят (но некоторые так с ним и остаются :).
Что касается ассоциаций, то в MSDN задокументированы методы регистрации приложений в системе, в т.ч. в «Программах по умолчанию». Для этого и нужны установщики.
А так, вы очень близко подошли к теме следующей статьи. Думаю, вам будет интересно :)
Янис
Считаю, что программы требующие ассоциации типа pdf (но Foxit),djvu,fb2, A/V лучше «обычные». Смысл портабельных — на флешке и/или изредка (в моем случае) пользоваемые монстры типа fotoshop, corel, office и.т.д. Поэтому у 16Gb mSATA SSD мне даже треть не занято.
Vadim Sterkin
Янис, согласен с первой частью комментария (кроме Foxit), а со второй — нет :)
Алексей_Я
И сколько стартует ваш портативный Corel?)
да, именно для этого они и нужны :) Так удобнее и правильнее.
:) Ну, подождем)
Янис
Долго,естественно,но раз в месяц можно и подождать.Но программы типа AIDA64 вообще имеет смысл только на флешке.
1.Про Foxit — ненравитса монстры, как Adobe,Nero и похожие.Не собираюс из за них покупать новый SSD.Иногда мне кажетса, что у производителей софта тайный договор с хардовиками. 2.Если бы я пользовалса указанными программамы хоть раз в три дня — никаких portable.
виктор
К сожалению даже после штатного удаления остаются хвосты в реестре, временные файлы и т.д. Кроме того такие хвосты могут оставляться намеренно, например для предотвращения повторного использования демо-версии. И просто косяки. Наверное лень прописывать все удаляемые файлы и ключи реестра.
У меня например остались записи в ключе
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility
таких программ, про которые я уже и забыл. Случайно на них сейчас натолкнулся.
Из ассоциаций у меня связаны расширения присущие программам типа 3ds Max, AutoCAD и т.п. и чисто специфичные расширения типа .dmp В основном использую «Открыть с помощью».
Не все, но наверное большинство. Иногда я использую Ashampoo UnInstaller. Чистит отлично. Один минус — делает снимки системы и всех дисков до и после установки, а потом их сравнивает и записывает лог. Времени на это уходит — «мама не горюй». Так что все очень медленно. Хотя можно всегда посмотреть какие изменения сделала при установке та или иная программа.
Vadim Sterkin
Виктор, да, штатный деинсталлятор — не панацея, но очевидно, что от «полупортативной» программы остается еще больше мусора. Ashampoo я пользовался лет 7-9 назад, еще на XP (да, я тоже когда-то параноидально боялся засорения системы :). Но в итоге отказался от него по ряду причин:
1. Как вы заметили, времени уходит много.
2. Зачищается только то, что было создано при установке. А ведь за время работы программа может много чего другого создать.
3. Если какие-то параметры реестра впоследствии стали использоваться другой программой, Ashampoo об этом никак не может узнать.
artem
ты знаешь, это вообще-то первая статья в твоём блоге, проблематику которой я вообще не понял. Т.е. вроде бы всё логично, но нафига было это писать — неясно. Не увидел ни вопроса, на который ты пытался бы ответить, ни каких-то рекомендаций (или анти-рекомендаций).
я вообще не понимаю, кому может быть интересна роль установщика. У обычных пользователей вообще не должно возникать такого вопроса, а у «продвинутых» не должно возникать затруднений с ответом :)
наверное это потому, что мода на «портативные» программы вообще прошла мимо меня. Похоже, что она началась уже после того, как я перестал следить за форумами, файлопомойками, варезниками и их содержимым (т.е., по грубой оценке, лет пять-шесть назад).
Vadim Sterkin
Артем, это первый комментарий «статья ниочём» в моем блоге, облеченный в столь тактичную форму :))
Вообще, на основе комментариев блога и чтения форума у меня сложилось стойкое ощущение, что довольно большой пласт пользователей не видит необходимости в установщиках, поскольку портативные программы и так работают. Поэтому одной из основных целей записи был опрос, из которого кстати выяснилось, что половина читателей из-за этого однозначно наступит на грабли в Windows 8 (наступить могут все, но тут уже YMMV). Впрочем, я до сих пор озадачен кол-вом людей, выбравших в опросе последний пункт, особенно с учетом того, что ни один из них не представил списка своих программ.
Попутно я ответил на вопрос о папке Installer, который по странному совпадению мне задали в почте дважды за последние полтора месяца. Заодно туда же внес информацию о решении проблемы с переустановкой/удалением MSI, которая возникает время от времени, судя по форумам. Это я к тому, что зачастую статьи, содержащие решения проблем, неинтересны постоянной аудитории блога, но экономят время отвечающих на форумах, причем не только мое (модераторы осевых разделов на OSZone читают мой блог и ссылаются на него).
Да, портативные программы стали очень популярны именно лет 5-6 назад (вместе с ростом объема флэшек, кстати). Не могу сказать, что я ими сильно увлекался, но применительно к теме опроса у меня даже до недавнего времени в портативном виде существовали медиа-проигрыватель, программа для просмотра изображений и текстовый редактор. В Windows 8 это уже не катит…
Янис
Верно, но W8 имеет смысл если пользоватса планшетником, а тот имеет смысл если не вылезать из соцсетей. То есть для…промолчу.
Vadim Sterkin
В Windows 8 это не катит безотносительно планшетов, о чем я расскажу завтра.
Здесь сразу два заблуждения, но я не буду повторяться, ибо обсуждение ведется тут.
Виталий К. ©
А что там сломали опять?
Vadim Sterkin
Виталий, т.е. я должен вам в комментарии написать это вместо большой статьи? :) А так, там ничего не сломали, просто изменили кое-что. Но вы-то можете не волноваться…
Виталий К. ©
Так это тема следующей статьи? Тогда подожду.
Если перестало работать, значит сломали.
До 2015 как минимум.
Vadim Sterkin
К сожалению, вы глубоко заблуждаетесь. Разработка ПО должна вестись в соответствии с рекомендациями разработчика ОС. И нужно тщательно тестировать свое ПО при выходе новой ОС, прежде чем добавлять ее к списку поддерживаемых систем легким движением руки.
Кардинально проблему разработчиков, не желающих или не умеющих играть по правилам, решить можно только одним способом — проверкой программы перед публикацией в магазине… И в отдаленном будущем к этому все и придет.
А что случится в этом году? Предупредительный выстрел.
Виталий К. ©
Рекомендации не всегда соответствуют тому, чего хотят пользователи. А между желаниями пользователей и рекомендациями разработчика ОС программист выберет желание пользователей, а если выберет второе, то быстро разорится.
И я не понимаю, зачем делать неудобные рекомендации.
Не спорю. Каждый раз что- то ломают.
Только вот никто не включал те портативные программы в список совместимых с Вин8.
Они играют по правилам рынка.
К сожалению. Я вижу, к чему это приводит, по iOS на айфоне.
Да ничего. Поддержка закончится в 2014, но ХР х64 в тыкву не превратится, и можно будет ещё годик пользоваться.
Vadim Sterkin
Виталий, если программист не следует рекомендациям разработчика ОС в угоду пожеланиями пользователей, он создает предпосылки для возникновения проблем у тех, о ком он так печется :)
Что касается портативных программ, то как мы выяснили, есть два типа — официальные и нет. Во втором случае пользователь сам выбирает работу с программой по сценарию, который не поддерживает разработчик. И глупо винить ОС или программу за любые грабли, на которые при этом пользователь наступит. А вообще, завтрашняя тема будет не только о портативных программах :)
Виталий К. ©
Тут скорее виноваты разработчики ОС, которые в угоду более простой себе работы ограничивают разработчика и в конце концов пользователя.
С этим не спорю. Насильно отпортированные программы в большинстве своём глюкодром ещё тот. Но я имею в виду как раз официально портативные утилиты, которые часто распространяются в zip архиве.
Vadim Sterkin
Виталий, ОС настолько сложная вещь, что говорить об упрощении работы для ее создателей как-то странно. Любое нововведение/изменение в архитектуре или интерфейсе, затрагивающее пользовательский опыт, кого-то всегда ущемляет :) Но делается-то оно из лучших побуждений, поскольку в конечном итоге компании нужно продавать эту ОС.
Что касается официально портативных утилит, то они вряд ли требуют сопоставления с несколькими типами файлов.
Виталий К. ©
Лучших для компании по мнению самой компании.
Кстати, а почему с несколькими? Это как- то отличается от одной? Просто вы всё время этот момент выделяете.
Ну и тот же KMplayer вполне себе официально позволяет хранить настройки в ini в папке программы, то есть работать портативно. А как вы сами понимаете, видеоплеер как раз таки сопоставляется с кучей форматов.
Vadim Sterkin
Виталий, поставьте завтра будильник на 08:50 :)
Victor
Вадим, вы всё хотите услышать кого-то из последней категории опроса — пожалуйста, я один из них.
Значит перечень программ Portable у меня таков:
1.Opera,. 2.FireFox, 3,Safari. 4.Google Chrome, 5.AIMP3. 6.Skype, 7.QIP 2012, 8.Total Commander. 9.FileZilla, 10.Thunderbird, 11.XnView, 12.EmSditor, 13.Torrent. 14.TeamViewer, 15,AlReader, 16.Парочка RSS-клиентов. Ну и по мелочи еще для работы.
А удаляю софт с помощью Revo Uninstaller уже года как три. Нормально чистит. Не жалуюсь.
Vadim Sterkin
Виктор, спасибо за список. Наличие нескольких портативных браузеров я как-то не учитывал :) Хотя мне кажется, что не все программы в нем связываются с несколькими типами файлов.
Victor
Вадим, третье предложение немного не понял. Растолкуйте
Андрей
Vadim Sterkin, у меня такой вопрос: Могут ли в Windows\Installer оставаться «инсталяторы» от программ которых давно удаленны из системы?
Vadim Sterkin
Андрей, они должны удаляться, но я не могу поручиться, что это происходит в 146% случаев :)
Андрей
Vadim Sterkin, можно ваше мнение по этой программе тогда
http://fixitwizkid.com/threads/windows-installer-unused-files-cleanup-tool.7002/
Vadim Sterkin
Андрей, мое мнение вас вряд ли удивит: не надо пытаться починить то, что работает :) Думаю, что программа делает то же самое, что и Windows Installer CleanUp, разве что та не показывает «неиспользуемые» программы. Но не зная принципов ее работы, я бы не рискнул пускать ее в свою ОС.
Виталий К. ©
У меня она вывела список всех пакетов, даже тех, которые стоят. Видать на ХР х64 не рассчитана. Если бы я её использовал, заимел бы море проблем.
Андрей
Vadim Sterkin. принцип вроде такой: удаляет лишь неиспользуемые системой установщики
Виталий К. ©
Только как она определяет, что используется, а что нет? У меня она все пометила как неиспользуемые.
Андрей
Может. в реестр смотрит…или в log»и windows лезит
просканировал свою папку /Installer/ из 240 файлов отметила 10 как ненужные! все относятся к Microsoft .NET Framework
http://jpeg.im/1rpb
Vadim Sterkin
Вы понятия не имеете о принципе работы утилиты, но хотите рискнуть. Но стоит ли удалять 50 Мб из гигабайта ради потенциальных проблем с .NET? По-моему, вопрос риторический…
Андрей
Vadim Sterkin, я бы хотел вообще всю папку удалить! лишних 2 Гб бекапа закачивать в облако…
Ранее, так и сделал, удалил всю! но позже начались ошибки при обновлении NET Framework через Windows Update, пришлось вернуть на место. Поэтому и заинтересовала эта (правильная) утилита
Vadim Sterkin
Андрей, я не считаю утилиту правильной, равно как и ваше желание удалить папку Installer (и оно мне кажется более чем странным ввиду написанного мной в статье). Извините, но дальнейшая дискуссия на тему этой утилиты мне неинтересна до тех пор, пока вы не выясните принципов ее работы (Procmon в помощь).
Stiff
1) Мне нужен универсальный минимальный пакет, чтоб работал и с хдд, и с флешки, чтоб обязательно работал и в ХР, и на 7. Потому использую одну из гуляющих по сети сборок Тотал Командера с купленным к нему ключём + добавки некоторых дополнительных порабельных прог. Что-то из этого добра на 7 не работает, но того, что работает, более-менее хватает.
2) Разумеется есть некие мучения с установкой ассоциаций — которые уменьшают полезность такой портабельной сборки на винте. Статью о больших проблемах с этим на 8 виндузе прочитал.
Архиваторы из-за этого проще установить — в Тотале архивы открывать как папки, а Винде — как файлы связанные с архиваторами. + появляются полезные контекстные меню. Кстати, ВинРар позволяет прописать свои настройки в дополнительные пункты контекстного меню. Это в вынь-8 будет работать?
3) Из портабельных прог хочу отметить Unlocker. Ассоциаций ему не надо, но в контекстное меню попадает — в «Отправить».
4) «у вас версии программ совсем не последние, причем в них могут быть уязвимости (PDF).»
А не нужно устанавливать и вообще пользоваться этой большой дыркой — Акробат Ридером. Микрософт на своих мероприятиях регулярно приводит его в пример софта с кучей дыр — он у них рекордсмен под дырам.
Есть вполне портабельный ФоксИт. Единственная проблема, которую заметил в портабельной версии от ПортаблеАпс — не открывает ассоциированный с ним пдф, если уже открыта программа. Мне это особой помехой не было. Но можно этот ФоксИт установить.
Нужен ли Акробат Ридер для каких-то целей, которые не решает ФоксИт, и кому нужен — не знаю. Возможно, только корпоративным пользователям, которые устанавливают на свои файлы разные уровни доступа для разных юзеров.
5) Из портабельных с ассоциациями, кроме ФокИта:
WinDjView и что-то ещё. В Тотал Комендере это что-то висит на кнопках, которые сразу подцепляют файл. А если понадобится такое из Проводника — то делаю ассоциацию на портабельную прогу из сборки Тотала.
Причём что-то висит у меня в разных версиях на кнопках в Тотале — для тестов на совместимость и разного доступного сервиса, потому адекватную по удобству замену в Проводнике не сделать (только «открыть как»).
В вин8 в Проводнике не появилось возможности устроить такие же кнопки, как в Тотале — с запуском произвольных прог для обработки текущего или выделенных файлов?
6) Ещё один момент. Портабельная сборка у меня запускается как из основной системы, так и с виртуалок. Т.е. на диске лежит один раз. А виртуалки достаточно делать из болванки, в которой эта сборка уже прописана связанной с расширениями файлов.
Я считаю это очень большим плюсом портабельных прог — не пихать в каждую виртуалку кучу служебных, технических и офисных прог и утилит.
Да — есть какие-то глюки от этого, когда виртуалка блокирует используемые файлы. Но пока это ни к чему страшному не приводило. Разве что Тотал Командер перегружал пару-тройку раз за пару лет.
Vadim Sterkin
Святая вера в неуязвимость FoxIt очень опасна. Не забывайте его обновлять…