Установка пакета будет показана на примере пакета библиотеки «Html Agility Pack», которую я нашел с помощью командлета Find-Package в репозитории «nuget.org» в интернете (см. подробности в предыдущем посте). Она зарегистрирована там под именем «HtmlAgilityPack» (без пробелов между словами названия). Напомню, я пользуюсь программой-оболочкой «Windows PowerShell» версии 5.1 в операционной системе «Windows 10».
Политика выполнения скриптов
При установке пакетов программ на компьютер может понадобиться запуск различных скриптов. По умолчанию запуск скриптов из программы-оболочки «Windows PowerShell» ограничен (запрещен) ради безопасности. Полный запрет запуска скриптов можно снять в разной степени, это называется настройкой «политики выполнения» (по-английски «execution policy»). У меня об этом есть два отдельных поста: «Windows PowerShell: политики выполнения» и «Windows PowerShell: установка модуля на компьютер». Если эти два поста прочитать по порядку, можно получить представление о настройке политики выполнения скриптов из программы «Windows PowerShell».
Пакетная установка приложений / Как сделать сборку программ
Проверю политику выполнения с помощью соответствующего командлета:
> Get-ExecutionPolicy -list
Результат работы этой команды у меня:
Scope ExecutionPolicy —— ————— MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine RemoteSigned
Это значит, что у меня установлена политика выполнения «RemoteSigned» на уровне (scope) «LocalMachine» (на уровне моего компьютера). Этот уровень означает, что значение политики выполнения записано в реестр операционной системы и поэтому не требует настройки при каждом запуске программы-оболочки «Windows PowerShell». Политика выполнения «RemoteSigned» разрешает запуск скриптов, созданных текущим пользователем компьютера. Также разрешается запуск скриптов, полученных из интернета, но только если у них имеется цифровая подпись от доверенного издателя.
Установка пакета
В программе-оболочке «Windows PowerShell» есть специальный командлет (в составе модуля «PackageManagement») для установки пакета (или сразу нескольких пакетов):
> Install-Package -Name «HtmlAgilityPack»
Это простейший вариант команды установки пакета. Но я бы рекомендовал еще указывать необязательный параметр -Source . Если источников пакетов несколько, то, если не указан конкретный источник, командлет Install-Package будет искать во всех имеющихся источниках пакетов (напомню, у меня их два, об этом было в предыдущем посте). Это замедлит работу командлета. Итак, укажем нужный источник пакетов:
> Install-Package -Name «HtmlAgilityPack» -Source «nuget.org»
Результат работы этой команды у меня (установка пакета приостановлена, командлет ожидает ответа на указанный ниже вопрос):
The package(s) come(s) from a package source that is not marked as trusted. Are you sure you want to install software from ‘nuget.org’? [Y] Да — Y [A] Да для всех — A [N] Нет — N [L] Нет для всех — L [S] Приостановить — S [?] Справка (значением по умолчанию является «N»):
Источники пакетов по умолчанию считаются не доверенными, это было показано в предыдущем посте.
Правильная установка программ на компьютер
Конечно, можно избежать этого вопроса, сделав источник пакетов доверенным («trusted»), либо подавив этот вопрос с помощью соответствующих параметров командлета Install-Package . Но я не считаю нужным это делать, так как предпочитаю получать дополнительные предупреждения. Мне несложно лишний раз набрать символ «Y» и нажать на клавишу «Enter» (это означает ответ «Да» на вышеприведенный вопрос, то есть да, установить пакет из не доверенного источника). Не помешает лишний раз получить напоминание о необходимости соблюдения правил безопасности.
После ответа «Да» на вышеприведенный вопрос установка пакета продолжилась и я получил следующий результат с ошибкой, пакет не установился:
Install-Package : Administrator rights are required to install packages in ‘C:Program FilesPackageManagementNuGetPackages’. Log on to the computer with an account that has Administrator rights, and then try again, or install in ‘C:UsersИльяAppDataLocalPackageManagementNuGetPackages’ by adding «-Scope CurrentUser» to your command. You can also try running the Windows PowerShell session with elevated rights (Run as Administrator). строка:1 знак:1 + Install-Package -Name «HtmlAgilityPack» -Source «nuget.org» + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (InvalidOperation:String) [Install-Package], Exception + FullyQualifiedErrorId : InstallRequiresCurrentUserScopeParameterForNonAdminUser, Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
Дело в том, что по умолчанию командлет пытается установить пакет для использования всеми пользователями моего компьютера, то есть у меня на компьютере это означает установку пакета в следующую папку:
C:Program FilesPackageManagementNuGetPackages
А для записи в эту папку требуются права администратора. Я же обычно работаю на своем компьютере с правами обычного пользователя.
Можно, конечно, поднять права текущего пользователя до прав администратора. Но что делать, если я хочу установить пакет для пользования только из своей учетной записи, а не для всех пользователей компьютера? В вышеуказанном сообщении об ошибке предлагается использовать для этого параметр -Scope CurrentUser командлета Install-Package . При таком параметре командлет Install-Package установит пакет в другую папку, у меня это следующая папка:
C:UsersИльяAppDataLocalPackageManagementNuGetPackages
Для установки пакета в эту папку достаточно прав моего текущего пользователя (не администратора).
Запускаем командлет с новым параметром:
> Install-Package -Name «HtmlAgilityPack» -Source «nuget.org» -Scope CurrentUser
Что делать, если ничего не происходит
У меня случалось, что после запуска командлета очень долго вроде бы ничего не происходит. Работу командлета можно прервать сочетанием клавиш «Ctrl+C». После этого можно запустить командлет заново, но уже с дополнительным параметром -Verbose . Этот параметр заставит командлет подробно сообщать о всех своих действиях (обычно командлет сообщает лишь о результате своей работы, а о промежуточных действиях не сообщает ничего). После запуска командлета с этим параметром, если и произойдет какая-то пауза, то будет видно, что именно стало проблемой.
Установка зависимостей
Бывает, что устанавливаемый пакет зависит от наличия на компьютере других пакетов. По умолчанию командлет Install-Package сначала устанавливает пакеты, от которых зависит устанавливаемый пакет, а потом уже устанавливает тот пакет, который ему было указано установить изначально.
Если с установкой зависимостей (пакетов, от которых зависит устанавливаемый пакет) возникают сложности, может быть выдана соответствующая ошибка и изначально указанный к установке пакет не будет установлен.
При этом следует иметь в виду, что установку зависимостей можно пропустить (то есть не устанавливать их) с помощью специального параметра -SkipDependencies командлета Install-Package .
Если установку зависимостей пропустить, то пакет будет установлен (если не возникнет еще каких-нибудь ошибок). Однако, отсутствие зависимостей может привести к тому, что установленный пакет не будет работать вообще или не будет работать так, как следует из его описания. Так что пропуск зависимостей — это не слишком хорошее решение. Используя его, следует точно понимать, что происходит и как будет работать установленный пакет без зависимостей.
У меня на компьютере команда
> Install-Package -Name «HtmlAgilityPack» -Source «nuget.org» -Scope CurrentUser
как раз привела к ошибке с установкой зависимостей:
Install-Package : Unable to find dependent package(s) (System.Threading) строка:1 знак:1 + Install-Package -Name «HtmlAgilityPack» -Source «nuget.org» -Scope Cu . + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (System.Threading:String) [Install-Package], Exception + FullyQualifiedErrorId : UnableToFindDependencyPackage, Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
После пропуска установки зависимостей:
> Install-Package -Name «HtmlAgilityPack» -Source «nuget.org» -Scope CurrentUser -SkipDependencies
пакет был, наконец, установлен:
Name Version Source Summary —- ——- —— ——- HtmlAgilityPack 1.11.43 nuget.org This is an agile HTML parser that builds a read/wri.
Как проверить, установлен ли определенный пакет на компьютере
Для этого в модуле «PackageManagement» имеется специальный командлет:
> Get-Package -Name HTMLAgilityPack
Результат его работы у меня на компьютере:
Name Version Source ProviderName —- ——- —— ———— HtmlAgilityPack 1.11.43 C:UsersИльяAppDataLocalP. NuGet
Как удалить пакет с компьютера
Для этого в модуле «PackageManagement» имеется другой командлет:
> Uninstall-Package -Name HTMLAgilityPack
Результат его работы у меня на компьютере:
Name Version Source Summary —- ——- —— ——- HtmlAgilityPack 1.11.43 C:UsersИлья. This is an agile HTML parser that builds.
Проверим наличие указанного пакета на компьютере:
> Get-Package -Name HTMLAgilityPack
Результат у меня:
Get-Package : No package found for ‘HTMLAgilityPack’. строка:1 знак:1 + Get-Package -Name HTMLAgilityPack + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Microsoft.Power. lets.GetPackage:GetPackage) [Get-Package], Exception + FullyQualifiedErrorId : NoMatchFound, Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackage
Это не ошибка. Вернее, ошибка, но ожидаемая: указанного пакета на компьютере уже нет. Можно убедиться в этом визуально, заглянув в папку, в которую пакет был ранее установлен. У меня это следующая папка:
C:UsersИльяAppDataLocalPackageManagementNuGetPackages
В ней удаленного пакета не оказалось, что я и ожидал.
Кстати, следует иметь в виду, что, если при запуске командлета Uninstall-Package какие-то файлы удаляемого пакета используются какими-то программами, то эти файлы не будут удалены этим командлетом (остальные будут удалены). Этот командлет даже ничего не сообщит о таких файлах. Так что после удаления не будет лишним проверить в указанной выше папке: все ли файлы удалены. Оставшиеся файлы придется удалять вручную, сначала закрыв те программы, которые их используют в данный момент, блокируя возможность удаления.
Источник: ilyachalov.livejournal.com
Установка приложений с помощью менеджера пакетов PowerShell
08.06.2022
itpro
PowerShell, Windows 10
комментариев 10
В состав Windows 10 разработчики включили новый PowerShell модуль с именем PackageManagement. Модуль PackageManagement (ранее назывался OneGet) позволяет из консоли PoSh устанавливать, управлять и удалять приложения и программы из некого внешнего (или локального) репозитория, а также управлять списком подключенных репозиториев. Проще говоря, в Windows 10/ Windows Server 2016 появилась возможность устанавливать программы из командной строки по аналогии с известной командой Linux apt-get install.
Модуль менеджера пакетов PackageManagement позволяет существенно упростить процедуру установки нового ПО. Вся установка по сути сводиться к выполнению одной команды PowerShell, и, самое главное, пользователю не нужно самостоятельно искать в интернете и выкачивать дистрибутивы софта, рискуя скачать устаревшую или зараженную версию. Установка проводится из доверенного источника программ. При обновлении программного обеспечения в репозитории, оно может быть автоматически обновлено на клиентах.
Модуль PackageManagement
Модуль PackageManagement уже встроен в Windows 10, а для его работы требуется PowerShell 5. Поэтому для работы менеджера пакетов в Windows 8.1 нужно сначала установить Windows Management Framework 5.0. Также Microsoft выпустила отдельный модуль для работы менеджера пакетов и на PowerShell версий 3 и 4.
Выведем список доступных командлетов PowerShell в модуле PackageManagement:
Get-Command -Module PackageManagement
В текущей версии модуля (v 1.0.0.1) имеются такие команды:
- Find-Package — поиск пакета (программы) в доступных репозиториях
- Get-Package — получить список установленных пакетов
- Get-PackageProvider — список провайдеров (поставщиков пакетов), доступных на компьютере
- Get-PackageSource — список доступных источников пакетов
- Install-Package — установить пакет (программу) на компьютере
- Register-PackageSource — добавить источник пакетов для провайдера
Провайдеры пакетов
Пакеты обслуживаются различными провайдерам, которые могут получать пакеты из разных источников. Чтобы вывести список всех доступных провайдеров, выполните:
По умолчанию в системе имеются 2 установленных источника пакетов: nuget.org и PSGallery (официальная онлайн галерея скриптов PowerShell от MSFT). Но они предназначены в первую очередь для программистов и системных администраторов.
Примечание. В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.
Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey, содержащий на данный момент более 4500 различных программ.
Установим новый провайдер Chocolatey:
Подтвердим установку провайдера, нажав Y.
Сделаем Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать установку.
Set-PackageSource -Name chocolatey -Trusted
Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:
Name ProviderName IsTrusted Location
—- ———— ——— ———
PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2/
chocolatey Chocolatey True http://chocolatey.org/api/v2/
Установка приложений из репозитория Chocolatey
Рассмотрим теперь, как установить приложение (пакет) из репозитория Chocolatey.
Список доступных для установки приложения можно получить непосредственно на официальном веб сайте Chocolatey (https://chocolatey.org/packages)
Также можно найти и установить нужное приложение прямо из консоли PowerShell. Например, для просмотра pdf файлов нам понадобилось установить приложение Adobe Acrobat Reader. Т.к. мы не знаем полного названия приложения, для его установки нам нужно получить имя пакета в каталоге. Выполним поиск в репозитории по ключевому слову ‘adobe’:
Find-Package -Name *adobe* -Source Chocolatey
В консоли появится список всех пакетов по данному ключу. Нам нужен пакет adobereader (нужно использовать именно имя пакета из столбца Name).
Запускаем установку пакета Adobe Reader:
Install-Package -Name adobereader -ProviderName Chocolatey
Вверху окна PowerShell появится ползунок, свидетельствующий о начале загрузки пакета Adobe Reader. Сразу после окончания загрузки, приложение установится в системе.
Еще один пример. Допустим, нам понадобилось иметь на компьютере набор утилит SysInternals. Чтобы не качать его вручную, найдем пакет SysInternals в репозитарии Chocolatey и установим его.
Find-Package -Name Sysinternals | Install-Package
Т.к. пакет не требует установки, он сохраняется на компьютер и хранится в каталоге C:Chocolateylib. В нашем примере это каталог C:Chocolateylibsysinternals.2016.11.18tools
Сразу несколько приложений можно установить всего одной командой:
Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package
Удаление пакета
Удаление приложения на компьютере выполняется также одной командой. К примеру, для удаления Adobe Reader, выполните команду:
Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.
Предыдущая статья Следующая статья
Источник: winitpro.ru
Менеджер пакетов для Windows. Быстрая установка и обновление программ
Когда-то давно установка программы в Linux превращалась в целый обряд. Мало было найти и скачать исходник, необходимо было его вручную собрать, удовлетворив ненавистные зависимости. Теперь не надо даже качать дистрибутив — достаточно выбрать программу в менеджере пакетов и нажать на кнопку «Установить». В винде же по-прежнему приходится самому искать дистрибутивы и потом вручную устанавливать софт. Факт!
Есть множество причин, почему Microsoft не реализовала ничего схожего с менеджером пакетов. Обсуждать этот вопрос можно довольно долго, но зачем? Занятие это неблагодарное и едва ли полезное. Вместо этого предлагаю заняться делом и попробовать обустроить систему, сродни той, что используется в любом современном Linux’е.
Менеджер пакетов позволяет быстро найти и установить приложения, позже установить апдейты, а в случае необходимости — правильно удалить софт. Задача ясна, и раз уж в винде нет ничего подобного, то реализуем что-нибудь подобное сторонними средствами.
Первичная установка софта
Нет ничего более утомительного и скучного, чем первичная установка программ на девственно чистую систему. Нет, правда! Даже если не бросаться с места в карьер, устанавливая сразу весь необходимый софт (хотя есть и такие фетишисты), а делать это постепенно, то все равно базовый набор прог, без которых ну никак не обойтись, все равно заставит почувствовать себя станочником третьего разряда. Три операции: «Открыл сайт», «скачал дистрибутив», «поставил программу» — и так двадцать раз за смену.
Браузер, мессенджер, кодеки и аудио/видео проигрыватель, читалка для PDF, офисный пакет, антивирус, последние версии Java/.NET Framework/Flash, архиватор — джентльменский набор никто не отменял. Тут и за целую рабочую смену можно не управиться! Есть вероятность свалить пораньше, если под рукой есть Dailysoft с последнего диска ][, но так и брак пропустить можно: а вдруг новая версия вышла? Словом, единственный вариант — послать эту тягомотину лесом и искать вариант лучше.
Итак, добавляй в закладки онлайн-сервис www.ninite.com. Этот недавно появившийся ресурс уже успел избавить меня от нескольких часов мучений и бездарного времяпрепровождения. Как? Идея очень проста. На единственной странице доступен список различных преимущественно бесплатных или открытых приложений, который разбит по группам: «Браузеры», «Безопасность», «Разработка» и т.д.
От тебя требуется выбрать нужные утилиты и нажать на кнопку «Get Installer». В результате за несколько кликов мыши мы получаем универсальный инсталлятор, который разом установит все выбранные программы. Сам установщик весит совсем немного и подкачивает все необходимые данные прямо во время установки. Отдельные моменты, конечно, настораживают.
Например, кто его знает, что закачивает этот установщик? Но ведь как удобно!
К сожалению, инсталлятор не оставляет данные, которые скачал для установки, поэтому, увы, не получится создать offline-установщик и записать его себе на флешку, но такая опция доступна в платной версии сервиса.
Прокачиваем идею
Помимо отсутствия оффлайн-установки в бесплатной версии Ninite есть еще один недостаток — инсталлятор с нужными приложениями каждый раз приходится составлять заново.
Странно, что разработчики не добавили простейшую систему регистрации, чтобы можно было залогиниться и сразу скачать инсталлятор для когда-то уже составленного набора программ. Избежать подобной оплошности удалось парням из Франции, которые реализовали аналогичный сервис — www.allmyapps.com. По сути это тот же Ninite, только с еще большим количеством софта и возможностью прилинковать список приложений к своему личному аккаунту (регистрация бесплатная).
Помимо того в системе можно установить дополнительный десктопный клиент, после чего в интерфейсе Allmyapps будут отмечены утилиты, которые уже имеются в системе и не нуждаются в установке. Впрочем, даже при таком раскладе универсальный инсталлятор — это все же не менеджер пакетов.
Чуть приблизиться к идее менеджера приложений позволяет ZeuAPP (blog.zeusoft.net/zeuapp), реализованный в виде десктопного приложения. Разработка также предлагает широкий список бесплатных и открытых программ, которые можно быстро установить в системе. Выбираем нужную, кликаем «Download» — и программа сама, скачав дистрибутив, начинает процедуру установки.
Увы, процедура инсталляции не прозрачна и не автоматизирована: пользователю даже приходится вручную выбирать папку для закачки дистрибутива. Но и это не все. Если онлайн-сервисам еще можно было простить отсутствие проверки версий в системе и возможность обновления софта, то в десктопном ZeuAPP такую возможность вполне можно было реализовать. Так что придется искать решение для поддержки актуальности версий дополнительно.
Обновление установленных программ
В случае с виндовыми приложениями, когда чуть не каждую неделю появляются новые публичные сплойты для разных браузеров, Adobe Reader’а и прочих клиентских приложений, вопрос обновления особенно актуален.
Полностью автоматической системы, которая отслеживала бы появление новых версий и сама осуществляла апдейт, я не нашел. Но это, наверное, даже к лучшему, ибо от подобной автоматики в условиях Windows-окружения ждать можно было бы чего угодно. Совсем другое дело — полуавтоматический инструмент, который бы кропотливо отслеживал наличие обновлений и предлагал установить их вручную с помощью штатных инсталляторов. Разработкой подобных инструментов и занимается западная security-компания Secunia. Мы не будем брать серьезные корпоративные решения, нацеленные на централизованное обновление в сети, а возьмем бесплатную утилиту для персонального использования — Secunia Personal Software Inspector.
Легковесная утилита быстро и со знанием дела сканирует всю систему и выдает подробный отчет, какие из программ нуждаются в обновлении. Для каждой устаревшей проги выдается рейтинг угрозы (в соответствии с обширной базой Secunia описаний уязвимостей) и, что самое удобное, прямая ссылка на загрузку самой последней версии дистрибутива. Один клик — и уже можно приступать к обновлению.
Помимо этого проверяется наличие апдейтов для самой винды, а всякий раз, когда ты по ошибке установишь не самую последнюю версию какой-нибудь софтины, в трее будет появляться соответствующее предупреждение. Особое внимание уделяется безопасности браузеров и прилинкованных к ним плагинам (Adobe Flash Player, QuickTime, Sun Java и т.д.), а также клиентским программ для сетевых сервисов (например, Skype). Подробный отчет, скажем, по ActiveX-компонентам становится доступен, если перевести Secunia PSI в расширенный режим интерфейса.
Перед началом сканирования утилит скачиваем по безопасному HTTPS-проколу набор правил, в которых обозначено, каким образом проверять актуальность приложения. Тут стоит сказать, что на моей машине установлено просто огромное количество софта, от которого я не успеваю избавляться. При этом Secunia умеет находить обновленные версии для многих из них.
Увидев в своей RSS-ленте информацию об обновленной версии Java, эксперимента ради я запустил PSI — информация о необходимости обновления тотчас появилась на экране. Вот здесь-то и начинаешь ощущать, что поддержкой продукта занимается не парочка энтузиастов, а целая команда securityспециалистов. Кстати говоря, в любой момент времени PSI выдает рейтинг обновленной системы Secunia System Score. У меня это значение после долгого отсутствия апдейтов составляло 86%. А у тебя?
Как быть с бета-версиями?
Несмотря на наличие устаревших программ, в системе уживается еще и огромное количество бета-версий софта, которому до релиза еще далеко. Вообще приятно получить приятные бонусы намного раньше других, а помочь разработчикам в поиске нескольких багов — не такая уж большая плата за такую возможность.
Увы, Secunia PSI никакие бетки не признает — оно и понятно, если уж в релизах полно багов, то чего ждать от бета или даже альфа-версий? Как же быть? Отслеживать выход свежих программ мне помогают ресурсы fileforum.betanews.com и www.filehippo.com.
Если в первом просто публикуются новости о недавно вышедших версиях программ, то FileHippo представляет собой огромнейший каталог софта, который скрупулезно обновляется, как только выходит новая версия программы — вероятно, это делается автоматически. Больше того, всем желающим предлагается скачать FileHippo.com Update Checker, который так же, как и прога от Secunia, проверяет установленные в системе программы на наличие обновлений. Но при этом. в отдельном списке предлагает установить еще и доступные бета-версии программ, указывая прямые линки на загрузку дистрибутивов. Забавно, что после установки только что скачанной FileHippo.com Update Checker PSI тут же отписался, что для этой программы есть версия новее. Ведь явно врет, обижается что ли?
Правильное удаление программ
Когда меню «Пуск» разрастается до нереальных размеров, начинаешь задумываться: «Пожалуй, здесь много лишнего». Мое правило примерно таково — всякий раз, запуская штатный виндовый менеджер для установки и удаления программ, можно избавиться как минимум от пяти ненужных утилит :).
Вот, казалось бы, единственная функция пакетного менеджера, которая удаляет программы, и которую Microsoft вроде как реализовал, есть. Пользуйся — не хочу. Но нет! Программу, конечно, она с грехом пополам удаляет, но если сделать снимок реестра и файловой системы до установки и после удаления, то обнаруживаются интересные факты. Лишние ключи реестра, какие-то временные файлы… Почему они остались — непонятно.
Есть много утилит, которые магическим образом обещают правильно удалять программы из системы, используют интеллектуальные алгоритмы для поиска левых ключей в реестре и т.д. На деле большинство из них — полная туфта, но не Ashampoo Magical UnInstall (www.ashampoo.com). Чем же он отличается от всех остальных? Принципом действия.
Идея в том, что программа все время работает фоном и как только обнаруживает запуск setup.exe, install. exe и прочих инсталляционных бинарников, начинает тщательно следить за их действиями и изменениями в системе. По ходу дела составляется база данных, в которой записаны все действия установщика: какие ключи в реестре прописал, какие файлы и где разместил — все четко по факту.
Захотел удалить программу? Ashampoo Magical UnInstall пробивает ее по базе и откатывает назад все изменения. Подход работает безотказно. Мало того, если ты по ошибке удалил не ту программу или банально передумал, то любую операцию деинсталляции можно в течение некоторого времени отменить, воспользовавшись встроенной утилитой ReInstaller. Magical UnInstall пока еще распространяется бесплатно, но лицензионный ключ придется запросить на сайте разработчиков.
Увы и ах!
Менеджер пакетов как в Linux? Увы, пока ничего не выйдет. До тех пор, пока нет стандартизированного механизма для установки, обновления и удаления приложения, репозитория для хранения программ, о каком-либо аналоге apt-get из никсов можно даже не говорить. Косяк Microsoft? Безусловно. Но ведь и разработчики открытого софта не сильно чешутся на этот счет.
Повально размещая свои проекты на Google Code, SourceForge и других ресурсах, давно можно было сообразить и что-нибудь подобное.
Только подумай: удобный менеджер приложений, в котором будет только открытый софт — каков бонус для всего опенсорса, а? Пока же придется довольствоваться разрозненными утилитами, которые даже в тандеме подчас не делают всего того, на что способны менеджеры пакетов в Linux.
Info
• Можно взять на заметку другие неплохие программы для поиска апдейтов для установленного на компьютере софта. Это SUMo (www.kcsoftwares.com) и Appupdater (www.nabber.org/projects/appupdater).
• Несколько лет назад энтузиасты пытались создать порт линуксового apt-get — так на свет появился win-get (windows-get.sourceforge.net). Написанная на Pascal’е система позволяла через консоль установить некоторые утилиты, но, к сожалению, разработка быстро заглохла. Та же судьба постигла и другие начинания: Appsnap, Appupdater и даже пытавшийся объединить все имеющиеся решения GetIt (www.puchisoft.com/GetIt).
Устанавливаем и обновляем драйвера
Пожалуй, самое ненавистное дело после переустановки системы — это даже не инсталляция всех программ. Нет! Есть монстр куда хуже — драйвера. Когда я впервые увидел Windows 7, хотелось закричать: «Свершилось!». Да, система через Windows Update потягивает практически все необходимые дрова, и в этом я уже не раз убеждался.
В результате уже не приходится ломать голову, какие неизвестные девайсы прописались в менеджере устройств — все устанавливается автоматом. Но как быть с ранними версиями винды и как в принципе обновить драйвера? Наш ответ — DriverMax (www.innovative-sol.com/drivermax).
Эта небольшая утилита позволит быстро стянуть из инета последнюю версию дров для самых разных устройств. Забудь про мучительные поиски редкого драйвера или давно пропавшего диска из «коробочки» — просто создай бесплатный аккаунт на сервисе и скачай все, что нужно.
Впрочем, программа будет полезна даже в том случае, если ты такому подходу не доверяешь и предпочитаешь скачивать системное ПО с официальных сайтов. Drivermax имеет еще одну важную функцию — бэкап всех драйверов в системе. Поэтому после переустановки системы инсталляция всех драйверов займет всего пару минут и потребует минимум усилий. Хочется признаться, что пару раз драйвера с помощью DriverMax я всетаки не находил, но быстро исправлял ситуацию с помощью другой утилиты — Device Doctor (www.devicedoctor.com).
Авто-апдейт от Google
Если ты когда-нибудь скачивал Google Chrome, то знаешь: вместо оффлайн-дистрибутива браузера ты сливаешь лишь оболочку-инсталлятор, который уже, в свою очередь, в зависимости от ОС и прочих параметров, докачивает все необходимое. А если заходил когда-нибудь на страницу pack.google.com, то, наверное, обязательно обращал внимание на программу, которая разом устанавливает или обновляет в системе продукты от Google. Такая система интеллектуальной установки и автоапдейта называется Google Update или omaha. Этот проект развивается под открытой лицензией и всегда доступен с code.google.com/p/omaha. Важно, что это не просто программа, а продуманная в архитектурном плане система, позволяющая легко устанавливать и обновлять различные приложения — то, чего не хватает в современной винде, чтобы сделать репозиторий с софтом и менеджер пакетов а-ля Linux.
Источник: xakep.ru