Packaged applications may need to access resources outside of the sandbox. Examples of such resources include user files, pictures, registry items, camera, location, and microphone, among others. [Capability declaration](https://learn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations) allows sandboxed applications to access some of those resources. Declarations are made in the sandboxed application's package manifest. See [msix-packaging-tool](../packaging/msix-packaging-tool.md) for reference.
6
6
7
-
Application CapabilityProfiler is a set of tools that help identify what capabilities may need to be declared by an application package, so it's granted the resource access it needs. Furthermore, it provides useful diagnostic information on failed access attempts by the application package.
7
+
Application capabilityprofiler is a set of tools that help identify what capabilities may need to be declared by an application package, so it's granted the resource access it needs. Furthermore, it provides useful diagnostic information on failed access attempts by the application package.
8
8
9
9
## Profiling step 0: set up the target system for profiling
10
10
skipped 4 lines
15
15
#### 3. Install PowerShell 7
16
16
17
17
See [Installing PowerShell on Windows](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3) for instructions.
18
+
This is required for [Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler](reference/Microsoft.Windows.Win32Isolation.ApplicationCapabilityProfiler.md) module compatibility.
18
19
19
20
#### 4. Install Windows Performance Recorder (WPR) if not already installed and add it to PATH.
#### 5. Download the ApplicationCapabilityProfiler archive and extract it to a convenient path.
30
+
#### 5. Download the applicationcapabilityprofiler archive and extract it to a convenient path.
30
31
31
-
The ApplicationCapabilityProfiler archive can be downloaded from this project's release assets.
32
+
The applicationcapabilityprofiler archive can be downloaded from this project's [release assets](../../../..//releases).
32
33
33
34
#### 6. Follow the instructions on [msix-packaging-tool](../packaging/msix-packaging-tool.md) to package the application and install it on the target system.
The Start-Profiling cmdlet takes the path to the target application package manifest or the full name of the application package.
66
69
Start-Profiling will instrument the target application package for trace logging and enable a trace logging provider for access attempts made by the target application package.
67
-
Start-Profiling requires administrator privileges and that Developer Mode be enabled. See [Start-Profiling](Start-Profiling.md) for details.
70
+
Start-Profiling requires administrator privileges and that Developer Mode be enabled. See [Start-Profiling](reference/Start-Profiling.md) for details.
The Stop-Profiling cmdlet stops an access attempt trace logging session that has been started and takes away the instrumentation for any application packages that had been instrumented for trace logging.
82
86
Stop-Profiling takes an optional trace path parameter that controls the path used for the output Event Trace Log (.etl) file. <current_directory>\trace.etl by default.
83
-
Stop-Profiling requires administrator privileges and that Developer Mode be enabled. See [Stop-Profiling](Stop-Profiling.md) for details.
87
+
Stop-Profiling requires administrator privileges and that Developer Mode be enabled. See [Stop-Profiling](reference/Stop-Profiling.md) for details.
84
88
85
89
```PowerShell
86
90
Stop-Profiling
skipped 8 lines
95
99
Get-ProfilingResults takes in the path to the trace file to parse. If none is provided, Get-ProfilingResults will attempt to Stop-Profiling to obtain a trace to parse.
96
100
Get-ProfilingResults optionally takes a path to a target application manifest. If information in the parsed trace can be attributed to the target application package manifest, the file is edited directly with the output capabilities. Otherwise, a copy of the manifest is made for each of the packages identified in the trace and their identified capabilities.
97
101
98
-
See [Get-ProfilingResults](Get-ProfilingResults.md) for details.
102
+
See [Get-ProfilingResults](reference/Get-ProfilingResults.md) for details.