Microsoft Linux Package Repositories
Overview
The Microsoft Linux Package Repositories are hosted on PMC (packages.microsoft.com) service. The PMC service is intended to support package hosting for customers with clients running a distribution of Linux. Microsoft builds and supports a variety of software products for Linux systems and makes them available via standard APT and YUM package repositories.
Configuring the repository on your Linux system
See how to host/install/upgrade Microsoft’s Linux software using your distribution’s standard package management tools.
Microsoft’s Linux Software Repository is comprised of multiple repositories:
prods – These Production repositories (e.g. Ubuntu, Fedora, RHEL, etc.) are designated for packages intended to be used in production. These packages are commercially supported by Microsoft under the terms of the applicable support agreement or program that you have with Microsoft. The prod repositories can be located via hierarchical folder structure (e.g. https://packages.microsoft.com/fedora/36/prod/).
mssql-server – These repositories contain packages for Microsoft SQL Server on Linux – See also: SQL Server on Linux.
Note: Packages in the Linux software repositories are subject to the license terms located in the packages. Please read the license terms prior to using the package. Your installation and use of the package constitutes your acceptance of these terms. If you do not agree with the license terms, do not use the package.
How can we make PMC service work for you?
Report an issue: Help us improve our service by reporting issues you are experiencing
Request a feature: Request a new feature or enhancement
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
Trademarks
Windows Package Manager Community Repository




This repository contains the manifest files for the Windows Package Manager default source. You are highly encouraged to submit manifests for your favorite application.
Note: At this time installers must be MSIX, MSI, APPX, or .exe application installers. Script-based installers and fonts are not currently supported.
The Windows Package Manager is an open source client designed for command-line usage. If you are interested in exploring third-party repositories offering private winget package hosting, see third-party repositories.
Submitting a Package
- Follow the Contributing guidelines below.
- Author a Manifest.
- Test your manifest.
- Submit your pull request (PR).
- Respond to any feedback in your PR.
Note: Please check the package’s manifest you intend to submit does not already exist in the repository, and there are no open PRs for it in order to avoid duplicates.
Authoring a Manifest
A few different tools are available to help you author a manifest.
- Windows Package Manager Manifest Creator
- YamlCreate.ps1
- Other WinGet Manifest Creators developed by the community:
- Komac – Kotlin Manifest Creator for WinGet (maintained by @russellbanks)
Note: Only one manifest may be submitted per PR.
Test your manifest
Now that you have authored your manifest, you should make sure it works as expected.
Locally
- Verify the syntax by executing the following command:
<div data-snippet-clipboard-copy-content="winget validate “>
winget validate <path-to-manifest>
- Test the install by executing the following command:
<div data-snippet-clipboard-copy-content="winget install -m “>
winget install -m <path-to-manifest>
In Windows Sandbox
You can use the Sandbox Test PowerShell script for testing a manifest installation in Windows Sandbox. The manifest will be also validated.
Just provide the path to manifest as parameter:
<div data-snippet-clipboard-copy-content=".\Tools\SandboxTest.ps1 “>
.\Tools\SandboxTest.ps1 <path-to-manifest>
Submit your PR
With the manifest verified, you will need to submit a PR. Your manifest should be located in the folder path matching
<div data-snippet-clipboard-copy-content="manifests\\\\\”>
manifests\<first lower case letter of publisher>\<publisher>\<package>\<version>\
Validation Process
Respond to PR feedback
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
To avoid doubt, you may not make any Submissions linking to third party materials if such Submission is prohibited by the applicable third party and/or otherwise violates such third party’s rights.
В Windows 10 и 11 появился собственный встроенный менеджер пакетов WinGet (Windows Package Manager), который можно использовать для установки приложений из командной строки (по аналогии с пакетными менеджерами Linux, например yum, dnf, apt и т.д.).
WinGet.exe
это консольная утилита, которая позволяет упростить установку программ в Windows. Благодаря winget, вам не нужно искать официальные сайты, скачивать установочные файлы, и устанавливать программы вручную. С помощью Windows Package Manager вы можете установить любую программу из репозитория с помощью всего одной команды.
Установка менеджера пакета WinGet в Windows 10
Менеджер пакетов WinGet можно установить в Windows 10, начиная с билда 1709. В актуальных билдах Windows 11 21H2 и Windows 10 21H1 winget уже встроен в образ.
Чтобы проверить, установлен ли winget на вашем компьютере, откройте консоль PowerShell и выполните команды:
В нашем случае winget (имя UWP приложения Microsoft.DesktopAppInstaller) установлен.

Winget поддерживается только для десктопных версий Windows (10 и 11). Для Windows Server 2022 winget официально не поддерживается, но может быть установлен в экспериментально режиме.
Вы можете установить WinGet через Microsoft Store (там он называется App Installer) по ссылке https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1#activetab=pivot:overviewtab

Для установки Winget на вашем компьютере должен работать MS Store (если Microsoft Store удален или поврежден, можно восстановить его).
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.1.12653/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\PS\WinGet.msixbundle"


Проверьте установленную версию winget командой:

Основные команды winget:
-
winget install <пакет>
— установка пакета -
winget uninstall <пакет>
— удаление пакета -
winget upgrade
– обновление пакета программы -
winget list
– вывести установленные пакеты -
winget show < пакет >
— показать информацию о пакете -
winget source < опции >
— управление репозиториями пакетов -
winget search < поисковая строка >
— поиск пакетов в репозиториях -
winget export
– экспорт списка установленных программ в файл -
winget import
– установка программ (пакетов) по списку в файле -
winget hash < пакет >
— получить хэш установщика пакета -
winget validate < пакет >
— проверить файл манифеста

Установка программ в Windows с помощью WinGet
Для установки программ с помощью менеджера пакета WinGet используются онлайн репозитории. Их список можно вывести командой:
winget source list
По умолчанию в WinGet доступны два официальных репозитория WinGet:
- msstore (https://storeedgefd.dsx.mp.microsoft.com/v9.0) репозиторий Microsoft Store
- winget (https://winget.azureedge.net/cache) репозиторий программ, поддерживаемый Microsoft
Вы можете подключить стороннни репозитории в WinGet. Добавить другие источники можно с помощью команды
winget source
.
Прежде чем установить программу из репозитория WinGet, нужно узнать имя пакета. Для поиска пакетов используется команда search. Например, чтобы найти zip архиваторы во всех доступных репозиториях, выполните команду:
winget search zip
Если вы хотите искать программу только в репозитории Microsoft Store, выполните:
winget search zip -s msstore
Команда вернет список пакетов (с названиями и версиями), соответствующих вашему запросу. Обратите внимание на столбец Source. В нем указан репозиторий, в котором найден пакет.

Можно получить информацию о конкретном пакете:
winget show 7zip.7zip

В репизитории может хранится несколько версий пакета, чтобы показать список доступных версий пакета, выполните:
winget show 7zip.7zip --versions
Например, вы хотите установить архиватор 7zip. Скопируйте его имя или ID и выполните команду установки:
winget install 7zip.7zip

По-умолчанию устанавливается последняя доступная версия программы. Можно установить определенную версию пакета:
winget install 7zip.7zip -v 21.05
Как вы видите, менеджер пакетов WinGet автоматически скачал и установил приложение. Всего одной командой. Программа появилась в списке установленных программ в стартовом меню Windows.

Теперь установим, например, Windows Terminal и VSCode для написания PowerShell скриптов:
Сначала ищем имена пакетов:
winget search terminal
winget search "visual studio"
Затем устанавливаем их по очереди:
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
Если вы хотите запустить установку пакета программы в фоновом режиме, используйте параметр
--silent
:
winget install "VLC media player" --silent
При установке некоторых программ можно автоматически принять условия использования. Например, при установке набора утилит sysinternals:
winget install sysinternals --accept-package-agreements
По умолчанию программы устанавливаются на системный диск в каталоги Program Files. Вы можете изменить каталог установки программы:
winget install microsoft.visualstudiocode --location "D:\Programs"
Обратите внимание, что при запуске winget без прав администратора, при установке некоторых программ может появится запрос UAC на повышение привилегий. При запуске winget в командной строке/консоли PowerShell с правами администратора, все программы устанавливаются без запроса UAC (будьте внимательными, устанавливайте только те приложения, которым доверяете).
Winstall – графической интерфейс для менеджера пакетов WinGet
Пользователи, которым некомфортно работать в командной строке winget, могут использовать веб-сервис Winstall (https://winstall.app/). Winstall представляет собой графический интерфейс для репозитория WinGet (для установки доступно более 2900 программ).
С помощью сервиса Winstall можно сгенерировать скрипт установки нужных вам программ. Найдите программы в репозитории и нажмите + для добавления их в скрипт установки.

Затем нажмите на кнопку Generate Script и сервис сформирует для вас команду установки выбранных приложений.
Скопируйте код со вкладки Batch или PowerShell и вставьте его соответственно в cmd.exe или PowerShell консоль.

Так, с помощью всего одной команды вы можете установить необходимые вам программы.
Обновление и удаление программ в Windows
WinGet позволяет не только устанавливать программы, но и обновлять или удалять их. Для вывода списка установленных программ на компьютере выполните:
Команда выведет полный список программ, установленных на компьютере (включая программы, установленные не через winget). Если для программы доступно обновление, в столбце Available будет указана новая версия.

Для обновления приложения, установленного через winget, выполните команды:
winget upgrade --id 7zip.7zip
Можно обновить сразу все установленные программы:
winget upgrade --all
Для удаления программ используется команда:
winget uninstall --name 7zip.7zip
Вы также можете удалить приложения, установленные не через WinGet по их ID:
Экспорт и импорт установленных приложений на другие компьютеры
С помощью WinGet вы можете экспортировать в JSON файл список приложений, установленных на компьютере и затем использовать этот файл для быстрой установки того же набора приложений на другом компьютере.
Для экспорта списка приложений в файл, выполните:
winget export -o c:\ps\installedapps.json --include-versions
Если для программы отсутствует манифест, то команда выведет ошибку «
The installed package is not available in any source
«.
Файл содержит список программ, установленный через Windows Package Manager.

Чтобы установить список программ из json файла на другом компьютере, выполните команду:
winget import -o .\installedapps.json
Можно указать, чтобы менеджер пакетов игнорировал версии и недоступные программы при установке, нужно добавить параметры
--ignore-unavailable
и
--ignore-versions
.
Как вручную скачать MSU файлы обновлений для Windows?
Microsoft выпускает обновления и патчи в формате CAB файла. Именно в таком виде ваш компьютер получает обновления с серверов обновлений Microsoft или локального сервера WSUS. Для более удобного ручного распространения отдельных обновлений клиентами через каталог обновлений Microsoft, такие CAB файлы упаковываются в специальный формат MSU (Microsoft Update Standalone Package).

Переместите скачанный файл ssu-19041.1704-x64_70e350118b85fdae082ab7fde8165a947341ba1a.msu в каталог C:\temp. Переименуйте файл на более короткое имя — windows10-21h2-kb5014032.msu.
Установка обновлений из MSU файлов в Windows
Для запуска установки пакета обновления в Windows достаточно дважды щёлкнуть по скачанному MSU файлу. Если обновление применимо к данному компьютеру, откроется диалоговое окно Автономного установщика обновлений Windows (Windows Update Standalone Installer), в котором нужно подтвердить установку апдейта.

При установке MSU обновления может появится ошибка “Обновление неприменимо к этому компьютеру”. Причины этой ошибки подробно разобраны в статье по ссылке.
Также вы можете установить msu пакет обновления из командной строки с помощью утилиты wusa.exe.
Для установки обновления в «тихом» режиме (пользователю не будут показываться никакие всплывающие окна) с отложенной перезагрузкой, откройте командную строку с правами администратора и выполните команду:
wusa.exe c:\Temp\windows10-21h2-kb5014032.msu /quiet /norestart
Через некоторое время проверьте, что обновление успешно установлено:

Или найдя в журнале событий Установка (Event Viewer -> Windows Logs -> Setup) запись с Event ID 2 от источника WUSA с текстом:
Windows update "Security Update for Windows (KB5014032)" was successfully installed. (Command line: "wusa.exe c:\Temp\windows10-21h2-kb5014032.msu /quiet /norestart ")
Обновление Windows "Security Update for Windows (KB5014032)" было успешно установлено. (Командная строка: C:\Windows\system32\wusa.exe c:\Temp\windows10-21h2-kb5014032.msu /quiet /norestart)

Обратите внимание, что установка обновлений в msu формате в Windows через wusa.exe выполняется медленнее, чем при установке того же обновления в виде cab файла. Причина в выполнении дополнительного сканирования на серверах Windows Update/WSUS. См статью о медленной установке msu обновлений.
Как извлечь CAB файл из MSU обновления?
Если служба Windows Update (wuausrv) работает некорректно, вы не сможете установить обновление из MSU файла. В этом случае можно вручную распаковать пакет MSU, извлечь из него CAB файл обновления и вручную установить его в Windows.
Чтобы распаковать MSU пакет в каталог C:\Temp\kb4056887 (каталог нужно предварительно создать), выполните следующую команду:
expand -f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887

Microsoft (R) File Expansion Utility Version 10.0.10011.16384
Copyright (c) Microsoft Corporation. All rights reserved.
Adding C:\Temp\kb4056887\WSUSSCAN.cab to Extraction Queue
Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab to Extraction Queue
Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64-pkgProperties.txt to Extraction Queue Adding C:\Temp\kb4056887\Windows10.0-KB4056887-x64.xml to Extraction Queue
Expanding Files ....
Expanding Files Complete ...
4 files total.
Как вы видите в каталоге появилось 4 типа файлов:
- .xml файл (Windows10.0-KB4056887-x64.xml) — содержит метаданные пакета msu и используется программой Wusa.exe
- .cab файл (Windows10.0-KB4056887-x64.cab — один или несколько) – непосредственно архив с обновлением Windows
- *pkgProperties.txt файл (Windows10.0-KB4056887-x64-pkgProperties.txt)– содержит свойства пакета (дата выпуска, архитектура, тип пакета, ссылка на KB и т.д.)
Также вы можете открыть любой MSU файла с помощью утилиты 7-ZIP и извлечь из него CAB файл.

Установка CAB файла обновлений в Windows 10/11
Вы можете установить CAB файл обновления в Windows двумя способами.
Наиболее универсальный способ установки обновления из CAB файл – утилита DISM.exe. Команда установки может быть такой:
DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab
Deployment Image Servicing and Management tool
Version: 10.0.10240.16384
Image Version: 10.0.10240.16384
Processing 1 of 1 - Adding package Package_for_KB4056887~31bf3856ad364e35~amd64~~10.0.1.0
[==========================100.0%==========================]
The operation completed successfully.

Примечание. Обратите внимание, как быстро происходит установка пакета через DISM по сравнению со скоростью установки обновления из MSU файла.
Если нужно установить CAB пакет в тихом режиме и подавить запрос на перезагрузку компьютера после установки обновления, команда DISM будет такой:
start /wait DISM.exe /Online /Add-Package /PackagePath: c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab /Quiet /NoRestart
Команда DISM.exe /Add-Package позволяет установить и MSU обновление (поддерживается только установка в офлайн образ Windows). Также вы можете в параметре
/PackagePath
указать путь к каталогу, в котором хранятся MSU и CAB файлы обновлений. DISM рекурсивно просканирует указанные каталог и вложенные папки и установит в образ Windows все найденные CAB и MSU пакеты.
Здесь нужно отметить, что команда DISM.exe /Add-Package не проверяет зависимости и требования к окружению при добавлении CAB файла в образ Windows (в отличии от wusa.exe которая предварительно проверяет, применимо ли MSU обновление к компьютеру.
Для установки CAB файлов в образ Windows вместо команды DISM /Add-Package можно использовать PowerShell командлет
Add-WindowsPackage -Online -PackagePath "C:\win10_kb123456.cab"
В Windows 8 и Windows 7 можно установить обновление с помощью менеджера пакетов Pkgmgr. Команда:
start /w Pkgmgr /ip /m:c:"c:\Temp\kb4056887\Windows-KB123456.cab"
Примечание. В Windows 10 / Windows Server 2016 менеджер пакетов PkgMgr.exe более не поддерживается. При его запуске появляется предупреждении о необходимости использовать для управления пакетами DISM.exe.
Note: The PkgMgr.exe has been deprecated. Please update your scripts to use dism.exe to extract, install, uninstall, configure and update features and packages for Windows.

Примечание. Обратите внимание, что языковые пакеты Windows (MUI) также распространяются в формате CAB. Однако не получиться использовать для их установки команду DISM. Вместо этого, для установки новых языков в систему нужно использовать отдельную утилиту lpksetup.exe.
Вы можете добавить в контекстное меню File Explorer контекстное меню для установки CAB файлов. Для этого добавьте следующие *.reg файл в реестр:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs]
[HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs]
@="Install"
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs\Command]
@="cmd /k dism /online /add-package /packagepath:\"%1\""
Теперь для установки CAB файла нужно выбрать пункт Install в контекстном меню.

Установка CAB и MSU обновления с помощью скриптов
Если вам нужно установить сразу несколько CAB или MSU обновлений на компьютере, вы можете использовать BAT и PowerShell скрипты. Благодаря таким скриптам вам не придется по ставить обновления вручную по одному.
Создайте на диске каталог с обновлениями и скопируйте в него все MSU файлы, которые нужно обновить. Теперь для установки всех обновлений из указанного каталога, достаточно запустить скрипт install_msu.bat:
Set Folder="C:\updates"
for %%f in (%Folder%\*.msu) do (
wusa.exe %%f /quiet /norestart
)

Данная инструкция по ручной установке накопительных (если вы не помните что это такое, прочитайте статью про новую модель обновлений Windows систем) и любых других обновлений Windows применима ко всем поддерживаемым версиям ОС: Windows 11/10/8.1 и Windows Server 2022/2019/2016/2012R2.
Получаем установочные файлы APPX приложений из Microsoft Store
- Откройте браузер, перейдите в магазин приложений Microsoft (https://www.microsoft.com/en-us/store/apps/windows?icid=CNavAppsWindowsApps) и откройте страницу нужного вам приложения. Скопируйте из адресной строки URL адрес приложения в магазине. В нашем примере мы скачаем установочные APPX файлы для приложения iTunes. URL адрес этого приложения https://www.microsoft.com/en-us/p/itunes/9pb2mz1zmb1s?cid=msft_web_chart ;
- Откройте веб сайт https://store.rg-adguard.net/ (данный онлайн сервис Online link generator for Microsoft Store позволяет получить прямые ссылки на установочные APPX файлы приложений магазина). Вставьте в строку поиска URL ссылку на iTunes и в выпадающем списке выберите Retail;
- Перед вами откроется список ссылок на установочные файлы appx приложений и необходимых зависимостей. Зависимости – это приложений или библиотеки, которые нужно установить для корректной работы iTunes;

- Как вы видите, в списке довольно много файлов. Не нужно скачивать их все. В первую очередь определите битность своей Windows Для Windows 10 x64 нужны пакеты, имена которых заканчиваются на
x64
(для 32 битной версии Windows 10 нужно скачать
x86
пакеты, а для ARM-версии Windows –
arm
);
- Также обратите внимание на версии файлов зависимостей. Не нужно качать все файлы подряд. Как правило, достаточно скачать самую последнюю версию приложения. Например, в нашем примере нужно скачать только последнюю версию библиотеки
Microsoft.VCLibs.140.00.UWPDesktop
; - Если в полученном списке файлов есть также пакеты с расширением appxbundle, скачайте их также. Если у скачанного файла нет расширения, добавьте расширение. appxbundle вручную;
Также в Microsoft Store могут быть и другие форматы установочных файлов: .msixbundle (MSI установщик) и .EAppx (обновление appx приложения).
- Скачайте все выбранные вами APPX и APPX bundle файлы. В моем примере список файлов получился таким:
Microsoft.VCLibs.140.00.UWPDesktop_14.0.30035.0_x64__8wekyb3d8bbwe.Appx
AppleInc.iTunes.MobileDeviceSupport_14050.7.53001.0_neutral_~_nzyj5cx40ttqa.AppxBundleAppleInc.iTunes.iPodVoiceOver_1430.3.53001.0_neutral_~_nzyj5cx40ttqa.AppxBundle
AppleInc.iTunes_12113.17.53090.0_neutral_~_nzyj5cx40ttqa.AppxBundle

Итак, вы скачали все необходимые файлы APPX приложения из Microsoft Store. Ручная установка APPX приложений из скачанных файлов описана в последнем разделе этой статьи.
Как скачать APPX файл универсального приложения с помощью Fiddler?
Есть более сложный способ получения ссылки на установочные APPX файлы приложения из магазина Microsoft. При установке любого приложения, клиент Microsoft Store на вашем компьютер получает прямую HTTP/HTTPS ссылку на загрузку .appx файла. Вы можете перехватить URL этой прямой ссылки с помощью утилиты Fiddler, использующейся для инспектирования и отладки HTTP трафика.

После установки запустите fiddler.exe с правами администратора. В открывшемся окне нажмите кнопку WinConfig в панели навигации.
Откроется окно расширения AppContainer Loopback Utility. В данном списке нужно выбрать универсальные UWP приложения, трафик которых нужно перенаправлять на Fiddler. Чтобы уменьшить количество «паразитного» трафика, получаемого Fiddler-ом от других приложений, в списке выберите только приложение Microsoft Store и сохраните изменения (Save Changes).

В основном окне Fiddler нужно очистить текущий лог — Edit -> Remove -> All Sessions (Ctrl + X).

Теперь нужно запустить магазин приложений Microsoft, найти нужное приложение, и запустить его установку (в качестве примере, попробуем получить ссылку на установочный appx файл приложения Calculator Free).

Переключитесь в окно Fiddler и следите за устанавливаемыми HTTP сессиями приложения Store. Их довольно много. Чтобы найти событие получения доступа к URL с файлом приложения, воспользуемся поиском по сессиям (Find -> appx).

Fiddler желтым цветом подсветит URL адреса с ключевым словом appx в URL. В нашем примере нас интересует строка (Result: 200, Protocol: HTTP, Host: tlu.dl.delivery.mp.microsoft.com). Скопируйте полученный URL адрес в буфер обмена, выбрав в контекстном меню Copy -> Just Url .

В моем примере URL получился таким
_http://tlu.dl.delivery.mp.microsoft.com/ filestreamingservice/files/33e08cf2-faf3-4e23-a9a3-5d7c0502a6a4?P1=1627653445& P2=404&P3=2&P4=F%2fZeZWLKUurYuEwkJjnfuFc9zUJxjfiKD%2fGpH5OdktlnVwrfdcLsHeQER5c1RA5b%2fwH1ZVPQ8cJLOgWcoKEXjg%3d%3d

Установка приложения из Appx/AppxBundle файла в Windows 10
Полученные appx (appxbundle) файлы приложения и зависимости теперь можно скопировать на другой компьютер с Windows 10 (Windows Server 2016/2019) и установить в офлайн режиме, минуя Microsoft Store с помощью простого двойного щелчка по appx файлу.

Также вы можете установить APPX приложение со всеми зависимостями с помощью PowerShell. Отдельное APPX приложение файл можно установить из файла следующей командой:


Проверьте, что ваше приложение установилось и его значок появился в меню Пуск.
Если попытаться установить APPX приложение без предварительной установки зависимостей, появится ошибка:
Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation.
Windows cannot install resource package xxxxxx because the app package it requires could not be found. Ensure that the app package is installed before installing the resource package.
Графический установщик может показать пакет, который нужно установить:
Установщику приложений не удалось установить зависимости пакетов. Попросите у разработчика ИМЯ_ПАКЕТА.
Статья открывает цикл уроков, посвященный языку программирования C# и платформе .NET. В этом уроке будет рассмотрен вопрос установки .NET, познакомимся со средами разработки для языка C# и создадим “Hello, World!”-проект.
Платформа. NET и язык C#
.NET является программной платформой, разработанной компанией Microsoft. Выделим некоторые из ее особенностей:
- Мультиязыковая ориентированность. Основным языком программирования для , помимо него платформа поддерживает еще ряд языков: и др. Эта возможно благодаря тому, что в основе платформы лежит общеязыковая среда исполнения Common Language Runtime (CLR). Код на любом из поддерживаемых языков компилируется в сборку на языке CIL (Common Intermediate Language) – аналог ассемблера для , что позволяет разрабатывать отдельные части приложения на разных языках.
- Кроссплатформенность. Еще одной особенностью платформы является поддержка большинства современных ОС (Windows, MacOS, Linux). Это позволяет заниматься разработкой приложений на языке на той ОС которая вам ближе, а запускать их можно на разных ОС и архитектурах.
- Обширная библиотека классов. Платформа включает в себя большое количество библиотек классов. Все они доступны для любого поддерживаемого языка. Внутри библиотек можно найти готовые инструменты для решения широкого круга задач.
- Широкий спектр решений для создания приложений. В рамках платформы разработчик получает доступ к большому количеству инструментов для решения различных задач: для работы с базами данных, для разработки десктопных графических приложений, для разработки веб-приложений, разработки и т.д.
На текущий момент язык программирования – это отличный инструмент для решения практически любых задач. Он является объектно-ориентированным, синтаксически похож на . По данным рейтинга TIOBE Index C# занимает пятое место на момент написания статьи (2020).
Версии. NET
Первая версия платформы называлась , она была представлена в 2002 году. Долгое время она существовала преимущественно для операционной системы . В 2016 году выпустила полностью кроссплатформенную среду с открытым исходным кодом для разработки ПО под операционные системы Windows, Linux и MacOS. В этом временном промежутке было несколько попыток создать кроссплатформенную версию , среди проектов, которые получили популярность можно отметить (ранее Novell). Проект был представлен в 2004, неплохо развивался, и в 2016 году была добавлена в IDE Visual Studio как бесплатный инструмент.
На текущий момент мы находимся на пороге нового витка развития – это появление . Это важный этап развития платформы, начиная с которого станет полностью открытой кроссплатформенной средой для всех популярных ОС, больше не будет отдельной версии включит в себя все наработки, которые были сделаны за это долгое время. О том, как она выглядит структурно можете посмотреть на картинке ниже.

(Изображение взято с блога Microsoft)
Установка. NET
.NET Framework
.NET Core
Выберите в таблице – .NET Core 3.1

В следующем окне вы увидите разные релизы платформы, нас интересует самый верхний. В строке нужного релиза найдите раздел Build apps – SDK.

В зависимости от ОС, под которой вы будете разрабатывать, нажмите на соответствующую ссылку для скачивания дистрибутива.

Установка для Windows
Выберете дистрибутив под и дождидесь его скачивания. После запуска файла установки, на первом экране вы увидите краткую информацию о продукте. Нажмите на кнопку “Установить”.

Начнется установка компонентов платформы . Если все пройдет успешно, то в конце этого процесса будет представлен отчет об установке.

На этом процесс установки для можно считать завершенным.
Установка .NET на Linux
Перейдите на страницу официальной документации Microsoft по установке .NET Core и убедитесь, что ваша операционная система (тип и версия) поддерживает возможность установки .NET Core.
Далее рассмотрим пример для Ubuntu. Перейдите в соответствующий раздел документации, нас интересует Ubuntu 20.03 и .NET Core 3.1
Согласно приведенной инструкции нужно выполнить несколько шагов. Добавьте ключ подписывания пакета Microsoft в список доверенных ключей и добавьте репозиторий пакетов:
> wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
> sudo dpkg -i packages-microsoft-prod.deb
После этого запустите установку SDK:
> sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-3.1
Для проверки того, что .NET Core установлен на вашей Linux машине можете проверить версии пакета SDK:
> dotnet --list-sdks
3.1.202 [/usr/share/dotnet/sdk]
И проверить версии среды выполнения:
> dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Среда разработки (IDE)
Средство разработки, которое включает в себя мощный редактор кода и набор инструментов для работы с проектом, его сборки и т.п. называется . На данный момент существует несколько , в которых есть все необходимое для того чтобы начать путь разработчика на , далее будут рассмотрены процессы установки Microsoft Visual Studio, VS Code, JetBrains Rider на ОС Windows
Microsoft Visual Studio
Если ваша основная ОС это , то одним из самых мощных и удобных средств для разработки приложений под эту платформу является . Это полнофункциональная среда позволяет разрабатывать все типы приложений под Windows, Android, iOS, Linux, веб-сервисы и облачные приложения, поддерживает как . На момент написания статьи самая актуальная версия этого продукта – это Visual Studio 2019, она имеет ряд лицензий – Community, Professional, Enterprise. Для начинающего разработчика варианта будет более чем достаточно, эта лицензия позволяет разрабатывать даже коммерческое ПО, но у нее есть некоторые ограничения, более подробная информация по этому вопросу есть на официальном сайте Microsoft.

Сохраните файл установки на компьютере. Это веб-установщик, поэтому он имеет небольшой размер. Запустите его, в результате вам будет представлено окно приветствия.

Нажмите на кнопку “Продолжить” дождитесь окончания подготовительного этапа. После этого откроется окно с настройкой компонентов, для выполнения всех работ по курсу достаточно выбрать “Разработка классических приложений .NET”, “ASP.NET и Разработка веб-приложений”.

Дождитесь окончания установки, это может занять продолжительное время в зависимости от мощности вашего компьютера и скорости доступа в интернет.

Microsoft VS Code
Еще один продукт от , он позиционируется как легковесный редактор кода, включает в себя отладчик, инструменты для работы с , подсветку синтаксиса, IntelliSense, средства для рефакторинга и многое другое. предоставляет большое количество настроек визуального оформления редактора.
Для его установки перейдите по ссылке
Нажмите на кнопку “Download for Windows” и сохраните дистрибутив на свой компьютер.

Запустите скачанный файл. Нажмите “Далее” в окне с лицензионным соглашением.

В следующем окне оставьте все галочки без изменений и нажмите “Далее”.

В последнем окне нажмите кнопку “Установить” и дождитесь окончания установки.


JetBrains Rider
Познакомимся еще с одной теперь от другого разработчика – это кроссплатформенная интегрированная среда разработки ПО для платформы Для ее скачивания перейдите по следующей ссылке


” и выберите место установки. На следующем экране можно произвести дополнительные настройки ассоциации файлов или оставить все как есть, после этого нажмите кнопку “”, а затем “

Дождитесь окончания установки.

Онлайн интерпретаторы
Если вы хотите быстро проверить работу вашего кода, то лучше всего для этого подойдет онлайн интерпретатор . Далее приведены несколько проектов, которые можно использовать для этой цели:
“Hello, World” на C#
Создание проекта в Microsoft Visual Studio (Windows)
Создадим первый проект на языке . Для этого запустите , при первом запуске появится окно “Добро пожаловать”.

Далее выберите тему по вкусу и нажмите “Запуск

Все подготовительные шаги пройдены, нажмите на кнопку “Создание проекта”.

Выберете шаблон “Консольное приложение” и нажмите “Далее”.

Укажите имя проекта, например “” и место где он будет сохранен.

В результате будет открыто окно с созданным проектом.

using System; // Подключаем библиотеку System
// Пространство имен, с классом Program
namespace MyFirstProject
{ // Объявление класса Program
class Program
{ // Точка входа. Метод, который будет запущен первым при старте приложения
static void Main(string[] args)
{ // Вывод текста "Hello World!" в консоль
Console.WriteLine("Hello World!");
}
}
}Запустим наше приложение и посмотрим, что произойдет.
Для этого можно использовать несколько способов:
- На панели вверху нажать кнопку с изображением зеленого треугольника. Название у кнопки будет такое же как у вашего “решения”.
- Нажать сочетание клавиш Ctrl + F5, запустится “решение” без отладки, либо для режима отладки.
- Через панель меню: Отладка -> “Запуск без отладки”
Запустите приложение любым вышеописанным способом, в результате появится консоль, в которой будет выведено сообщение “

Процесс запуска приложения “под капотом” достаточно сложен, он включает в себя создание ряда каталогов, компиляцию проекта в сборку (файл с расширением .exe) и непосредственно запуск получившегося файла. Результат сборки вы можете найти в папке – если выбран режим сборки , либо в – если выбран . Режим по умолчанию – это
Создание проекта с использованием средств .NET Core (Windows и Linux)
В этом разделе мы познакомимся с консольным инструментом для создания, сборки и запуска проектов. Приведенный подход работает в Windows и Linux. Перейдите в каталог, в котором вы хотите работать с вашим проектом. Откройте консоль (если вы работаете в , то нажмите сочетание клавиш), и с помощью команды перейдите в папку с проектом:
> cd c:\MyFirstProject
Для создания проекта в dotnet new, после которой указывается тип проекта. Так как мы будем работать с консольным приложением, то нужно указать тип console
> dotnet new console
После выполнения команды в папке с проектом будет размещен необходимый набор файлов. Для запуска проекта воспользуйтесь командой:
> dotnet run
Как и в случае с проектом в , в консоли будет выведен текст “Hello World!”.
Поработаем над кодом программы: вместо текста выведем текущую дату. Для этого в файле
Сохраните файл и выполните команду:
> dotnet run
Вместо текста в консоли должна появиться текущая дата.
Компиляция файла с исходным кодом вручную (Windows)
Познакомимся с компилятором (только для Windows). Создайте пустой каталог, а в нем файл Program.cs. Откройте его текстовым редактором и внесите туда следующий код:
using System;
namespace FirstApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(DateTime.Now);
}
}
}В меню “Пуск” найдите и откройте “Developer Command Prompt for VS 2019”, перейдите в каталог с файлом и выполните в нем команду:
> csc.exe Program.cs
Если компиляция прошла успешно, то должен появиться файл . Запустите его для этого введите в терминале:
> Program.exe
В результате должны быть выведены текущие дата и время.
Распространяемые пакеты Microsoft Visual C++ (Visual C++ Redistributable) содержат необходимые компоненты для запуска игр и программ, разработанных с помощью соответствующих версий Visual Studio и, как правило, нужны при ошибках вида «Запуск программы невозможен» так как файлы DLL с названиями, начинающимися с msvcr или msvcp отсутствуют на компьютере. Чаще всего требуются компоненты Visual Studio 2012, 2013 и 2015, но есть возможность загрузки и установки распространяемых пакетов Visual C++ 2005-2019.
Как скачать и установить Visual C++ Redistributable 2008-2019
Далее в инструкции способы скачать распространяемые компоненты Visual C++ для Windows 10, 8.1 и Windows 7, x64 и x86 (32-бит) официальным способом с сайта Майкрософт и путем установки из стороннего источника, о проблемах, с которыми можно столкнуться при установке и дополнительная информация, которая может оказаться полезной.
Загрузка распространяемых пакетов Visual C++ с сайта Майкрософт
- Visual Studio 2015-2019 — при установке этого набора устанавливаются все необходимые компоненты Visual C++ 2015, 2017 и 2019 в рамках одного файла установщика.
- Visual Studio 2013 (Visual C++ 12.0)
- Visual Studio 2012 (Visual C++ 11.0)
- Visual Studio 2010 SP1
- Visual Studio 2008 SP1
Порядок загрузки компонентов будет следующим:
- Зайдите на официальную страницу https://support.microsoft.com/ru-ru/help/2977003/the-latest-supported-visual-c-downloads и выберите нужный компонент.
- Для Visual C++ 2015-2019 достаточно напрямую скачать и установить файлы vc_redist.x86.exe и vc_redist.x64.exe

- Для компонентов Visual C++ 2013 после выбора «распространяемые пакеты Microsoft Visual C++ для Visual Studio 2013» вы попадете на страницу с двумя списками установщиков — x64 и x86, для каждого языка отдельная ссылка. Загрузите компоненты по нужной ссылке (русский язык на изображении ниже не поместился, но доступен).

- Для некоторых компонентов (например, для версии Visual C++ 2012) вы увидите предложение войти с вашей учетной записью Майкрософт. Но делать это не обязательно — ниже в этой статье я дам ссылки на прямую загрузку с сайта Майкрософт без необходимости входа.
Также на сайте Майкрософт доступны отдельные страницы для загрузки распространяемых пакетов Microsoft Visual C++ список таких страниц далее:
- Visual C++ 2013 — https://support.microsoft.com/ru-ru/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package (во второй части страницы есть прямые ссылки для скачивания x86 и x64 версий).
- Visual C++ 2010 — https://www.microsoft.com/ru-ru/download/details.aspx?id=26999
- Visual C++ 2008 — https://www.microsoft.com/ru-ru/download/details.aspx?id=26368
- Visual Studio 2017 (x64) — https://go.microsoft.com/fwlink/?LinkId=746572
- Visual С++ 2015 — https://www.microsoft.com/ru-ru/download/details.aspx?id=53840 и https://www.microsoft.com/ru-ru/download/details.aspx?id=52685
После скачивания нужных компонентов Visual C++, запускаем загруженные файлы и проходим весь процесс установки.

Возможные проблемы при установке:
- Если при установке отдельных компонентов вам сообщат, что они уже есть на компьютере, попробуйте установщик другой разрядности (возможно, не хватает именно его).
- Если вы уверены, что проблемы при запуске программ или игр вызваны каким-то набором компонентов, но он не устанавливается, посмотрите: присутствует ли он в списке в Панель управления — Программы и компоненты. Если да, то попробуйте удалить его там и заново запустить установщик.
- Если вы отключали какие-либо службы Windows 10, 8.1 и Windows 7, связанные с обновлениями или «установщиком Windows», это может приводить к ошибкам при установке библиотек Visual C++.
Windows 10 and 11 come with many built-in Store apps that may not be useful to you. As you may have known, PowerShell allows you to uninstall individual apps or all apps using a single command.
Get-AppXPackage | Remove-AppxPackage
You'll need a new app to open this ms-windows-store link

This post tells you how to get back the Microsoft Store app if it’s missing after a reset or if you’ve uninstalled it accidentally using PowerShell.