Application Management (wdapp.exe)

Application Management (wdapp.exe) is a command-line tool that installs and launches PC Microsoft Game Development Kit (GDK) titles.

wdapp provides the subcommands and functions described in the following table.

Command Description
wdapp launch Launches an application by specifying the application's Application User Model ID (AUMID).
wdapp terminate Terminates the given package. Note that this only functions for MSIXVC installed packages.
wdapp list Lists all sideloaded applications on the PC.
wdapp gamefolder Query or set the install folder for drive.
wdapp update Streams a packaged build update from a network share or local system file path.
wdapp install Deploys an application by starting the streaming installation of an application package that was created with makepkg.
wdapp register Registers the application in the specified folder.
wdapp uninstall Terminates and deregisters all the processes in the package.
wdapp unregister Unregisters an application.
wdapp migrate Migrate to Flat File Install.

Deploying, installing, updating, listing, and removing applications

wdapp launch

Launches an application that's defined by providing an AUMID or the path to the executable.

wdapp launch AUMID | Executable

Option

Description

AUMIDSpecifies the AUMID of the application that's being launched. wdapp launch will take the AUMID option or the Executable option, but not both when specified.
ExecutableSpecifies the path to the executable of the application that's being launched. wdapp launch will take the AUMID option or the Executable option, but not both when specified.
WaitToExitLaunches the application and blocks until the title exits. When the title exits, wdapp will then exit returning the title's exit code.
logRedirect stdout and stdin to files on the scratch drive. If no prefix is specified, files will be named latest_stdout.txt and latest_stderr.txt. The prefix will be truncated if longer than 32 characters.
show all | launchResult | terminateResult | targetTerminateReason | exitCode all - will show all results

launchResult - the reason the game failed to launch. If this is S_OK the game was launched successfully.

terminateResult - the reason terminated state was reached. If this is S_OK, termination was reached gracefully via proper PLM flow.

targetTerminateReason - if available, why termination was targeted, otherwise S_FALSE

exitCode - exit code that was returned by the game on process exit. Determines what is shown when the game exits when using WaitToExit argument.

Return to the top of this topic.

wdapp terminate

Terminates the given package. Note that this only functions for MSIXVC installed packages.

wdapp terminate AUMID | PackageFullName

Option

Description

AUMIDSpecifies the AUMID (AppUserModelId) of the application to be terminated. wdapp terminate will take the AUMID option or the PackageFullName option, but not both when specified.
PackageFullNameSpecifies the PackageFullName that's being terminated. wdapp terminate will take the AUMID option or the PackageFullName option, but not both when specified.

Return to the top of this topic.

wdapp list

wdapp list

Option

Description

/dProvides detailed information about the listed applications.

Return to the top of this topic.

wdapp gamefolder

wdapp gamefolder <DriveLetter>: [/set <FolderPath>]

Option

Description

<DriveLetter>:Specifies the targert drive the streaming install will happen on. Defaults to OS drive in a root folder called XboxGames.
/setSets up the streaming install folder for the drive specified in <DriveLetter>. Defaults to XboxGames.

Return to the top of this topic.

wdapp update

wdapp update packagepath [/l|/AllChunks] [/b] [/a] [/m] [/ContentTypes=[semicolon-delimited specifier list] ] [/Languages=[semicolon-delimited specifier list] ] [/Devices=[semicolon-delimited specifier list] ] [/Tags=[semicolon-delimited specifier list] ]

Option

Description

packagepathSpecifies the path to the package file that's used for the update.
/lSpecifies that the update stops after the launch chunk has been received.
/AllChunksSpecifies that the update will forcefully install all chunks, even if they're unchanged.
/bSpecifies if the update is allowed to go backward to a previous version.
/aRegisters the update as available.
/mRegisters the update as mandatory.
/ContentTypes=[semicolon-delimited specifier list]Specify which ContentTypes specifiers to update by default.
/Languages=[semicolon-delimited specifier list]Specifies which language specifiers to update by default.
/Devices=[semicolon-delimited specifier list]Specify which devices specifiers to update by default.
/Tags=[semicolon-delimited specifier list]Specify which tag specifiers to update by default. Specify '/Tags=' to clear all tags.
[Return to the top of this topic.](gr-wdapp.md)

wdapp install

Deploys an application by starting the streaming installation of an application package that was created with makepkg.

The install command reflects the streaming installation process that will happen when an application is installed on a retail PC.

For more information about testing streaming installation packages, see Streaming Installation and Intelligent Delivery: an overview.

wdapp install [/l|/AllChunks] [/bootstrapper] [/drive=[drive letter] ] [ /ContentTypes=[semicolon-delimited specifier list] ] [/Languages=[semicolon-delimited specifier list] ] [/Devices=[semicolon-delimited specifier list] ] [/Tags=[semicolon-delimited specifier list] ] [/Drive [Optional] ] [/tm] [/l] [/v] [/w] ] { packagepath | packageURI }
Option Description
/bootstrapper Using the /bootstrapper flag on the install action will invoke the PC Bootstrapper when the game is launched. This will cause the title to run as if it were a standard retail install where the PC Bootstrapper is invoked before the application has a chance to run any code, and the application will appear as a child process of the PC Bootstrapper. If this is not set, any required pre-requisite checks are invoked when the applicable runtime calls are made (e.g. XUserAddAsync for sign-in validation).
/Features=[semicolon-delimited list of Features] Indicates which Features are to be installed by default. Cannot be used with /Tags.
/Recipes=[semicolon-delimited list of Recipes.] Indicates which Recipes are to be installed by default. Cannot be used with /Tags.
{ packagepath | packageURI } Specifies the location of the application package by providing either packagepath, which is a path on the development computer, or packageURI, which is a URI. To install from a burned optical disc (DVD or Blu-ray Disc), the xo:\ drive prefix followed by the file name can be provided to xbapp install:wdapp install /w xo:\packagepath
/Languages=[semicolon-delimited specifier list] Specifies which language specifiers to install by default.
/Devices=[semicolon-delimited specifier list] Specify which devices specifiers to install by default.
/Tags=[semicolon-delimited specifier list] Specify which tag specifiers to install by default. Specify '/Tags=' to clear all tags.
/drive=[drive letter] Specify the target drive that the application should be installed to instead of using the default.
/tm Prints a transfer performance metrics summary after all the files have been transferred.
/l Specifies that the installation stop after the launch chunk has been received.
/AllChunks Specifies that the installation will forcefully install all chunks.
/v Display verbose messages.

Return to the top of this topic.

wdapp register

Registers the application in the specified folder.

wdapp register folder_path

Option

Description

folder_path Specifies a folder path relative to the application root directory that contains the [MicrosoftGame.config](../../system/overviews/microsoft-game-config/MicrosoftGameConfig-toc.md) file that the title should be registered from.

Return to the top of this topic.

wdapp uninstall

Terminates and deregisters all the processes in the package.

wdapp uninstall package_full_name

Option

Description

package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.

Return to the top of this topic.

wdapp unregister

Terminates and unregisters a package.

wdapp unregister package_full_name

Option

Description

package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.

Return to the top of this topic.

wdapp migrate

Migrates an existing MSIXVC install to the flat file install format. This command is provided to migrate the install format of an existing game that is already installed to the Flat File Install format when using the March 2022 Microsoft Game Development Kit (GDK).

wdapp migrate <PackageFullName>

Option

Description

<PackageFullName>Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.

Return to the top of this topic.

Remarks

For more information on installing and launching PC Microsoft Game Development Kit (GDK) titles, see Utilizing Microsoft Game Development Kit tools to install and launch your PC title.

See also

PC Command-line tools Flat File Install Overview Utilizing Microsoft Game Development Kit tools to install and launch your PC title