Skip to content

Commit 52b7d6c

Browse files
authored
Merge pull request #2960 from corob-msft/docs/corob/2262
Update /MANIFESTUAC linker opt per 2262
2 parents 2b18399 + 9dbf6dc commit 52b7d6c

1 file changed

Lines changed: 27 additions & 28 deletions

File tree

docs/build/reference/manifestuac-embeds-uac-information-in-manifest.md

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "/MANIFESTUAC (Embeds UAC information in manifest)"
3-
ms.date: "11/04/2016"
3+
ms.date: "06/12/2020"
44
f1_keywords: ["VC.Project.VCLinkerTool.UACUIAccess", "VC.Project.VCLinkerTool.UACExecutionLevel", "VC.Project.VCLinkerTool.EnableUAC"]
55
helpviewer_keywords: ["/MANIFESTUAC linker option", "MANIFESTUAC linker option", "-MANIFESTUAC linker option"]
66
ms.assetid: 2d243c39-fa13-493c-b56f-d0d972a1603a
@@ -11,52 +11,51 @@ Specifies whether User Account Control (UAC) information is embedded in the prog
1111

1212
## Syntax
1313

14-
```
15-
/MANIFESTUAC
16-
/MANIFESTUAC:NO
17-
/MANIFESTUAC:fragment
18-
/MANIFESTUAC:level=_level
19-
/MANIFESTUAC:uiAccess=_uiAccess
20-
```
14+
> **`/MANIFESTUAC`**\
15+
> **`/MANIFESTUAC:NO`**\
16+
> **`/MANIFESTUAC:`**_`level`_\
17+
> **`/MANIFESTUAC:`**_`uiAccess`_\
18+
> **`/MANIFESTUAC:`**_`fragment`_
2119
2220
### Parameters
2321

24-
*fragment*<br/>
25-
A string that contains the `level` and `uiAccess` values. For more information, see the Remarks section later in this topic.
22+
**`NO`**<br/>
23+
The linker doesn't embed UAC information in the program manifest.
2624

27-
*_level*<br/>
28-
One of *asInvoker*, *highestAvailable*, or *requireAdministrator*. Defaults to asInvoker. For more information, see the Remarks section later in this topic.
25+
*`level`*<br/>
26+
**`level=`** followed by one of **`'asInvoker'`**, **`'highestAvailable'`**, or **`'requireAdministrator'`**. Defaults to **`'asInvoker'`**. For more information, see the [Remarks](#remarks) section.
2927

30-
*_uiAccess*<br/>
31-
**true** if you want the application to bypass user interface protection levels and drive input to higher-permission windows on the desktop; otherwise, **false**. Defaults to **false**. Set to **true** only for user interface accessibility applications.
28+
*`uiAccess`*<br/>
29+
**`uiAccess='true'`** if you want the application to bypass user interface protection levels and drive input to higher-permission windows on the desktop; otherwise, **`uiAccess='false'`**. Defaults to **`uiAccess='false'`**. Set this argument to **`uiAccess='true'`** only for user interface accessibility applications.
30+
31+
*`fragment`*<br/>
32+
A string that contains the *`level`* and *`uiAccess`* values. May optionally be enclosed in double quotes. For more information, see the [Remarks](#remarks) section.
3233

3334
## Remarks
3435

35-
If you specify multiple /MANIFESTUAC options on the command-line, the last one entered takes precedence.
36+
If you specify multiple **`/MANIFESTUAC`** options on the command-line, the last one entered takes precedence.
3637

37-
The choices for /MANIFESTUAC:level are as follows:
38+
The choices for **`/MANIFESTUAC:`**_`level`_ are as follows:
3839

39-
- `asInvoker`: The application will run with the same permissions as the process that started it. The application can be elevated to a higher permission level by selecting **Run as Administrator**.
40+
- **`level='asInvoker'`**: The application runs at the same permission level as the process that started it. You can elevate the application to a higher permission level by selecting **Run as Administrator**.
4041

41-
- highestAvailable: The application will run with the highest permission level that it can. If the user who starts the application is a member of the Administrators group, this option is the same as requireAdministrator. If the highest available permission level is higher than the level of the opening process, the system will prompt for credentials.
42+
- **`level='highestAvailable'`**: The application runs at the highest permission level that it can. If the user who starts the application is a member of the Administrators group, this option is the same as **`level='requireAdministrator'`**. If the highest available permission level is higher than the level of the opening process, the system prompts for credentials.
4243

43-
- requireAdministrator: The application will run with administrator permissions. The user who starts the application must be a member of the Administrators group. If the opening process is not running with administrative permissions, the system will prompt for credentials.
44+
- **`level='requireAdministrator'`**: The application runs using administrator permissions. The user who starts the application must be a member of the Administrators group. If the opening process isn't running with administrative permissions, the system prompts for credentials.
4445

45-
You can specify the level and uiAccess values in one step by using the /MANIFESTUAC:fragment option. The fragment must be in the following form:
46+
You can specify both the *`level`* and *`uiAccess`* values in one step by using the **`/MANIFESTUAC:`**_`fragment`_ option. The fragment must be in the following form:
4647

47-
```
48-
"level=[ asInvoker | highestAvailable | requireAdministrator ] uiAccess=[ true | false ]"
49-
```
48+
> **`/MANIFESTUAC:`** \[ **`"`** ] **`level=`** { **`'asInvoker'`** | **`'highestAvailable'`** | **`'requireAdministrator'`** } **`uiAccess=`** { **`'true'`** | **`'false'`** } \[ **`"`** ]
5049
51-
### To set this linker option in the Visual Studio development environment
50+
For example:
5251

53-
1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
52+
**`/MANIFESTUAC:"level='highestAvailable' uiAccess='true'"`**
5453

55-
1. Expand the **Configuration Properties** node.
54+
### To set this linker option in the Visual Studio development environment
5655

57-
1. Expand the **Linker** node.
56+
1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
5857

59-
1. Select the **Manifest File** property page.
58+
1. Select the **Configuration Properties** > **Linker** > **Manifest File** property page.
6059

6160
1. Modify the **Enable User Account Control (UAC)**, **UAC Execution Level**, and **UAC Bypass UI Protection** properties.
6261

0 commit comments

Comments
 (0)