microsoft / microsoft/WindowsAppSDK

Bring AppInstaller APIs to WinAppSDK (esp. to bring them to Win10)

Open
#5,931 1 comment 2 reactions 1 assignee Claimed by @DrusTheAxe View on GitHub
area-PackageManagement feature proposal
Dominant language
C++
Stars
4.7k
Forks
471
Avg merge
3d 13h
Merged PRs (30d)
28

Description

Installing an application with a .appInstaller-file is a quick way to define dependencies between MSIX packages, enable automatic updates and pre-configure a couple other settings for installation. It works pretty well, I especially like the 1 line background-auto-updater.

If an app was installed by appinstaller, on Windows 10 there are only very few APIs that interact with this system at all, for example `Package.CheckUpdateAvailabilityAsync()` this API provides no options at all.

As applications get more users more complex feature requests arise:
* Different Update Channels
* Opting out of updates
* Splitting products into different variants
* A/B testing
* incremental rollout

Some of these features could be implemented by serving different .appinstaller-files based on client IP or similar techniques. But it would be much better to allow some customization options to apps.

In Windows 11 there are new APIs to allow the app to read (and write some) of these configurations:
* AppInstallerManager provides read/write access to ~half the info (UpdateSettings)
* Windows.ApplicationModel.Package.AppInstallerInfo provides read-only access to most of the other half (URIs etc)
(Use PackageManager.FindPackage*() to get Package object(s) and then [pkg.GetAppInstallerInfo()](https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.package.getappinstallerinfo?view=winrt-26100) (from @DrusTheAxe on Discord)

**This feature request is to make all properties writable and to bring these APIs to Windows 10.** Additionally, this would prepare the way for future improvements and bug fixes to happen via WinAppSDK instead of in Windows.

These kind of APIs will not see any usage, until an app can rely on them being available and working on all supported versions of Windows. Dropping support for Windows 10 is not going to happen for most apps in the next two years, so Updater/Installer-APIs that only work on 11 are not helpful in the near-term.

There was some discussion of this issue with @DrusTheAxe on Discord here: https://discord.com/channels/372137812037730304/1360013646050099280/1429996412732702822

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.