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: docs/guides/cpp.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
<!-- mslearn: true -->
2
2
# Using winapp CLI with C++ and CMake
3
3
4
-
This guide demonstrates how to use `winappcli` with a C++ application to debug with package identity and package your application as an MSIX.
4
+
This guide demonstrates how to use the `winapp` CLI with a C++ application to debug with package identity and package your application as an MSIX.
5
5
6
6
Package identity is a core concept in the Windows app model. It allows your application to access specific Windows APIs (like Notifications, Security, AI APIs, etc), have a clean install/uninstall experience, and more.
Copy file name to clipboardExpand all lines: docs/guides/dotnet.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
<!-- mslearn: true -->
2
2
# Using winapp CLI with .NET
3
3
4
-
> This guide should work for most .NET projects types. The steps have been tested with both console and UI-based projects like WPF. For working examples, check out the [dotnet-app](../../samples/dotnet-app) (console) and [wpf-app](../../samples/wpf-app) (WPF) samples in the samples folder.
4
+
> This guide should work for most .NET project types. The steps have been tested with both console and UI-based projects like WPF. For working examples, check out the [dotnet-app](../../samples/dotnet-app) (console) and [wpf-app](../../samples/wpf-app) (WPF) samples in the samples folder.
5
5
6
-
This guide demonstrates how to use `winappcli` with a .NET application to debug with package identity and package your application as an MSIX.
6
+
This guide demonstrates how to use the `winapp` CLI with a .NET application to debug with package identity and package your application as an MSIX.
7
7
8
8
Package identity is a core concept in the Windows app model. It allows your application to access specific Windows APIs (like Notifications, Security, AI APIs, etc), have a clean install/uninstall experience, and more.
Copy file name to clipboardExpand all lines: docs/guides/flutter.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
For a complete working example, check out the [Flutter sample](../../samples/flutter-app) in this repository.
5
5
6
-
This guide demonstrates how to use `winappcli` with a Flutter application to add package identity and package your app as an MSIX.
6
+
This guide demonstrates how to use the `winapp` CLI with a Flutter application to add package identity and package your app as an MSIX.
7
7
8
8
Package identity is a core concept in the Windows app model. It allows your application to access specific Windows APIs (like Notifications, Security, AI APIs, etc), have a clean install/uninstall experience, and more.
Copy file name to clipboardExpand all lines: docs/guides/tauri.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
<!-- mslearn: true -->
2
2
# Using winapp CLI with Tauri
3
3
4
-
This guide demonstrates how to use `winappcli` with a Tauri application to debug with package identity and package your application as an MSIX.
4
+
This guide demonstrates how to use the `winapp` CLI with a Tauri application to debug with package identity and package your application as an MSIX.
5
5
6
6
Package identity is a core concept in the Windows app model. It allows your application to access specific Windows APIs (like Notifications, Security, AI APIs, etc), have a clean install/uninstall experience, and more.
-`--manifest <path>` - Path to AppxManifest.xml (default: auto-detect `Package.appxmanifest` or `appxmanifest.xml` in the current directory)
256
+
-`--manifest <path>` - Path to the app manifest file, either `Package.appxmanifest` or `appxmanifest.xml` (default: auto-detect `Package.appxmanifest` or `appxmanifest.xml` in the current directory)
257
257
-`--no-install` - Don't install the package after creation
258
258
-`--keep-identity` - Keep the manifest identity as-is, without appending `.debug` to the package name and application ID
Add an execution alias (`uap5:AppExecutionAlias`) to a Package.appxmanifest. This allows launching the packaged app from the command line by typing the alias name.
345
+
346
+
```bash
347
+
winapp manifest add-alias [options]
348
+
```
349
+
350
+
**Options:**
351
+
352
+
-`--name <alias>` - Alias name (e.g. `myapp.exe`). Default: inferred from the `Executable` attribute in the manifest.
353
+
-`--manifest <path>` - Path to Package.appxmanifest (default: search current directory)
354
+
-`--app-id <id>` - Application Id to add the alias to (default: first Application element)
355
+
356
+
**What it does:**
357
+
358
+
- Reads the manifest and infers the alias from the `Executable` attribute (preserving placeholders like `$targetnametoken$.exe`)
359
+
- Adds the `uap5` namespace declaration if not already present
360
+
- Adds an `<Extensions>` block with `<uap5:AppExecutionAlias>` inside the target Application element
361
+
- If the alias already exists, reports it and exits successfully
362
+
363
+
**Examples:**
364
+
365
+
```bash
366
+
# Add alias inferred from Executable attribute (e.g. $targetnametoken$.exe)
-**app.ico** — Multi-resolution ICO file (16, 24, 32, 48, 256) for shell integration. If an existing `.ico` file is found in the assets directory (e.g. `AppIcon.ico` from a project template), it is replaced in-place rather than creating a duplicate
-**Light theme scale variants** — `.scale-{factor}_altform-colorful_theme-light` (tiles, store logo)
410
+
411
+
**SVG support:** SVG files are fully supported as source images. They are rendered as vectors directly at each target size, producing pixel-perfect results at all resolutions.
412
+
413
+
The command scales images proportionally while maintaining aspect ratio, centering them with transparent backgrounds when needed. Assets are saved to the `Assets` directory relative to the manifest location.
@@ -368,6 +462,7 @@ winapp run <input-folder> [options]
368
462
-`--unregister-on-exit` - Unregister the development package after the application exits. Only removes packages registered in development mode. Cannot be combined with `--no-launch`.
369
463
-`--detach` - Launch the application and return immediately without waiting for it to exit. Useful for CI/automation where you need to interact with the app after launch. Prints the PID to stdout (or in JSON with `--json`). Cannot be combined with `--no-launch`, `--debug-output`, `--with-alias`, or `--unregister-on-exit`.
370
464
-`--clean` - Remove the existing package's application data (LocalState, settings, etc.) before re-deploying. By default, application data is preserved across re-deployments.
465
+
-`--json` - Format output as JSON for programmatic consumption (e.g. CI/automation). Useful with `--detach` to capture the PID. Cannot be combined with `--with-alias` or `--debug-output`.
371
466
372
467
**Application data persistence:**
373
468
@@ -487,101 +582,6 @@ winapp unregister --json
487
582
488
583
---
489
584
490
-
#### manifest add-alias
491
-
492
-
Add an execution alias (`uap5:AppExecutionAlias`) to a Package.appxmanifest. This allows launching the packaged app from the command line by typing the alias name.
493
-
494
-
```bash
495
-
winapp manifest add-alias [options]
496
-
```
497
-
498
-
**Options:**
499
-
500
-
-`--name <alias>` - Alias name (e.g. `myapp.exe`). Default: inferred from the `Executable` attribute in the manifest.
501
-
-`--manifest <path>` - Path to Package.appxmanifest (default: search current directory)
502
-
-`--app-id <id>` - Application Id to add the alias to (default: first Application element)
503
-
504
-
**What it does:**
505
-
506
-
- Reads the manifest and infers the alias from the `Executable` attribute (preserving placeholders like `$targetnametoken$.exe`)
507
-
- Adds the `uap5` namespace declaration if not already present
508
-
- Adds an `<Extensions>` block with `<uap5:AppExecutionAlias>` inside the target Application element
509
-
- If the alias already exists, reports it and exits successfully
510
-
511
-
**Examples:**
512
-
513
-
```bash
514
-
# Add alias inferred from Executable attribute (e.g. $targetnametoken$.exe)
-**app.ico** — Multi-resolution ICO file (16, 24, 32, 48, 256) for shell integration. If an existing `.ico` file is found in the assets directory (e.g. `AppIcon.ico` from a project template), it is replaced in-place rather than creating a duplicate
-**Light theme scale variants** — `.scale-{factor}_altform-colorful_theme-light` (tiles, store logo)
556
-
557
-
**SVG support:** SVG files are fully supported as source images. They are rendered as vectors directly at each target size, producing pixel-perfect results at all resolutions.
558
-
559
-
The command scales images proportionally while maintaining aspect ratio, centering them with transparent backgrounds when needed. Assets are saved to the `Assets` directory relative to the manifest location.
Run a Microsoft Store Developer CLI command. This command will download the Microsoft Store Developer CLI if not already downloaded. Learn more about the Microsoft Store Developer CLI here: ([https://aka.ms/msstoredevcli](https://aka.ms/msstoredevcli)).
784
+
Run a Microsoft Store Developer CLI command. This command will download the Microsoft Store Developer CLI if not already downloaded. Learn more about the [Microsoft Store Developer CLI](https://aka.ms/msstoredevcli).
785
785
786
786
```bash
787
787
winapp store [args...]
@@ -951,13 +951,37 @@ REM Set a custom location for winapp's global cache
951
951
set WINAPP_CLI_CACHE_DIRECTORY=d:\temp\.winapp
952
952
```
953
953
954
-
In **Powershell** and **pwsh**:
954
+
In **PowerShell** and **pwsh**:
955
955
```pwsh
956
956
# Set a custom location for winapp's global cache
957
957
$env:WINAPP_CLI_CACHE_DIRECTORY=d:\temp\.winapp
958
958
```
959
959
960
960
Winapp will create this directory automatically when you run commands like `init` or `restore`.
961
+
962
+
### Update Checks
963
+
964
+
The winapp CLI periodically checks for new versions and displays a one-line notice when an update is available. This check runs in the background and adds no latency to commands.
965
+
966
+
Update checks are automatically disabled in CI environments (GitHub Actions, Azure Pipelines, etc.).
967
+
968
+
To manually disable update checks, set the `WINAPP_CLI_UPDATE_CHECK` environment variable to `0`.
0 commit comments