Skip to content

Commit 0b46207

Browse files
Merge branch 'main' into Ankur/update-msix-privacy-policy-docs
2 parents c2ff269 + 042d1fd commit 0b46207

File tree

74 files changed

+971
-451
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+971
-451
lines changed

.openpublishing.redirection.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8869,6 +8869,26 @@
88698869
"source_path": "hub/apps/winui/winui2/release-notes/winui-2.8.md",
88708870
"redirect_url": "/windows/uwp/get-started/winui2/release-notes/winui-2.8",
88718871
"redirect_document_id": false
8872+
},
8873+
{
8874+
"source_path": "hub/sudo/index.md",
8875+
"redirect_url": "/windows/advanced-settings/sudo/",
8876+
"redirect_document_id": false
8877+
},
8878+
{
8879+
"source_path": "hub/apps/develop/actions/action-json.md",
8880+
"redirect_url": "/windows/ai/app-actions/actions-json",
8881+
"redirect_document_id": false
8882+
},
8883+
{
8884+
"source_path": "hub/apps/develop/actions/action-provider-manifest.md",
8885+
"redirect_url": "/windows/ai/app-actions/actions-provider-manifest",
8886+
"redirect_document_id": false
8887+
},
8888+
{
8889+
"source_path": "hub/apps/develop/actions/index.md",
8890+
"redirect_url": "/windows/ai/app-actions/",
8891+
"redirect_document_id": false
88728892
}
88738893
]
88748894
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: File Explorer Version Control Integration (PREVIEW)
3+
description: Learn how to use File Explorer + version control integration inside Windows Advanced settings.
4+
ms.reviewer: cinnamon
5+
ms.topic: article
6+
ms.date: 04/11/2025
7+
---
8+
9+
# File Explorer version control integration (PREVIEW)
10+
11+
**File Explorer version control integration** provides version control information directly in File Explorer. This includes information such as the branch name, last commit author, last commit message, and more.
12+
13+
> [!NOTE]
14+
> As of right now, File Explorer version control integration only supports Git. The Advanced Settings system component is extensible to allow for additional version control types.
15+
16+
![File Explorer version control integration](../images/fe-source.png)
17+
18+
## Prerequisites
19+
20+
File Explorer version control integration is available in the [Windows Beta channel](https://aka.ms/BetaLatest). See [Get started with the Windows Insider Program](/windows-insider/get-started) for more information about joining the program and selecting a channel. After you've joined the Beta channel, you can ([check for Windows updates](ms-settings:windowsupdate)).
21+
22+
## How to identify repositories
23+
24+
Windows has to know which folders are source code repositories so File Explorer can display the version control information. You can select your repository folders in Windows Advanced Settings > File Explorer settings under the File Explorer + version control header.
25+
26+
![File Explorer version control Settings](../images/fe-source-settings.png)

hub/advanced-settings/index.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Advanced Windows Settings (PREVIEW)
3+
description: Learn about the settings provided in the Advanced page of Windows settings.
4+
ms.reviewer: cinnamon
5+
ms.topic: article
6+
ms.date: 04/10/2025
7+
---
8+
9+
# Advanced Windows Settings (PREVIEW)
10+
11+
**Advanced Windows settings** is a redesign of the original **For Developers** page in Windows settings with additional settings to help you be more productive.
12+
13+
## Prerequisites
14+
15+
Advanced settings is available in the [Windows Beta channel](https://aka.ms/BetaLatest). See [Get started with the Windows Insider Program](/windows-insider/get-started) for more information about joining the program and selecting a channel. After you've joined the Beta channel, you can ([check for Windows updates](ms-settings:windowsupdate)).
16+
17+
## FAQ
18+
19+
### Why was For Developers renamed to Advanced?
20+
21+
Most of the settings available within the For Developers page are useful for other advanced Windows users as well. In order to help all users discover these settings, the page was redesigned and renamed to Advanced.
22+
23+
## Windows Advanced Settings system component open source repository
24+
25+
To provide enhanced functionality to the Advanced settings page, there is an open-source system component that enables features like [File Explorer version control integration](fe-version-control.md). We welcome your contributions and feedback, and the source code for the Windows Advanced Settings system component is available on [GitHub](https://github.com/microsoft/windowsAdvancedSettings).

hub/sudo/index.md renamed to hub/advanced-settings/sudo/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The Sudo for Windows command is available in [Windows 11, version 24H2](https://
2424

2525
To enable Sudo for Windows, open `Settings > System > For Developers` and set **Enable sudo** to **On**.
2626

27-
![Enable Sudo](../images/sudo-enable.png)
27+
![Enable Sudo](../../images/sudo-enable.png)
2828

2929
>[!WARNING]
3030
> Sudo for Windows can be used as a potential escalation of privilege vector when enabled in certain configurations. You should make sure to be aware of the [security considerations](#security-considerations) when enabling the sudo command on your machine.

hub/apps/design/devices/designing-for-MR.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ When creating a UWP app that will potentially be used on a Mixed Reality platfor
116116

117117
* Remember, gaze is not as accurate as mouse pointing. Smaller mouse targets or buttons may cause frustration for your users, so resize controls accordingly. If they are designed for touch, they will work in Mixed Reality, but you may decide to enlarge some buttons at runtime. See [Updating 2D UWP apps for Windows Mixed Reality](/windows/mixed-reality/develop/porting-apps/building-2d-apps).
118118

119-
* The HoloLens defines the color black as the absence of light. It's simply not rendered, allowing the "real world" so show through. Your application should not use black if this is would cause confusion. In a Mixed Reality headset, black is black.
119+
* Your application should not use black as this could cause confusion. The HoloLens defines the color black as the absence of light and is simply not rendered, allowing the "real world" to show through. In a Mixed Reality headset, black is rendered as black.
120120

121121
* The HoloLens does not support color themes in apps, and defaults to blue to ensure the best experience for users. For more advice about selecting colors, you should consult [this topic](https://developer.microsoft.com/windows/mixed-reality/color_light_and_materials) which discusses the use of color and material in Mixed Reality designs.
122122

hub/apps/design/shell/tiles-and-notifications/firewall-allowlist-config.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ Regardless of the method you choose from below, you'll need to allow network tra
4343
</CloudServiceDNS>
4444
<ClientDNS>
4545
<DNS FQDN="*.wns.windows.com"/>
46-
<DNS FQDN="*.notify.live.net"/>
4746
</ClientDNS>
4847
<CloudServiceIPs>
4948
<IpRange Subnet=""/>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Grant package identity by packaging with external location
3+
description: Overview of how to grant package identity to an unpackaged Win32 app so that you can use modern Windows features in that app.
4+
ms.date: 05/20/2025
5+
ms.topic: article
6+
keywords: windows 11, windows 10, desktop, sparse, package, identity, external, location, MSIX, Win32, Visual Studio
7+
ms.localizationpriority: medium
8+
---
9+
10+
# Grant package identity by packaging with external location
11+
12+
Many Windows features can be used by a desktop app only if that app has package identity at runtime. See [Features that require package identity](/windows/apps/desktop/modernize/modernize-packaged-apps). If you have an existing desktop app, with its own installer, then there's very little you need to change in order to benefit from package identity.
13+
14+
Starting in Windows 10, version 2004, you can grant package identity to an app simply by building and registering a *package with external location* with your app. Packaging with external location allows you to register a simple identity package in your existing installer without changing how or where you install your application. You might be familiar with full MSIX packaging; this is a much lighter-weight option.
15+
16+
You can [add an identity package to an existing Visual Studio project](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps-visual-studio) with the Windows Application Packaging Project and [Package with External Location](https://marketplace.visualstudio.com/items?itemName=WapProj-PackageWithExternalLocation.wapprojPackageWithExternalLocation) extension. This approach is recommended when there is a single application project that needs identity. The tooling provides a visual manifest editor, visual Resource Designer for localization, graphical wizard for creating and trusting self-signed certificates, automatic updating of application manifests, and PowerShell scripts to register and unregister the identity package for local testing.
17+
18+
If you don't build with Visual Studio or want to bundle multiple application executables under a shared identity, you can [build an identity package manually](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps).
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Grant package identity by packaging with external location in Visual Studio
3+
description: How to use Visual Studio to grant package identity to an unpackaged Win32 app so that you can use modern Windows features in that app.
4+
ms.date: 05/09/2025
5+
ms.topic: article
6+
keywords: windows 11, windows 10, desktop, sparse, package, identity, external, location, MSIX, Win32, Visual Studio
7+
ms.localizationpriority: medium
8+
---
9+
10+
# Grant package identity by packaging with external location in Visual Studio
11+
12+
For the motivations behind adding package identity, as well as the differences between building identity packages in Visual Studio and building them manually, see [Overview](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps-overview).
13+
14+
This topic describes how to build and register an identity package by using Visual Studio. For info about building an identity package manually, see [Grant package identity by packaging with external location manually](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps).
15+
16+
These are the steps (which this topic describes in detail) to build and register an identity package by using Visual Studio:
17+
18+
1. [Install Visual Studio components](#install-visual-studio-components)
19+
2. [Add a Packaging Project to your solution](#add-a-packaging-project-to-your-solution)
20+
3. [Configure the Packaging Project for signing](#configure-the-packaging-project-for-signing)
21+
4. [Build and test the Packaging Project in Release Mode](#build-and-test-the-packaging-project-in-release-mode)
22+
5. [Register the identity package in your installer](#register-the-identity-package-in-your-installer)
23+
6. [Optional steps](#optional-steps)
24+
25+
## Install Visual Studio components
26+
27+
Creating an identity package in Visual Studio requires the **Windows Application Packaging Project** and the **Package with External Location** extension.
28+
29+
Install the **Windows Application Packaging Project** components as described in [Required Visual Studio version and workload](/windows/msix/desktop/desktop-to-uwp-packaging-dot-net#required-visual-studio-version-and-workload).
30+
31+
In Visual Studio, via the **Extensions** > **Manage Extensions** menu item, install the **Package with External Location** extension.
32+
33+
## Add a Packaging Project to your solution
34+
35+
To add a Packaging Project to your solution with a Project Reference to your application project, see [Set up the Windows Application Packaging Project in your solution](/windows/msix/desktop/desktop-to-uwp-packaging-dot-net#set-up-the-windows-application-packaging-project-in-your-solution).
36+
37+
Enable packaging with external location by right-clicking the Packaging Project in Solution Explorer, navigating to the **External Location** tab provided by the **Package with External Location** extension, enabling the **Package with External Location** option, and saving the changes.
38+
39+
Set the **Package name** and **Publisher display name** fields of the identity package by double-clicking `Package.appxmanifest` in the Packaging Project to open the visual manifest editor, navigating to the Packaging tab, and setting the **Package name** and **Publisher display name** fields to the desired values.
40+
41+
If you have a custom application manifest in your application project, then for info about synchronizing the values with the values from `Package.appxmanifest`, see [Add identity metadata to your desktop application manifests](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps#add-identity-metadata-to-your-desktop-application-manifests). The **Package with External Location** extension uses **App** for the **applicationId**.
42+
43+
If you don't have a custom application manifest, then Visual Studio will produce the appropriate artifacts during the build process. .NET projects embed a manifest by default, which conflicts with the produced manifest artifacts. To resolve that, right-click the Project, open **Properties**, and in the **Application** tab under the **Manifest** section, change **Embed manifest with default settings** to **Create application without a manifest**.
44+
45+
## Configure the Packaging Project for signing
46+
47+
Generate a certificate for signing by walking through the **Publish** > **Create App Packages** wizard shown in [Create an app package using the packaging wizard](/windows/msix/package/packaging-uwp-apps#create-an-app-package-using-the-packaging-wizard).
48+
49+
On the first screen, ensure that **Sideloading** is selected, and **Enable automatic updates** is unchecked. On the second screen, create a self-signed certificate if necessary, then click the **Trust** button to trust it in the Local Machine Trusted People certificate store. On the final screen, set **Generate app bundle** to *Never*, and click **Create** to complete the signing configuration.
50+
51+
## Build and test the Packaging Project in Release Mode
52+
53+
To avoid complications from Debug mode dependencies, set the Build configuration to Release mode, and build the Packaging Project.
54+
55+
Building the Packaging Project produces a **PackageWithExternalLocation** folder in the build output. That folder contains the `MSIX` file representing the identity package, as well as `Install` and `Remove` PowerShell scripts to register and unregister the generated identity package locally for testing.
56+
57+
The `Install` PowerShell script registers the generated identity package locally, and connects it with the `ExternalLocation` sibling folder for testing purposes. To test the application with identity, run the application executable from the `ExternalLocation` folder.
58+
59+
To associate identity with your application in production, you'll need to ship the generated identity package with your application, and register it in your installer.
60+
61+
## Register the identity package in your installer
62+
63+
The last step to associate identity with your application is to register the identity package in your installer, and associate it with your application's installation directory.
64+
65+
The code listing below demonstrates registering the identity package by using the [**PackageManager.AddPackageByUriAsync**](/uwp/api/windows.management.deployment.packagemanager.addpackagebyuriasync) method.
66+
67+
```csharp
68+
using Windows.Management.Deployment;
69+
70+
...
71+
72+
var externalUri = new Uri(externalLocation);
73+
var packageUri = new Uri(packagePath);
74+
75+
var packageManager = new PackageManager();
76+
77+
var options = new AddPackageOptions();
78+
options.ExternalLocationUri = externalUri;
79+
80+
await packageManager.AddPackageByUriAsync(packageUri, options);
81+
```
82+
83+
Be aware of the following important details about this code:
84+
* Set `externalLocation` to the absolute path of your application's installation directory (without any executable names).
85+
* Set `packagePath` to the absolute path of the identity package produced in the previous step (with the file name).
86+
87+
For production-ready code in C# and C++, see [Sample apps](#sample-apps) below. The samples also demonstrate how to unregister the identity package on uninstall.
88+
89+
## Sample apps
90+
91+
For fully functional C# and C++ apps that demonstrate how to register an identity package, see the [PackageWithExternalLocation](https://aka.ms/sparsepkgsample) samples.
92+
93+
## Optional steps
94+
95+
### Localization
96+
97+
Some features that understand package identity might result in strings from your identity package manifest being displayed in the Windows OS. For example:
98+
99+
* An application that uses camera, microphone, or location APIs will have a dedicated control toggle in Windows Privacy Settings along with a brokered consent prompt that users can use to grant or deny access to those sensitive resources.
100+
* An application that registers a share target will show up in the share dialog.
101+
102+
To localize the strings in the identity package manifest, see [Localize the manifest](/windows/uwp/app-resources/using-mrt-for-converted-desktop-apps-and-games#phase-1-localize-the-manifest).

hub/apps/desktop/modernize/grant-identity-to-nonpackaged-apps.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
11
---
2+
title: Grant package identity by packaging with external location manually
23
description: Learn how to grant package identity to an unpackaged Win32 app so that you can use modern Windows features in that app.
3-
title: Grant package identity by packaging with external location
44
ms.date: 10/13/2023
55
ms.topic: article
66
keywords: windows 10, desktop, sparse, package, identity, external, location, MSIX, Win32
77
ms.localizationpriority: medium
88
ms.custom: RS5
99
---
1010

11-
# Grant package identity by packaging with external location
11+
# Grant package identity by packaging with external location manually
1212

13-
Many Windows features can be used by a desktop app only if that app has package identity at runtime. See [Features that require package identity](/windows/apps/desktop/modernize/modernize-packaged-apps). If you have an existing desktop app, with its own installer, there's very little you need to change in order to benefit from package identity.
13+
For the motivations behind adding package identity, as well as the differences between building identity packages in Visual Studio and building them manually, see [Overview](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps-overview).
1414

15-
Starting in Windows 10, version 2004, you can grant package identity to an app simply by building and registering a *package with external location* with your app. Packaging with external location allows you to register a simple identity package in your existing installer without changing how or where you install your application. If you're familiar with full MSIX packaging, this is a much lighter-weight option as described below.
15+
This topic describes how to build and register an identity package manually. For info about building an identity package in Visual Studio, see [Grant package identity by packaging with external location in Visual Studio](/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps-visual-studio).
1616

17-
To build and register an identity package, follow these steps:
17+
These are the steps (which this topic describes in detail) to build and register an identity package manually:
1818

1919
1. [Create a package manifest for the identity package](#create-a-package-manifest-for-the-identity-package)
2020
2. [Build and sign the identity package](#build-and-sign-the-identity-package)
2121
3. [Add identity metadata to your desktop application manifests](#add-identity-metadata-to-your-desktop-application-manifests)
2222
4. [Register the identity package in your installer](#register-the-identity-package-in-your-installer)
23+
5. [Optional steps](#optional-steps)
2324

2425
## Create a package manifest for the identity package
2526

@@ -154,3 +155,14 @@ For production-ready code in C# and C++, see [Sample apps](#sample-apps) below.
154155
## Sample apps
155156

156157
See the [PackageWithExternalLocation](https://aka.ms/sparsepkgsample) samples for fully functional C# and C++ apps that demonstrate how to register an identity package.
158+
159+
## Optional steps
160+
161+
### Localization
162+
163+
Some features that understand package identity might result in strings from your identity package manifest being displayed in the Windows OS. For example:
164+
165+
* An application that uses camera, microphone, or location APIs will have a dedicated control toggle in Windows Privacy Settings along with a brokered consent prompt that users can use to grant or deny access to those sensitive resources.
166+
* An application that registers a share target will show up in the share dialog.
167+
168+
To localize the strings in the identity package manifest, see [Localize the manifest](/windows/uwp/app-resources/using-mrt-for-converted-desktop-apps-and-games#phase-1-localize-the-manifest).

0 commit comments

Comments
 (0)