Microsoft has announced support for UWP console apps, the ability to launch multiple instances of a Store app and broader file-system access with the next major release of Windows 10, known as version 1803 or Redstone 4.
With Windows 10 version 1803, UWP (Store) apps can now opt-in to support multiple instances. Developers can decide if a new instance of an app should be launched, or an existing instance activated.
Microsoft describes the feature as follows:
Prior to Windows 10, version 1803, only one instance of a UWP app could be running at a time. Now, a UWP app can opt-in to support multiple instances. If an instance of a multi-instance UWP app is running, and a subsequent activation request comes through, the platform will not activate the existing instance. Instead, it will create a new instance, running in a separate process.
Unlike the current implementation of apps, where certain Store apps can have multiple windows but a single process, the multi-instance feature will allow having several processes separated from each other for Store apps. This should increase their reliability, security, and make it possible to work with multiple files at same time. With the updated SDK, this ability is now accessible for third-party app developers.
Note that Desktop (Win32) apps have always had this ability. This feature is now being extended to Store apps.
Console UWP app support in the Store
Another interesting feature which is landing in Windows 10 version 1803 "Redstone 4" is console UWP apps. UWP apps can now use the console window for input and output. They are intended to be used with Command Prompt and PowerShell. Such apps can use the console APIs and even traditional Win32 APIs such as printf or getchar.
Broader file-system access
With updates made to the Universal Windows Platform, both multi-instance apps and console UWP apps will be able to have broader file-system access. Microsoft states the following:
- The first is used if the app has an AppExecutionAlias (either a regular windowed UWP app or a console UWP app). In this case, the app is granted permissions to the file-system from the current working directory and below. That is, the user executes the app from a command-line, and they choose the location in the file-system from which to launch the app. The app will have file-system permissions from that point downwards.
- The second file-system feature grants permissions to the entire file-system (or, strictly, grants the app the exact same permissions to the entire file-system as the user who is running the app). This is a very powerful feature – and for this reason, it is protected by a restricted capability. If you submit an app to the Store that declares this capability, you will need to supply additional descriptions of why your app needs this powerful feature, and how it intends to use it.