- Windows 10 desktop apps and privacy
- Публикация десктоп-приложения в Windows Store c помощью Desktop Application Converter
- Начало
- Ошибка, и не одна.
- Поиск решения совместно с Майкрософт
- Проверка на прочность
- www.makeuseof.com
- Follow MUO
- Desktop vs. Microsoft Store Apps: Which Should You Download?
- Why Does the Microsoft Store Exist?
- Universal Microsoft Store Apps
- Security Issues With Desktop Apps
- Desktop vs. Microsoft Store Apps: Security
- Desktop vs. Microsoft Store Apps: Selection
- Desktop vs. Microsoft Store Apps: Interface
- Desktop vs. Microsoft Store Apps: VLC Example
- Microsoft Store Versions of Web Apps
- Microsoft Store Apps and Desktop Apps
- Subscribe To Our Newsletter
- One More Step…!
Windows 10 desktop apps and privacy
Desktop apps are a specific type of app that won’t ask for permission to access data associated with privacy settings in Windows 10 in the same way that a Microsoft Store app does. Some desktop apps may not even ask for permission to get access to personal data stored on your device. Desktop apps also won’t appear in the list of apps in the privacy settings pages that allows you to choose which apps can use data associated with that privacy setting.
What are desktop apps? They’re usually downloaded from the internet or installed with some type of media (such as a CD, DVD, or USB storage device). They’re launched using an .EXE or .DLL file, and they typically run on your device, unlike web-based apps (which run in the cloud).
Please read the privacy policies of any desktop app you install to learn more about how they might use personal data stored on your device. You should also check if the desktop apps you have installed have provided their own options to control access to personal data. To further reduce the risk that an app or service can access personal data when a privacy setting is off, you should only install apps and services from trusted sources.
There are varying degrees of exceptions to how a desktop app may access and use personal data on the device beyond the privacy controls available in Windows 10.
Location. Even when you’ve turned off the device location setting, some third-party apps and services could use other technologies (such as Bluetooth, Wi-Fi, cellular modem, etc.) to determine your device’s location with varying degrees of accuracy. Microsoft requires third-party software developers that develop apps for our Microsoft Store or develop apps using Microsoft tools to respect the Windows location settings unless you’ve provided any legally required consent to have the third-party developer determine your location. For more comprehensive protection of your location, you could consider disabling radio-based components of your device such as Wi-Fi, Bluetooth, cellular modem, and GPS components, which might be used by an app to determine your precise location. However, doing so will also impair other experiences such as calling (including emergency calling), messaging, internet connectivity, and connecting to peripheral devices like your headphones.
Camera, Microphone, and other privacy settings tied directly to a peripheral device. Some desktop apps may not be affected by turning off these privacy settings. For example, an app that also installs a driver could interact directly with your camera or microphone hardware, bypassing the ability of Windows to control the access. For more comprehensive protection of your personal data associated with these settings, you could consider disabling these devices, such as disconnecting or disabling your camera or microphone.
Other privacy settings. For other privacy settings not mentioned above, there are no steps you can take to ensure desktop apps do not access personal data without your awareness unless you choose not to install or use the app.
Публикация десктоп-приложения в Windows Store c помощью Desktop Application Converter
Не так давно мы опубликовали разработанное нами корпоративное приложение для десктопов, которое дополняет функционал Skype for Business. Например, может «по-человечески» сохранять историю переписки, как это делают все «приличные» мессенджеры, умеет отправлять сообщения в оффлайн, позволяет упорядочить контакты и ещё много всего, чего не хватало в Skype for Business. И когда появилась возможность поделиться приложением с помощью Windows Store, мы решили этой возможностью воспользоваться. В статье мы расскажем, как это происходило и чего нам это стоило.
Про сам процесс разработки и про то, чего нам стоила идея работы со SfB в режиме Suppression Mode (подавление SfB), читайте здесь.
EasyLy разрабатывался как настольное приложение WPF & Lync SDK для Windows, и конечно же, мы стремились поделиться своей разработкой со всем миром. Публикация «классических» десктопных приложений (без метро-интефейса) стала доступна не так давно, опыта у нас совсем не было, поэтому мы начали изучать, как загрузить наше приложение в Windows Store.
Начало
Вся суть заключалась в том, чтобы с помощью Desktop Application Converter преобразовать приложение в AppX пакет для UWP (Universal Windows Platform), чтобы затем его можно было загрузить в Windows Store.
Нужно заметить, что не любое настольное приложение можно разместить в магазине. Оно должно удовлетворять требованиям, описанным в этой статье.
Для самого процесса конвертирования необходима ОС “Юбилейное обновление Windows 10 Pro” или “Корпоративная” (10.0.14393.0 и более поздней версии) x64. Также нужно будет установить Microsoft Windows 10 SDK. А перед работой с конвертером понадобится скачать один из базовых образов Windows 10.
ВАЖНО: Версия билда операционной системы должна в точности совпадать с версией образа BaseImage-xxxxx.wim.
После прочтения статьи о том, как работать с конвертером, мы разработали систему скриптов для Command Prompt и Power Shell, которые генерировали AppxManifest.xml и конечный пакет AppX.
И вот, наконец, всё было готово для загрузки EasyLy.appx в Windows Store. Честно говоря, мы не рассчитывали на то, что процесс размещения приложения окажется так растянут по времени, но в общей сложности у нас на это ушло примерно два месяца. Мы также не ожидали, что впереди нас будут ждать странные ошибки, с которыми придётся бороться совместно с сотрудниками Microsoft. Эмоции команды были на переделе, но всё же нам это удалось. О том, что это были за ошибки и как мы их устраняли, читайте ниже.
Ошибка, и не одна.
При первой попытке публикации в Windows Store мы получили четыре ошибки.
Package acceptance validation error: We don’t allow the capability you’ve specified: runFullTrust.
Package acceptance validation error: The PublisherDisplayName element in the app manifest of EasyLy.signed.appx is GROVETY, INC, which doesn’t match your publisher display name: GROVETY INC.
Package acceptance validation error: Apps are not allowed to have a Version with a revision number other than zero specified in the app manifest. The package EasyLy.signed.appx specifies 1.61.6088.26940.
Мы исправили ошибку №3 с версией. Оказалось, что запрещено иметь ревизию версии (последний разряд версии), отличную от нуля (major.minor[.build[.revision]]). Что ж, это было несложно.
Было: DesktopAppConverter.exe … -Version 1.61.6088.26940
Стало: DesktopAppConverter.exe … -Version 1.61. 6088.0
В дальнейшем мы отказались и от версии билда: DesktopAppConverter.exe … -Version 1.61.0.0
Оставались ещё три ошибки.
1. Package acceptance validation error: The PublisherDisplayName element in the app manifest of EasyLy.s.appx is GROVETY, INC, which doesn’t match your publisher display name: GROVETY INC.
2. Package acceptance validation error: You don’t have permissions to specify the following namespaces in the appx manifest file of the package EasyLy.s.appx: schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities
3. Package acceptance validation error: Your developer account doesn’t have permission to submit apps converted with the Desktop App Converter at this time.
Была исправлена ошибка №1 с именем сертификата в AppxManifest.xml:
Если честно, было странно, что это исправление сработало, и непонятно, с каким значением происходит сравнение имени сертификата, т.к. в свойствах AppX пакета в разделе “Цифровые подписи” имя сертификата было как раз с запятой, а к интерфейсу выкладывания в Windows Store разработчики доступа не имели (чтобы посмотреть, как там выглядит имя издателя и что оно вообще там присутствует), потому что публикация осуществлялась отделом маркетинга.
После этого остались ошибки, которые говорили о какой-то проблеме, связанной с аккаунтом, через который было невозможно выложить AppX.
1. Package acceptance validation error: You don’t have permissions to specify the following namespaces in the appx manifest file of the package EasyLy.s.appx: schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities
2. Package acceptance validation error: Your developer account doesn’t have permission to submit apps converted with the Desktop App Converter at this time.
Что делать с этими ошибками нам подсказал один из авторов habrahabr’а — asommer. Как оказалось, все новые десктопные приложения требуют ручной валидации – и для этого нужно написать в техподдержку.
Мы оставили заявку здесь, и уже через несколько дней с нами связался сотрудник Майкрософт.
Поиск решения совместно с Майкрософт
Мы собрали конференцию по Skype for Business, где рассказали, что EasyLy – это десктопное приложение, которое расширяет функционал Skype4B, например умеет сохранять историю диалогов. И по результатам встречи отправили APPX-файл с приложением для проверки.
Также параллельно пришлось подписать ещё одно соглашение с Майкрософт — Centennial Early Adopter Program Addendum.
Общение было затруднено тем, что сотрудники Майкрософт находились в Америке, и разница во времени составляла 10 часов. В результате – приходилось общаться поздно вечером, а ждать ответ на письма – сутки.
Через некоторое время мы получили письмо от Майкрософт. У них возникли вопросы, как EasyLy интегрируется со Skype for Business. Им было необходимо удостовериться, что EasyLy сможет нормально работать со следующей версией Skype for Business.
В общем, нужно было подготовить техническое описание на английском. При этом договорились, что если что-то останется неясным, то будем снова устраивать онлайн-митинг.
К счастью, нашего описания оказалось достаточно, и сотрудник Майкрософт нас заверил, что процесс одобрения идет.
Проверка на прочность
Мы не ожидали, что в Microsoft ещё будут проводиться какие-то тесты над нашим приложением. Представитель Microsoft сообщил, что наше приложение утверждено для Windows Store, но не прошло CARE тест. К тому же, он указал на возможность воспользоваться дополнительными функциями API, доступными только для конвертируемых приложений. Из этих возможностей мы выбрали автозапуск при логине пользователя и добавили в AppxManifest.xml в элемент такой раздел:
Чуть подробнее о тесте CARE. Судя по отчёту прохождения, который они нам прислали, проверяются следующие вещи:
Test for Drivers and Services (Drivers cannot be installed)
Test for DDE Exec registry verbs (DDE Exec warning)
Validate Appx Manifest (Application Identity Name can’t be empty)
Validate security policy settings (EXE can not request admin elevation, EXE can not request UIAccess)
Validate PE integrity (PE Files must be validly signed)
EasyLy провалился на втором пункте. Программа обращалась к нестандартным ключам реестра. Это было исправлено.
Теперь, когда все проблемы были решены, мы предвкушали радость победы и долгожданной загрузки EasyLy в Windows Store. Но удача снова не была на нашей стороне и появились очередные ошибки:
1. Invalid package identity name: EasyLy (expected: GROVETYINC.EasyLyCorp).
2. Invalid package family name: EasyLy_04mzw0hspzxdg (expected: GROVETYINC.EasyLyCorp_8qq6gc35dw28r)
3. Invalid package publisher name: CN=”GROVETY, INC”, O=”GROVETY, INC”, L=Wilmington, S=”Delaware”, C=US (expected: CN=71A49F4D-5C79-40F1-A333-B79F06F50E03)
4. This package uses a display name that you have not reserved: EasyLy
Такое ощущение, что компания Microsoft решила заботливо не сообщать о всех ошибках сразу, а выдавать их по частям, и каждую следующую часть показывать только после исправления всех ошибок в предыдущей. Оно, может, и правильно, потому что если бы мы увидели все ошибки сразу, вероятность того, что мы решили бы продолжать, была бы определенно меньше. Но теперь, когда половина пути была пройдена, отступать назад уже не хотелось.
В Майкрософт ответили следующее:
- Непонятно, что это такое. Попробуйте исправить вначале остальные ошибки.
- Всё верно, регистрируемый пакет называется «GROVETYINC.EasyLyCorp_8qq6gc35dw28r».
- Уберите запятую из имени издателя.
- Имя регистрируемого приложения “EasyLy Corp”.
Было: DesktopAppConverter.exe … -Publisher «CN=GROVETY»
Стало: DesktopAppConverter.exe … -Publisher «CN=GROVETY INC» -PackageDisplayName «EasyLy Corp» -AppDisplayName «EasyLy» -AppExecutable «EasyLy.exe»
После этих изменений ушла ошибка №4.
Пытаясь устранить ошибку №1 добавили в параметры конвертера -PackageName «GROVETYINC.EasyLyCorp», но получили непонятную ошибку при конвертации:
Error: PowerShell Error Record: Could not find a part of the path. PowerShell Stack Trace: at
www.makeuseof.com
Follow MUO
Desktop vs. Microsoft Store Apps: Which Should You Download?
Should you get your Windows apps from the Microsoft Store, or use traditional desktop programs? Here are the main differences.
Historically, you downloaded Windows software through an EXE file from its official website or a third-party download site (called a desktop app). But starting in Windows 8 and today with Windows 10, you also have the option of downloading apps from the Microsoft Store (known as store apps).
Many apps are available as both traditional desktop apps and modern Store apps. Given the choice, which should you download? We’ll take a look and try to answer that question.
Why Does the Microsoft Store Exist?
Microsoft included its new app marketplace, called the Windows Store, with Windows 8. At the time, these «Metro apps» were only available in full-screen and many people ignored them.
This marketplace was carried into Windows 10 and eventually renamed the Microsoft Store (not to be confused with brick-and-mortar Microsoft stores). In addition to apps, the Microsoft Store carries games, movies, TV shows, and Edge extensions. Now, the lines between app types are blurred, as Store apps run in a window just like traditional desktop programs.
Check out our overview of the Microsoft Store for more info, if you’re new to it.
For some time, Windows was the only major platform not to offer an official marketplace for apps. Android has Google Play, macOS and iOS have the App Store, and Linux has several storefront repositories. Longtime Windows users may wonder why Microsoft even bothered to release an app store like this.
From the company’s perspective, this was mainly for two reasons: uniformity across platforms, and security of the OS.
Universal Microsoft Store Apps
As you might remember, Microsoft pushed the new Universal Windows Platform (UWP) apps (called Metro apps during Windows 8) pretty hard. The idea was to offer apps that worked on desktop Windows as well as Windows Phone.
Nowadays, even after the collapse of Windows 10 Mobile, apps on the Store often run across Windows 10, Xbox One, HoloLens, and other platforms. In theory, these let developers create an app once that’s usable across multiple devices.
Of course, having these apps on the Microsoft Store also provides an additional revenue stream for Microsoft.
Security Issues With Desktop Apps
Because desktop Windows programs are available all over the place, downloading them can lead to infection of your computer. If you don’t download from a trusted source, it’s often difficult to tell whether an app you find on a random website is a legitimate download or a dangerous fake. This leads to inexperienced users opening themselves up to malware just from downloading software.
Instead, the Microsoft Store gives Microsoft more control over what apps are available. The company does some level of vetting to weed out dangerous apps from the Store. For some time the Store had issues with fake and dead apps, but these are thankfully not as bad nowadays.
Desktop vs. Microsoft Store Apps: Security
As we’ve seen, Store apps have the advantage of living in a trusted environment. However, they’re also more secure at their core than desktop apps.
When you download a desktop app, it often requires permission to run as an administrator to install. While this is a normal part of installing software, providing admin rights to a program gives it permission to do whatever it wants to your computer.
If you grant admin privileges to a malicious app, it has free reign to install malware, trash your data, record your keystrokes, or otherwise do harm to your PC. Most apps don’t do this, of course, but this is how infections often spread.
In contrast, Store apps have limited permissions. They run in a sandbox, meaning they’re confined to a certain part of Windows. Since these apps don’t ever run as an administrator, they don’t have nearly as much potential to damage your system.
This is great even for apps like iTunes. By downloading the Store version of iTunes, you won’t get extra junk like Bonjour and Apple Software Update included along with it.
Like Android and iPhone apps, Microsoft Store apps also list out all the permissions they use. This lets you see exactly what functions they utilize in the background. In addition, you can block apps from using individual permissions in the Privacy section of Settings.
By default, Store apps all receive automatic updates. This is much easier than the update prompts most desktop apps provide, as you don’t have to worry about visiting the site and downloading the newest version manually. Uninstalling a Store app is also much cleaner than a desktop app, as there are no Registry entries and other scattered data to remove.
Desktop vs. Microsoft Store Apps: Selection
While there’s a wealth of great software available for Windows, you won’t find it all on the Microsoft Store. Developers must pay a small fee to register and get their apps on the Microsoft Store, which might not be worth it to creators of small tools.
A lot of popular apps, such as Discord, Steam, Calibre, Snagit, and many more are not available on the Store. This means gamers and users of power applications will have to stick to desktop apps in many cases.
However, you can also find Store versions for a lot of common desktop software. Slack, Spotify, iTunes, Messenger, WhatsApp, Telegram, and Evernote are just a few examples.
Many of the apps on the Microsoft store are mobile-style offerings like Netflix and Candy Crush Saga that are simple games or apps to access one website or service. However, even some small desktop utilities are available in a Store variant. This is the case with PureText, a great little app to paste text without formatting.
Fan-favorite image editing app Paint.NET is also available for a few dollars on the Store. It’s the same as the free version, but the developer offers it as an optional donation with more convenient updates.
Desktop vs. Microsoft Store Apps: Interface
The same app can vary quite a bit between versions. In general, desktop apps offer more features and navigation icons, while Store apps use larger, more spaced-out buttons. This makes Store apps more convenient for touchscreen use.
As an example, look at the version of OneNote included with Microsoft Office compared to the OneNote Store app. Below is the desktop version:
You can see that like other Office apps, this has tabs along the Ribbon for all sorts of features. These include advanced tools like revision history, the ability to record video, and all sorts of tags, plus support for macros. The buttons are also close together, as you’d expect for something designed for a mouse.
In comparison, here’s what the Store version of OneNote looks like:
You can see how simple the interface is here compared to the desktop version. It has fewer tabs and buttons with icons that are spread further apart. In addition, the Store version offers far fewer settings than its desktop counterpart.
As mentioned earlier, this feels more like an app you’d use on your phone than a desktop program. It’s perfectly suitable for quick use, but OneNote power users will find many features lacking.
Desktop vs. Microsoft Store Apps: VLC Example
Let’s quickly look at VLC, the popular media player, to see how its desktop and Store editions differ.
The desktop edition has a wealth of features you’ve come to expect from the program. Along the bottom bar, you can control the playback, including adjusting both audio and video effects. Desktop VLC supports subtitles, the ability to open media from sources like network streams, on-screen control customization, and a whole lot more.
In comparison, the Store edition of VLC is much more streamlined. You can change options, but only a handful compared to everything in the desktop version. It still offers support for subtitles and playback from network sources but doesn’t let you customize the interface, play from a DVD or Blu-ray disc, or use a lot of VLC’s other hidden tricks.
You’ll also notice that the buttons in this version are much larger, making them easier for touchscreen users. As I was testing it, the Store version also froze up several times when trying to start a video.
The Store version is serviceable, but power users will find a lot lacking.
Microsoft Store Versions of Web Apps
Aside from desktop app replacements, the Store contains many apps for web services. These include Pandora, Amazon, Netflix, Instagram, and others.
In some cases, these «apps» are simply a wrapper on a website (such as Amazon). There’s little reason to use these when you can just bookmark the site in your favorite browser.
However, others offer unique features or better layouts. For example, while you can scroll through Instagram in a browser, you need to use the Instagram Store app to access your DMs. You may also prefer to keep a desktop app for video services like Netflix and Hulu installed for easy access, especially if you often use your laptop in tablet mode.
Whether you should use a Store app or web app depends on your needs. Some people like having dedicated app s for services that they have open all the time, like Pandora, to cut down on browser tabs. Give both a try and see which you prefer.
Microsoft Store Apps and Desktop Apps
After looking at both kinds of apps, there’s no clear winner between them. Most people will probably use a combination of both.
Desktop apps offer superior functionality, but can have more confusing layouts. Conversely, while Store apps are fairly stripped-down experiences, they update automatically and come from a trusted source.
If the apps you use offer both options, give them a try and see which fits your needs better. Need some ideas? Explore our roundup of the best apps in the Microsoft Store. And if you download any desktop app, be sure to check the integrity of the installer with one of these free hash checkers.
Still interested in jailbreaking your iPhone? Here’s a full guide to the process using macOS, Windows, or Linux.
Ben is a Deputy Editor and the Onboarding Manager at MakeUseOf. He left his IT job to write full-time in 2016 and has never looked back. He’s been covering tech tutorials, video game recommendations, and more as a professional writer for over six years.
Subscribe To Our Newsletter
Join our newsletter for tech tips, reviews, free ebooks, and exclusive deals!
One More Step…!
Please confirm your email address in the email we just sent you.