Установка и настройка пакета sdk для microsoft information protection (mip)microsoft information protection (mip) sdk setup and configuration

Пора определяться

Начнем с того, что определим, что такое SDK и зачем он может быть нужен.

Что ж, логично. Простыми словами, SDK — это пакет библиотек, для того, чтобы клиент мог легко и быстро начать работать с вашей системой (в данной статье речь пойдет про наш сервис, но всё изложенное в статье применимо и к другим видам SDK) или выполнять однотипные действия.

Но, как и у любого подхода, у «Пути SDK» есть как преимущества, так и недостатки.

Преимущества

Высокая скорость интеграции нового клиента — вашим клиентам нужно писать меньше кода.

Переиспользование кода — один и тот же код используется сразу в нескольких местах. Можно сказать, что это дублирование предыдущего пункта, но речь идет о том, что логика работы везде одинокава, из чего следует

Предсказуемость поведения — использование одних и тех же библиотек приводит поведение систем к определенному стандарту, что сильно облегчает поиск и устранение ошибок и уязвимостей.

Качество кода — много где любят экономить на тестировании (жалко бюджета, горят сроки и прочие причины). Понятно, что в реальном мире покрыть тестами все участки проекта это учень трудоемкая задача. Но качественно протестировать все модули SDK, а затем использовать их — это путь повышения процента покрытия тестами, что приведет вас к снижению количества ошибок.

Документация — тот же сценарий, что и с тестами. Покрыть документацией весь проект достаточно проблематично. Переиспользование модулей SDK повышает процент покрытия документацией, что снижает порог вхождения новых сотрудников в проект и вообще помогает по жизни.

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

Недостатки

Высокие требования к качеству кода SDK — следствие главного преимущества. Ошибка в SDK породит ошибки во всех системах, его использующих.

Установка ограничений — SDK — это набор библиотек для реализации стандартных сценариев. Иногда разработчики SDK полагают, что кроме реализации одного из предусмотренных сценариев клиенту ничего не потребуется, что клиенту проще сделать все с нуля самостоятельно, чем строить пьедестал из костылей для SDK.

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

Когда SDK действительно нужен

У вас есть несколько стандартных сценариев, которые реализуются заново из раза в раз — собственно, наш случай.

Внутренние разработки — в разных проектах вы используете системы логирования, конфигурирования систем, работу с HttpRequest, БД, файлами? Выработайте внутренний SDK — набор библиотек для внутреннего использования. Вы в любой момент можете расширить функционал SDK, но скорость разработки новых проектов, процент покрытия тестами и документацией вырастет, а порог вхождения новых разработчиков снизится.

Когда SDK скорее всего будет лишним

Сценарии использования не определены или постоянно меняются — оставьте реализацию кастомных решений клиентам и помогите им. Не надо городить вундервафлю, которая будет только мешать. Очень актуально для молодых компаний и стартапов.

Вы не умеете делать качественно — у меня для вас плохая новость: пора учиться. Но отдавать кривое решение клиенту это очень, очень неправильно. Клиентов надо уважать, в конце концов.

Итак, мы определились, что такое SDK, с его преимуществами и недостатками и когда он нам нужен. Если после этого вы поняли, что SDK действительно нужен — приглашаю вас встать на «путь SDK» и разобраться, а каким он должен быть и как его, черт подери, делать?

Доступные пакеты SDKAvailable SDKs

Доступны следующие пакеты SDK:The following SDKs are available:

IDID ОписаниеDescription РепозиторийRepo
Пакет SDK для .NETThe .NET SDK https://github.com/dotnet/sdk
Веб-пакет SDK для .NETThe .NET Web SDK https://github.com/dotnet/sdk
Пакет SDK Razor для .NETThe .NET Razor SDK
Пакет SDK для службы рабочей роли в .NETThe .NET Worker Service SDK
Пакет SDK для WinForms и WPF*The WinForms and WPF SDK* https://github.com/dotnet/winforms и https://github.com/dotnet/wpfhttps://github.com/dotnet/winforms and https://github.com/dotnet/wpf

Пакет SDK для .NET является базовым пакетом SDK для .NET.The .NET SDK is the base SDK for .NET. Другие пакеты SDK ссылаются на пакет SDK для .NET, а проекты, связанные с другими пакетами SDK, имеют все доступные им свойства пакета SDK для .NET.The other SDKs reference the .NET SDK, and projects that are associated with the other SDKs have all the .NET SDK properties available to them. Например, веб-пакет SDK зависит от пакета SDK для .NET и пакета SDK для Razor.The Web SDK, for example, depends on both the .NET SDK and the Razor SDK.

Можно также создать собственный пакет SDK и распространять его с помощью NuGet.You can also author your own SDK that can be distributed via NuGet.

* Начиная с .NET 5.0, в проектах Windows Forms и Windows Presentation Foundation (WPF) необходимо указывать пакет SDK для .NET (), а не .* Starting in .NET 5.0, Windows Forms and Windows Presentation Foundation (WPF) projects should specify the .NET SDK () instead of . Если для параметра в таких проектах установить значение , а для параметра или  — значение , импорт пакета SDK для Windows Desktop будет выполняться автоматически.For these projects, setting to and or to will automatically import the Windows desktop SDK. Если проект предназначен для .NET 5.0 или более поздней версии и в нем указан пакет SDK , при сборке отобразится предупреждение NETSDK1137.If your project targets .NET 5.0 or later and specifies the SDK, you’ll get build warning NETSDK1137.

Библиотека пользовательского интерфейса Windows (WinUI)Windows UI Library (WinUI)

ФункцияFeature ОписаниеDescription
WinUI 2.4WinUI 2.4 WinUI 2.4 — это последний общедоступный выпуск Библиотеки пользовательского интерфейса Windows.WinUI 2.4 is the latest public release of the Windows UI Library. Все версии WinUI предоставляют широкий набор официальных элементов управления пользовательского интерфейса для приложений Windows и предоставляются как пакет NuGet, независимый от Windows SDK. Поэтому они работают в более ранних версиях Windows 10.All versions of WinUI provide a wide assortment of official UI controls for your Windows apps, and are suppplied as a NuGet package independent of the Windows SDK, so they work on earlier versions of Windows 10. Чтобы установить WinUI, выполните эти инструкции.Follow these instructions to install WinUI.
RadialGradientBrushRadialGradientBrush Новый объект в WinUI 2.4 заполняет область внутри эллипса, который определяется свойствами Center, RadiusX и RadiusY.New in WinUI 2.4, a is drawn within an ellipse defined by Center, RadiusX, and RadiusY properties. Начальный цвет градиента определяется в центре эллипса, а конечный — в конце радиуса.Colors for the gradient start at the center of the ellipse and end at the radius.
ProgressRingProgressRing Новый элемент управления ProgressRing в WinUI 2.4 используется для модальных взаимодействий, при которых действия пользователя блокируются до исчезновения ProgressRing.New in WinUI 2.4, the ProgressRing control is used for modal interactions where the user is blocked until the ProgressRing disappears. Используйте этот элемент управления, если для операции требуется приостановить значительную часть взаимодействий с приложением до ее завершения.Use this control if an operation requires that most interaction with the app be suspended until the operation is complete.
TabViewTabView Обновления элемента управления TabView обеспечивают дополнительный контроль над отображением вкладок.Updates to the TabView control provide you with more control over how to render tabs. Вы можете задать ширину невыбранных вкладок и показать только значок для сохранения экранного пространства. Кроме того, можно скрыть кнопку закрытия на невыбранных вкладках, пока пользователь не наведет указатель мыши на вкладку.You can set the width of unselected tabs and show just an icon to save screen space, and can also hide the close button on unselected tabs until the user hovers over the tab.
Элементы управления TextBoxTextBox controls Теперь, когда включена темная тема, при вставке текста цвет фона элементов управления семейства TextBox по умолчанию остается темным.When dark theme is enabled, the background color of TextBox family controls now remains dark by default on text insertion. Затронутые элементы управления: TextBox, RichEditBox, PasswordBox, Редактируемый ComboBox и AutoSuggestBox.Affected controls are TextBox, RichEditBox, PasswordBox, Editable ComboBox, and AutoSuggestBox.
NavigationViewNavigationView Элемент управления NavigationView теперь поддерживает иерархическую навигацию и режимы отображения Left, Top и LeftCompact.The NavigationView control now supports hierarchical navigation and includes Left, Top, and LeftCompact display modes. Иерархический элемент управления NavigationView полезен для отображения категорий страниц и определения страниц со связанными дочерними страницами, а также для использования приложений со звездообразной топологией страниц, когда одна страница может быть связана со многими другими страницами.A hierarchical NavigationView is useful for displaying categories of pages, identifying pages with related child-pages, or using within apps that have hub-style pages linking to many other pages.
Коллекция пользовательского интерфейса WindowsWindows UI Gallery Примеры каждой функции WinUI доступны в коллекции элементов управления XAML.Examples of each WinUI feature are available in the XAML Controls Gallery. Скачайте ее с Microsoft Store или просмотрите исходный код на сайте GitHub.Download it on the Microsoft Store, or view the source code on Github.
Предыдущие версииPrevious versions После предыдущего основного выпуска пакета SDK для Windows 10 были также выпущены WinUI 2.3 и WinUI 2.2, которые предоставляют новые функции пользовательского интерфейса для разработчиков Windows.Since the previous major release of the Windows 10 SDK, WinUI 2.3 and WinUI 2.2 were also released, providing further new UI features for Windows devs.

Windows 10

Выпущено вместе с Windows 10, версия 1903.

УСТАНОВИТЬ ПАКЕТ SDK
СКАЧАТЬ ISO-ФАЙЛ
Пакет SDK для Windows 10, версия 1809 (10.0.17763.0) Выпущено вместе с Windows 10, версия 1809. Включает служебные обновления 10.0.17763.132.

  • Устранена проблема, из-за которой происходил сбой комплектов сертификации приложений для Windows в любом приложении, которое объявляло более одного семейства устройств в манифесте
  • Устранена проблема, из-за которой комплекту сертификации приложений для Windows не удавалось выполнить развертывание пакета MSIX.
  • Устранена проблема, из-за которой в проектах UWP, использовавших несколько MinTargetPlatformVersions, происходила ошибка сборки, относящаяся к XAML.
  • Устранена проблема, из-за которой при наследовании из SelectorAutomationPeer в IDL возникала ошибка MIDL с сообщением «Обнаружен неподдерживаемый шаблон массива».

См. подробные сведения

УСТАНОВИТЬ ПАКЕТ SDK СКАЧАТЬ ISO-ФАЙЛ

Пакет SDK для Windows 10, версия 1803 (10.0.17134.12) Выпущено вместе с обновлением Windows 10 за апрель (версия 1803). УСТАНОВИТЬ ПАКЕТ SDK

Пакет SDK для Windows 10 (10.0.16299.91) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (10.0.15254.1) Выпущено вместе с обновлением Windows 10 Fall Creators Update (версия 1709). УСТАНОВИТЬ ПАКЕТ SDK УСТАНОВИТЬ ЭМУЛЯТОР

Пакет SDK для Windows 10 (10.0.15063.468) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (10.0.15254.1) Выпущено вместе с обновлением Windows 10 Creators Update (версия 1703).

  • Устранена проблема, из-за которой возникали ошибки сборки при включении events.h.
  • Тесты возвращены в комплект сертификации приложений.
  • Устранена проблема, из-за которой средству WinAppDeploycmd не удавалось подключиться к телефону через USB.
  • Устранена проблема, из-за которой конвейер удаленного развертывания UWP автоматически игнорировал исключения SMB.

См. подробные сведения

УСТАНОВИТЬ ПАКЕТ SDK УСТАНОВИТЬ ЭМУЛЯТОР

Пакет SDK для Windows 10 (10.0.14393.795) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (10.0.14393.0) Выпущено вместе с обновлением Windows 10 Anniversary Edition (версия 1607).

Это обновление, не связанное с безопасностью, направлено на повышение качества работы ОС.

  • Устранена проблема, из-за которой разработчикам не удавалось создавать приложения UWP в Windows 7, так как библиотека MRMSupport.dll не загружалась.
  • Устранена проблема, из-за которой не удавалось запустить MidlRT и MDMerge в Windows 7.
  • Устранена проблема, из-за которой возникал сбой установки пакета SDK в Windows.
  • Устранена проблема, из-за которой при развертывании устаревшего приложения Store в Windows Phone 8.1 возникал сбой Visual Studio.
  • Устранена проблема, из-за которой данные приложения не сохранялись в сеансах удаленной отладки при отмене регистрации приложений.

УСТАНОВИТЬ ПАКЕТ SDK УСТАНОВИТЬ ЭМУЛЯТОР

Пакет SDK для Windows 10 (10.0.10586.212) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (10.0.10586.11) Выпущено вместе с Windows 10, версия 1511. УСТАНОВИТЬ ПАКЕТ SDK УСТАНОВИТЬ ЭМУЛЯТОР

Пакет SDK для Windows 10 (10.0.10240) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (10.0.10240) Выпущено вместе с Windows 10, версия 1507.

Примечание. Во время установки отображается номер версии 10.0.26624.

УСТАНОВИТЬ ПАКЕТ SDK УСТАНОВИТЬ ЭМУЛЯТОР

Инструкции по эффективному использованию тот же пакет на всех платформах (Windows 10 и Windows 10)How to effectively use the same package on all platforms (Windows 10 and non-Windows 10)

Чтобы использовать все преимущества упаковки MSIX пакета SDK, необходимо будет выполнить сборку пакета способом, который будет развертываться как пакет приложения в Windows 10 и в то же время, поддерживаемые на других платформах.To make the most of the MSIX Packaging SDK, you will need to build the package in a way that will be deployed like an app package on Windows 10 and at the same time supported on other platforms. В Windows 10, можно создать пакет в качестве расширение приложения.On Windows 10, you can build the package as an App Extension. Дополнительные сведения о расширения приложений и как они могут помочь сделать расширяемого приложения, см. в разделе введение расширения приложения записи блога.For more information about App Extensions and how they can help make your app extensible, see the Introduction to App Extensions blog post.

WDK 10

WDK 10 contains the tools to build, test, debug, and deploy drivers for Windows 10. WDK 10 unifies support for mobile and desktop devices, Universal Windows drivers, and, with Visual Studio, provides a unified test experience with reliable deployment and debug provisioning that includes WinDbg. You can run many basic certification tests in the integrated environment. The WDK 10 includes templates for several technologies and driver models, including Windows Driver Frameworks (WDF), Universal Serial Bus (USB), print, networking, and file system filters. WDK 10 also supports Windows 7, Windows 8, and Windows 8.1 driver development.

For more information about driver development for Windows 10, see What’s new in Universal Windows driver development and What’s new in kits and tools.

Use the right Windows SDK for your project

Starting with Visual Studio 2015, the C Runtime (CRT) library was separated into two parts: One part, ucrtbase, contains the Standard C and Microsoft-specific CRT functions that you can use in Universal Windows Apps. This library is now known as the Universal CRT, or UCRT, and has moved into the Windows 10 SDK. The UCRT contains many new functions, such as C99 functions, needed to support the latest C++ language standards. The other part of the original CRT is vcruntime. It contains the C runtime support, startup, and termination code, and everything else that didn’t go into the UCRT. The vcruntime library gets installed along with the C++ compiler and toolset in Visual Studio. For more information, see CRT library features.

The UCRT is now a system component that’s installed on every version of Windows 10. It’s also available as an installable component for all earlier supported versions of Windows. You can use the Windows 10 SDK to target all the supported versions of Windows. For a complete list of supported operating systems, see Windows 10 SDK.

To retarget your projects to use the Windows 10 SDK when you upgrade from a project version before Visual Studio 2015, follow these steps:

To target the Windows 10 SDK

  1. Make sure the Windows 10 SDK is installed. The Windows 10 SDK is installed as part of the Desktop development with C++ workload. A standalone version is available at Downloads and tools for Windows 10.

  2. Open the shortcut menu for the project node, and choose Retarget projects. (In earlier versions of Visual Studio, choose Retarget SDK Version.) The Review Solution Actions dialog appears.

  3. In the Target Platform Version dropdown list, choose the version of the Windows 10 SDK you want to target. Generally speaking, we recommend you choose the latest installed version. Choose the OK button to apply the change.

    The 8.1 in this context refers to the Windows 8.1 SDK.

    If this step is successful, the following text appears in the Output window:

  4. Open the project properties dialog. In the Configuration Properties > General section, notice the values of Windows Target Platform Version. Changing the value here has the same effect as following this procedure. For more information, see General Property Page (Project).

    This action changes the values of project macros that include paths to header files and library files. To see what changed, open the Visual C++ Directories section of the Project Properties dialog. Select one of the properties, such as Include Directories. Then, open the property value’s dropdown list, and choose <Edit>. The Include Directories dialog appears.

    Choose the Macros >> button, and scroll down the list of macros to the Windows SDK macros to see all the new values.

  5. Repeat the retargeting procedure for other solution projects, as needed, and rebuild the solution.

To target the Windows 8.1 SDK

  1. Open the shortcut menu for the project node in Solution Explorer, and choose Retarget projects. (In earlier versions of Visual Studio, choose Retarget SDK Version.)

  2. In the Target Platform Version dropdown list, choose 8.1.

Как разрешаются ссылки на пакеты SDK проектаHow project SDKs are resolved

При оценке директив импорта MSBuild динамически разрешает путь к пакету SDK проекта, используя указанные значения имени и версии.When evaluating the import, MSBuild dynamically resolves the path to the project SDK based on the name and version you specified. Также MSBuild использует список зарегистрированных сопоставителей SDK. Это подключаемые модули, которые отвечают за расположение пакетов SDK на компьютере.MSBuild also has a list of registered SDK resolvers, which are plug-ins that locate project SDKs on your machine. Далее следует список этих подключаемых модулей.These plug-ins include:

  • Распознаватель на основе NuGet, который опрашивает настроенные каналы пакетов в поисках пакетов NuGet с указанными значениями идентификатора и версии пакета SDK.A NuGet-based resolver that queries your configured package feeds for NuGet packages that match the ID and version of the SDK you specified.

    Этот сопоставитель применяется только в том случае, если вы указали необязательное значение версии.This resolver is only active if you specified an optional version. Его можно использовать для любых пользовательских пакетов SDK проекта.It can be used for any custom project SDK.

  • Сопоставитель пакетов SDK для .NET, который разрешает пакеты SDK для MSBuild, установленные совместно с пакетом SDK для .NET.A .NET SDK resolver that resolves MSBuild SDKs that are installed with the .NET SDK.

    Этот сопоставитель находит только пакеты SDK проекта, входящие в состав этого продукта, например и .This resolver locates project SDKs such as and that are part of the product.

  • Распознаватель по умолчанию, который разрешает пакеты SDK, установленные совместно с MSBuild.A default resolver that resolves SDKs that were installed with MSBuild.

Сопоставитель пакетов SDK на основе NuGet позволяет указывать версию в файле global.json, благодаря чему вы можете управлять версией пакета SDK проекта в одном месте, а не в каждом проекте отдельно:The NuGet-based SDK resolver supports specifying a version in the global.json file, which allows you to control the project SDK version in one place rather than in each individual project:

При сборке проекта может использоваться только одна версия каждого пакета SDK проекта.Only one version of each project SDK can be used during a build. Если указать ссылки на две разные версии одного пакета SDK проекта, MSBuild выдает предупреждение.If you reference two different versions of the same project SDK, MSBuild emits a warning. Рекомендуем не указывать в проектах версию, если она уже указана в файле global.json .It is recommended to not specify a version in your projects if a version is specified in the global.json file.

Use the right Windows SDK for your project

Starting with Visual Studio 2015, the C Runtime (CRT) library was separated into two parts: One part, ucrtbase, contains the Standard C and Microsoft-specific CRT functions that you can use in Universal Windows Apps. This library is now known as the Universal CRT, or UCRT, and has moved into the Windows 10 SDK. The UCRT contains many new functions, such as C99 functions, needed to support the latest C++ language standards. The other part of the original CRT is vcruntime. It contains the C runtime support, startup, and termination code, and everything else that didn’t go into the UCRT. The vcruntime library gets installed along with the C++ compiler and toolset in Visual Studio. For more information, see CRT library features.

The UCRT is now a system component that’s installed on every version of Windows 10. It’s also available as an installable component for all earlier supported versions of Windows. You can use the Windows 10 SDK to target all the supported versions of Windows. For a complete list of supported operating systems, see Windows 10 SDK.

To retarget your projects to use the Windows 10 SDK when you upgrade from a project version before Visual Studio 2015, follow these steps:

To target the Windows 10 SDK

  1. Make sure the Windows 10 SDK is installed. The Windows 10 SDK is installed as part of the Desktop development with C++ workload. A standalone version is available at Downloads and tools for Windows 10.

  2. Open the shortcut menu for the project node, and choose Retarget projects. (In earlier versions of Visual Studio, choose Retarget SDK Version.) The Review Solution Actions dialog appears.

  3. In the Target Platform Version dropdown list, choose the version of the Windows 10 SDK you want to target. Generally speaking, we recommend you choose the latest installed version. Choose the OK button to apply the change.

    The 8.1 in this context refers to the Windows 8.1 SDK.

    If this step is successful, the following text appears in the Output window:

  4. Open the project properties dialog. In the Configuration Properties > General section, notice the values of Windows Target Platform Version. Changing the value here has the same effect as following this procedure. For more information, see General Property Page (Project).

    This action changes the values of project macros that include paths to header files and library files. To see what changed, open the Visual C++ Directories section of the Project Properties dialog. Select one of the properties, such as Include Directories. Then, open the property value’s dropdown list, and choose <Edit>. The Include Directories dialog appears.

    Choose the Macros >> button, and scroll down the list of macros to the Windows SDK macros to see all the new values.

  5. Repeat the retargeting procedure for other solution projects, as needed, and rebuild the solution.

To target the Windows 8.1 SDK

  1. Open the shortcut menu for the project node in Solution Explorer, and choose Retarget projects. (In earlier versions of Visual Studio, choose Retarget SDK Version.)

  2. In the Target Platform Version dropdown list, choose 8.1.

«Паровозик, который смог» — Deploy

Необходимость актуальности документации и версий порождают требование к корректности деплоя. В своем решении мы используем следующее решение (костыли, но работают).
Когда надо выпустить нвый релиз, разработчик дергает bat’ник с указанием номера релиза, а затем батник:

  • билдит релиз
  • кладет все библиотеки в архив
  • билдит свежую версию документации (docfx)
  • указывает версию релиза в документации и в названии архива
  • кладет всё самое свеженькое в гит-репозиторий
  • WebApp на MS Azure подтягивает свежий коммит по гит хуку и публикует изменения

На выходе получаем обновленную версию сайта с документацией, откуда можно скачать архив с последней версией SDK.
В планах на будущее — упаковка всего в Nuget пакеты и публикация в локальный Nuget репозиторий.

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

Get Started Immediately

Prerequisites

To use DJI Windows SDK, the following environments are required:

  • A PC or a laptop.
  • Windows 10.
  • Visual Studio 2017.
  • Windows 10 SDK, version 1803.

Supported Products

The supported DJI products include Mavic 2 Enterprise, Mavic 2 Enterprise Dual, Mavic 2 Pro/Zoom, Phantom 4 Pro V2.0+ (remote controller with screen), Mavic Air and Phantom 4 Pro V2.

For Mavic Air, only WiFi connection is supported. Therefore, the PC or the laptop should have a WiFi adapter.

For Phantom 4 Pro V2, USB connection is supported. Setup the connection with the following steps:

  • Install DJI Assistant 2 on the PC.
  • Ensure the remote controller has firmware version 01.00.200 or above. Use DJI GO 4 or DJI Assistant 2 to upgrade the remote controller if the firmware is old.
  • Make sure the remote controller is powered off.
  • Use a USB cable to connect PC with the remote controller. CAUTION: Use the mini-USB port of the remote controller instead of the Type A port.
  • Power on the remote controller.
  • Go to Device Manager of Windows. If the remote controller is connected successfully, you should see two devices in the list: Remote NDIS based Internet Sharing Device #1 and DJI USB Virtual COM (COM1). The number and the COM index may show differently across PC machines.

Insert the following XML code to Package.appxmanifest of your application:

This can enable the permission to access to the COM port in your UWP application. This step is done in the sample code already.

CAUTION: It is necessary to power off the remote controller first and connect it to PC after. The remote controller will determine whether to enable PC mode during booting. If the remote controller disconnects from the PC, it has to be powered off before re-connecting to the PC.

Generate APP Key

To enable DJI Windows SDK, developers will need to register applications with an APP key. This is also required to run the sample in this repository. Follow the steps to create the APP key:

  • Select the «Apps» tab on the left.
  • Select the «Create App» button on the right.
  • Enter the name, platform, UWP package name, category and description of the application.
  • An application activation email will be sent to complete App Key generation.
  • The App Key will appear in the user center, and can be copied and pasted into the application.

Run Sample Code

Git clone this repository. Open DJIWindowsSDKSample.sln. Because the dependencies and the video parser has been configured in this sample, just compile and run it using x86 as the architecture.

To start browsing all the features in the sample, you have to input the APP key. Following the previous section and use «com.wsdk.sample» as the package name to generate an APP key.

After SDK registers successfully, you should see the full list of features.

Step 2: Install the WDK

The WDK is integrated with Visual Studio and Debugging Tools for Windows
(WinDbg). This integrated environment gives you the tools you need to
develop, build, package, deploy, test, and debug drivers.

Note

Starting with Windows 10, version 1709, installing the WDK
will by default install the WDK extensions for Visual Studio. These
extensions are required for integration of the WDK with Visual Studio.

Versions of Windows WDK and related downloads
Windows 10, version 1903 WDK for Windows 10, version 1903
Windows 10, version 1809 WDK for Windows 10, version 1809
Windows 10, version 1803 WDK for Windows 10, version 1803
Windows 10, version 1709 WDK for Windows 10, version 1709
Windows 10, version 1703 WDK for Windows 10, version 1703
Windows 10, version 1607 WDK for Windows 10, version 1607
Windows 8.1 Update WDK 8.1 Update (English only) — temporarily unavailableWDK 8.1 Update Test Pack (English only) — temporarily unavailable WDK 8.1 Samples
Windows 8 WDK 8 (English only) WDK 8 redistributable components (English only) WDK 8 Samples
Windows XP Windows Server 2003 WDK 7.1.0

Important

If you have installed the WDK for Windows 10, version 1703 on a system that had the WDK for Windows 10, version 1607 installed, some files from the earlier version of the WDK might have been removed. To restore these files:

  1. On the Start menu, enter Apps & features in the search box, and select Apps & features from the results.
  2. Find Windows Driver Kit — Windows 10.0.15063.0 in the list of Apps & Features, and then select the program.
  3. Select Modify, select Repair, and then follow the directions on the screen.
  4. The files will be restored.
Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий