You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: hub/apps/develop/smart-app-control/overview.md
+15-12Lines changed: 15 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,36 @@
1
1
---
2
2
title: Smart App Control
3
-
description: Overview of Smart App Control
4
-
ms.topic: article
5
-
ms.date: 09/20/2022
3
+
description: Overview of Smart App Control, a Windows feature that protects users from untrusted or potentially dangerous code.
4
+
ms.topic: concept-article
5
+
ms.date: 07/15/2025
6
+
# customer intent: As a Windows developer, I want to understand how Smart App Control works so that I can ensure my apps are compatible and secure.
6
7
---
7
8
8
-
# Smart App Control
9
+
# Smart App Control overview
9
10
10
-
Smart App Control is a new app execution control feature that combines Microsoft’s app intelligence services and Windows' code integrity features to protect users from untrusted or potentially dangerous code. Smart App Control selectively allows apps and binaries to run only if they're likely to be safe. Microsoft's app intelligence services provide safety predictions for many popular apps. If the app intelligence service is unable to make a prediction, then Smart App Control will still allow an app to run if it is signed with a certificate issued by a certificate authority (CA) within the Trusted Root Program.
11
+
Smart App Control is an app execution control feature that combines Microsoft’s app intelligence services and Windows' code integrity features to protect users from untrusted or potentially dangerous code. Smart App Control selectively allows apps and binaries to run only if they're likely to be safe. Microsoft's app intelligence services provide safety predictions for many popular apps. If the app intelligence service is unable to make a prediction, then Smart App Control will still allow an app to run if it is signed with a certificate issued by a certificate authority (CA) within the Trusted Root Program.
11
12
12
13
Malware, Potentially Unwanted Apps (PUA), and unknown, unsigned code are blocked by default.
13
14
14
15
## Smart App Control requirements
15
16
16
-
Smart App Control is designed to protect a device for its entire lifetime. As such, it can only be enabled on a clean install of a version of Windows that contains the Smart App Control feature. Additionally, Smart App Control is only enabled in certain regions. We hope to roll out additional regions soon.
17
+
Smart App Control is designed to protect a device for its entire lifetime. As such, it can only be enabled on a clean install of a version of Windows that contains the Smart App Control feature. Additionally, Smart App Control is only enabled in certain regions. This feature is expected to roll out to additional regions soon.
17
18
18
19
- Windows 11, version 22572 or higher,
19
20
- A clean Windows install,
20
-
> [!NOTE]
21
-
> [Resetting your device](/windows-hardware/service/desktop/resetting-the-pc) counts as a clean Windows install.
21
+
22
+
> [!NOTE]
23
+
> [Resetting your device](/windows-hardware/service/desktop/resetting-the-pc) counts as a clean Windows install.
24
+
22
25
- North America or Europe
23
26
24
27
## Smart App Control stages
25
28
26
-
Smart App Control can be running in either*evaluation mode* or *enforcement mode*.
29
+
Smart App Control can either run in *evaluation mode* or *enforcement mode*.
27
30
28
-
In *evaluation mode*, Smart App Control runs in the background, observing activity on the device. During this time, Smart App Control is evaluating whether the device is a good fit for the protection it offers based the variety of apps installed and used on the device.
31
+
In *evaluation mode*, Smart App Control runs in the background, observing activity on the device. During this time, Smart App Control is evaluating whether the device is a good fit for the protection it offers based on the variety of apps installed and used on the device.
29
32
30
-
In *enforcement mode*, Smart App Control is actively protecting your device. Apps cannot be run unless they are recognized by Microsoft's app intelligence services, or signed with a trusted certificate.
33
+
In *enforcement mode*, Smart App Control is actively protecting your device. Apps cannot be run unless they are recognized by Microsoft's app intelligence services, or they are signed with a trusted certificate.
31
34
32
35
## Frequently Asked Questions
33
36
@@ -53,6 +56,6 @@ Smart App Control allows apps and binaries to run only if they're likely to be s
53
56
54
57
Note that some older Microsoft binaries are considered unsafe because attackers can potentially use them to gain unauthorized access. For a complete list of these files, please see [Application Control for Windows](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control#smart-app-control-enforced-blocks).
55
58
56
-
## Further information
59
+
## Related content
57
60
58
61
-[What is Smart App Control?](https://support.microsoft.com/topic/what-is-smart-app-control-285ea03d-fa88-4d56-882e-6698afdb7003)
Copy file name to clipboardExpand all lines: hub/apps/how-tos/hello-world-winui3.md
+28-20Lines changed: 28 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,60 +1,60 @@
1
1
---
2
-
title: How to build a Hello World app using C# / WinUI 3 / Windows App SDK
3
-
description: Get started with WinUI 3 / Windows App SDK by building a simple Windows desktop app that displays "Hello world!".
2
+
title: How to build a Hello World app using C# / WinUI / Windows App SDK
3
+
description: Get started with WinUI / Windows App SDK by building a simple Windows desktop app that displays "Hello world!".
4
4
ms.topic: how-to
5
-
ms.date: 2/20/2023
5
+
ms.date: 07/15/2025
6
6
keywords: windows app sdk, winappsdk, winui3
7
7
ms.localizationpriority: medium
8
8
ms.custom: template-quickstart
9
9
audience: new-desktop-app-developers
10
10
content-type: how-to
11
+
# customer intent: As a new Windows desktop app developer, I want to build a simple "Hello world!" app using WinUI, Windows App SDK, and C# so that I can learn the basics of Windows App SDK development.
11
12
---
12
13
13
-
# Build a Hello World app using C# and WinUI 3 / Windows App SDK
14
+
# Build a Hello World app using C# and WinUI / Windows App SDK
14
15
15
-
In this how-to, we'll use Visual Studio 2022 and WinUI 3 / Windows App SDK to build a Windows desktop app that displays "Hello world!" when launched:
16
+
In this how-to, we'll use Visual Studio 2022, WinUI, and Windows App SDK to build a Windows desktop app that displays "Hello world!" when launched:
:::image type="content" source="images/hello-world/end-result.png" alt-text="A screenshot of the 'Hello world' app we're building.":::
18
19
19
20
This how-to is targeted at **beginners** and makes no assumptions about your familiarity with Windows desktop development.
20
21
21
22
## Prerequisites
22
23
23
-
This tutorial uses Visual Studio and builds on the WinUI 3 blank app template. To get set up, follow the instructions in [Get started with WinUI](../get-started/start-here.md). You'll install Visual Studio, configure it for developing apps with WinUI, create the Hello World project, and make sure you have the latest version of WinUI.
24
+
This tutorial uses Visual Studio and builds on the WinUI blank app template. To get set up, follow the instructions in [Get started with WinUI](../get-started/start-here.md). You'll install Visual Studio, configure it for developing apps with WinUI, create the Hello World project, and make sure you have the latest version of WinUI.
24
25
25
26
When you've done that, come back here to learn more about the Hello World project and make some updates to it.
26
27
27
28
## Review the blank app project
28
29
29
30
The WinUI project templates in Visual Studio contain everything you need to build and run your app. The Blank App template creates a Window with an interactive Button that looks like this when you run it in debug mode.
30
31
31
-
:::image type="content" source="images/hello-world/click-me.png" alt-text="Templated project built running":::
32
+
:::image type="content" source="images/hello-world/click-me.png" alt-text="A screenshot of the templated project built and running.":::
32
33
33
34
Click the `Click Me` button for a demonstration of [event handling](/windows/uwp/xaml-platform/events-and-routed-events-overview):
:::image type="content" source="images/hello-world/clicked-me.png" alt-text="A screenshot of the 'Click Me' button.":::
36
37
37
38
In this case, a [Button](../design/controls/buttons.md#create-a-button) control's [Click](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.buttonbase.click) event is bound to the `myButton_Click` event handler located in `MainWindow.xaml.cs`:
38
39
39
-
:::image type="content" source="images/hello-world/code-screenshot.png" alt-text="The 'Click Me' button's event handler, located in your main window's code-behind file":::
40
+
:::image type="content" source="images/hello-world/code-screenshot.png" alt-text="A screenshot of the 'Click Me' button's event handler, located in your main window's code-behind file.":::
40
41
41
42
While `MainWindow.xaml.cs` contains our main window's **business logic** concerns in the form of a code-behind file, its **presentation** concerns live in `MainWindow.xaml`:
42
43
43
-
:::image type="content" source="images/hello-world/markup-screenshot.png" alt-text="The 'Click Me' button's XML markup, located in your main window's markup file":::
44
+
:::image type="content" source="images/hello-world/markup-screenshot.png" alt-text="A screenshot of the 'Click Me' button's XML markup, located in your main window's markup file.":::
44
45
45
46
This separation of **business logic** and **presentation** concerns lets you bind data and events to and from your application's UI using a consistent application development pattern.
46
47
47
-
48
48
### The project's file structure
49
49
50
50
Let's review the project's file structure before making code changes. This is located in the [Solution Explorer](/visualstudio/ide/use-solution-explorer).
51
51
52
52
> [!TIP]
53
-
> To locate features like the Solution Explorer, click on Search on navigation bar and use the Feature Search option. :::image type="content" source="images/hello-world/feature-search.png" alt-text="Feature Search":::
53
+
> To locate features like the Solution Explorer, click on Search on navigation bar and use the Feature Search option. :::image type="content" source="images/hello-world/feature-search.png" alt-text="A screenshot of the Feature Search option in Visual Studio.":::
54
54
55
55
The project's file structure currently looks like this:
:::image type="content" source="images/hello-world/expanded-file-structure.png" alt-text="A screenshot of Solution Explorer in Visual Studio, showing an overview of the file structure.":::
58
58
59
59
This table describes the files, starting from the top and working down:
60
60
@@ -63,7 +63,7 @@ This table describes the files, starting from the top and working down:
63
63
|`Solution 'Hello World'`<br> 1. | This is a **solution file**, a logical container for your **projects**. Projects are often apps, but they can also be supporting class libraries. |
64
64
|`Hello World` <br> 2. | This is a **project file**, a logical container for your app's files. |
65
65
|`Dependencies` <br> 3. | Your app depends on **frameworks** (like [.NET](/dotnet/fundamentals/) and the [Windows SDK](https://developer.microsoft.com/windows/downloads/windows-sdk/)) and **packages** (like [Windows App SDK](https://www.nuget.org/packages/Microsoft.WindowsAppSDK/#versions-body-tab)). As you introduce more sophisticated functionality and third-party libraries into your app, additional dependencies will appear here. |
66
-
|`Properties` <br> 4. | By convention, WinUI 3 projects place publish profiles and launch configuration files in this folder. |
66
+
|`Properties` <br> 4. | By convention, WinUI projects place publish profiles and launch configuration files in this folder. |
67
67
|`PublishProfiles` <br> 5. | Your **publish profiles** specify your app's publishing configuration across a variety of platforms. |
68
68
|`launchSettings.json` <br> 6. | This file lets you configure **launch profiles** that can be used when running your app via `dotnet run`. |
69
69
|`Assets` <br> 7. | This folder contains your app's logo, images, and other media assets. |
@@ -119,7 +119,7 @@ Reset your app by selecting Build > Rebuild Solution from the menu or pressing C
119
119
120
120
The app will update and you should see a red `Hello world!`:
121
121
122
-
:::image type="content" source="images/hello-world/red-hello.png" alt-text="A red 'Hello world!'":::
122
+
:::image type="content" source="images/hello-world/red-hello.png" alt-text="A screenshot of a window with a red 'Hello world!' label.":::
123
123
124
124
## Update your app's title bar
125
125
@@ -135,9 +135,9 @@ public MainWindow()
135
135
136
136
If you restart your app, you should now see `Hello world!` in both the body and title bar:
:::image type="content" source="images/hello-world/red-hello-titled.png" alt-text="A screenshot of the 'Hello, world!' app we built.":::
139
139
140
-
Congratulations! You've built your first Windows App SDK / WinUI 3 app.
140
+
Congratulations! You've built your first WinUI app with Windows App SDK and C#.
141
141
142
142
## Recap
143
143
@@ -146,7 +146,7 @@ Here's what you accomplished in this how-to:
146
146
1. You started with Visual Studio's **project template**.
147
147
2. You experienced an **event handler** that bound a **`Button` control's****`Click` event** to a UI update.
148
148
3. You familiarized yourself with the **convention of separating presentation concerns** from **business logic** using tightly-coupled **XAML markup files** and **C# code-behind files**, respectively.
149
-
4. You reviewed the default WinUI 3 project **file structure**.
149
+
4. You reviewed the default WinUI project **file structure**.
150
150
5. You modified both the presentation layer (XAML markup) and business logic (code-behind) to support a new **`TextBlock` control** within a **`StackPanel`**.
151
151
6. You reviewed **reference docs** to better understand the **`StackPanel` control's properties**.
152
152
7. You updated your main window's **title bar**.
@@ -261,6 +261,10 @@ namespace Hello_World
261
261
262
262
## FAQ
263
263
264
+
**Q: What's the difference between WinUI and WinUI 3?**
265
+
266
+
In the context of this article, WinUI and WinUI 3 are the same thing. The term "WinUI 3" was used to refer to the latest version of the Windows UI Library, which is a part of the Windows App SDK. These apps are now simply referred to as "WinUI" apps. WinUI 2 is the previous version of the Windows UI Library, which is still supported for building UWP apps but is not recommended for new projects.
267
+
264
268
**Q: What does "packaged" mean?**
265
269
266
270
Windows apps can be delivered to end-users using a variety of application packaging formats. When working with WinUI and Windows App SDK, **packaged apps** use MSIX to bundle your app in a way that offers convenient installation and updates to end-users. Visit [Deployment architecture and overview for framework-dependent apps](../windows-app-sdk/deployment-architecture.md) to learn more.
@@ -273,7 +277,11 @@ Although technically possible, we strongly recommend using Visual Studio 2022 to
273
277
274
278
Yes! For more information, see [Introduction to C++/WinRT](/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt).
275
279
276
-
## Related
280
+
**Q: Can I use Visual Basic to build WinUI apps?**
281
+
282
+
No, Visual Basic (VB) is not supported for building WinUI apps. The supported languages for WinUI development are C# and C++. VB is supported for building desktop apps with Windows Forms and WPF, but not for WinUI apps.
283
+
284
+
## Related content
277
285
278
286
-[Sample applications for Windows development](../get-started/samples.md)
0 commit comments