Application Management (xbapp.exe)

Remote Application Management (xbapp.exe) is a command-line tool that deploys and launches applications on a remote console, and triggers Process Lifetime Management (PLM) events for those applications.

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

Command Description
xbapp constrain Places a title in constrained mode.
xbapp copy Copy a registered application from its currently registered location to a different drive.
xbapp copydrvie Copies all application packages, both registered and unregistered, from one drive to another drive.
xbapp debug Enables additional debug functionality for the package. This includes disabling the primary activation timeout, allowing one to debug the app code leading up to, and including, the Activated handler in an app without getting terminated due to time out.
xbapp deploy Deploys an application by copying the contents of a project's loose folder to the console.
xbapp install Deploys an application by starting the streaming installation of an application package created with makepkg.
xbapp list Lists the full package names and application user model IDs for all registered applications.
xbapp listdlc Lists all installed and deployed downloadable content packages.
xbapp launch Launches a previously deployed application.
xbapp move Moves a registered application from its currently registered location to a different drive.
xbapp movedrive Moves all application packages, both registered and unregistered, from one drive to another drive.
xbapp nodebug Disable additional debug functionality previously enabled with xbapp debug.
xbapp overlayfolder Configures the overlay folder for a specified package.
xbapp query Queries the current execution state of a package.
xbapp register Registers the application in the specified folder. By default, this subcommand registers applications on the title scratch drive.
xbapp registerdrive Registers all packages on the specified drive.
xbapp registernetworkshare Registers an application that is in a folder on the development computer.
xbapp resume Resumes all processes in a package.
xbapp setdefaultapp Sets the ID of the application to launch when an activation request is received for a specific title ID.
xbapp snap Snaps an app, or closes the currently running snapped app.
xbapp snapxip Pauses and resets (if running) the profiling output of a packaged game's reads.
xbapp suspend Forces immediate package suspension, which is normally deferred in retail.
xbapp terminate Terminates all processes in a package.
xbapp unconstrain Returns a constrained title to the regular running state.
xbapp uninstall Terminates and deregisters all processes in the package.
xbapp unregister Unregisters an application.
xbapp update Updates the specified package on the console with the package on the local development computer.

Listing and querying applications

xbapp list

Lists the full package names and application user model IDs for all registered applications.

xbapp list [/d] [/nosystem] [/unregistered] [/drive=<retail|development|Ext1-Ext7>] [/sortbydrive] [/X[:]address[+<accesskey>]]
Option Description
/d Provides detailed listing including deployment type and path, drive, package size, Content ID, Property ID, and EKBID.
/nosystemFilters out system apps from the list of installed apps.
/unregisteredEnumerate unregistered apps instead of registered ones.
/drive=<retail|development|Ext1-Ext7>Only enumerate apps on the specified drive.
/sortbydrivePrint the apps sorted by the drive they are on.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp listdlc

Lists all installed and deployed downloadable content packages.

xbapp listdlc [/X[:]address[+<accesskey>]]
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp query

Queries the current execution state of the specified package.

xbapp query [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

Deploying, installing, and removing applications

xbapp copy

Copies a registered application from its current drive to a different drive. The application on the new drive will not be registered, but the original application will remain registered.

xbapp copy PackageFullName DestinationDrive [/X[:]address[+<accesskey>]]
Option Description
PackageFullName The full name of the package.
DestinationDrive Destination drive is the drive to which the application should be copied. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp copydrive

Copies all applications, registered and unregistered, from one drive to another drive. None of the copies will be registered in their new location. Use the registerdrive command to quickly register all packages on the drive after moving content to it.

xbapp copydrive SourceDrive DestinationDrive [/X[:]address[+<accesskey>]]
Option Description
SourceDrive Source drive is the drive from which all applications should be copied. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
DestinationDrive Destination drive is the drive to which all applications should be copied. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp deploy

Deploys the specified application to the console. The application is deployed by copying the contents of a project’s loose folder to the console.

If the package is already installed it will be uninstalled first, unless the folder deployment (/F) option has been used. If any apps within the package are running at the time of this operation, they will be terminated before proceeding.

The deploy command is intended for development purposes and simply copies files to a console. The deploy command does not reflect how an application is deployed using streaming installation on a retail console. To deploy an application using streaming installation of an application package, see the xbapp install command.

Note You cannot modify the layout in the loose folder. If you need to make layout changes, make those changes in Solution Explorer in Visual Studio as part of the build process. Otherwise, when you create an XVC install package using makepkg based on the loose folder, the package will likely not work.

Note The __debugbreak compiler intrinsic prevents all deployment once it is called, including xbdeploy, Visual Studio deployment, and streaming install. If __debugbreak is called in your title, you must reboot the console to restore deployment functionality.

xbapp deploy DeployPath [-Drive [Optional] ] [-S] [-VM] [/f:<folder_path>] [/X[:]address[+<accesskey>]]
Option Description
DeployPath The path to the build folder containing the AppxManifest.xml file. This is typically the \Durango\Layout\Image\Loose folder location. This is also used as the source folder when creating an XVC install package for submission to certification using makepkg.exe.
-Drive [Optional] Target drive the application should be deployed to instead of using the default. This option is not compatible with the /f option since that will deploy to a folder on TitleScratch. Should be a value from the following set: <retail|development|Ext1-Ext7>. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
-S Synchronize the target package exactly, removing extra files that are on the targeted console that are not in the source path.
-VM Do extra validation of the manifest before deploying. Doe not block deployment, but displays any validation warnings.
/f:<folder_path> Specifies a folder path relative the title scratch drive root of the console which the title should be deployed to. See Folder Based Deployment for more information.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp install

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

The install command reflects the streaming installation process that will happen when an application is installed on a retail console. For development purposes, you can deploy an application without using streaming installation by using the xbapp deploy command.

See Testing Streaming Install Packages for additional information on testing streaming install packages.

Note The __debugbreak compiler intrinsic prevents all deployment once it is called, including xbdeploy, Visual Studio deployment, and streaming install. If __debugbreak is called in your title, you must reboot the console to restore deployment functionality.

xbapp install [/ContentTypes=[semi-colon delimited specifier list] ] [/Languages=[semi-colon delimited specifier list] ] [/Devices=[semi-colon delimited specifier list] ] [/Tags=[semi-colon delimited specifier list] ] [/Drive [Optional] ] [/tm] [/l] [/v] [/w] [/X[:]address[+<accesskey>]] { packagepath | packageURI }
Option Description
/ContentTypes=[semi-colon delimited specifier list]Specify which ContentTypes specifiers to install by default.
/Languages=[semi-colon delimited specifier list]Specifies which language specifiers to install by default.
/Devices=[semi-colon delimited specifier list]Specify which devices specifiers to install by default.
/Tags=[semi-colon delimited specifier list]Specify which tag specifiers to install by default. Specify '/Tags=' to clear all tags.
/Drive [Optional] Target drive the application should be installed to instead of using the default. Should be a value from the following set: <retail|development|Ext1-Ext7>. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
/tmPrints a transfer performance metrics summary after all files have been transferred.
/l Specifies that installation stop after the launch chunk has been received.
/v Display verbose messages.
/w Keep the pipe open, so additional data can be transferred. This allows the title to request additional chunks or specifiers as well as resuming the install from the console.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
{ 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 BluRay), the xo:\ drive prefix followed by the filename can be provided to xbapp install:
xbapp install /w xo:\packagepath

Return to the top of this topic.

xbapp move

Moves a registered application from its current drive to a different drive. The application will be registered in the new location.

xbapp move PackageFullName DestinationDrive [/X[:]address[+<accesskey>]]
Option Description
PackageFullName The full name of the package.
DestinationDrive Destination drive is the drive to which the application should be moved. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp movedrive

Moves all applications, registered and unregistered, from one drive to another drive. Registered applications will be registered in their new location.

xbapp movedrive SourceDrive DestinationDrive [/X[:]address[+<accesskey>]]
Option Description
SourceDrive Source drive is the drive from which all applications should be moved. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
DestinationDrive Destination drive is the drive to which all applications should be moved. Drive value should be retail, development, or Ext1-Ext7. On an Xbox One X devkit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0 - 8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2-8 match the external drives.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp register

Registers the application in the specified folder. By default, this subcommand registers applications on the title scratch drive.

xbapp register folder_path <retail | development | Ext1 - Ext7> [/X[:]address[+<accesskey>]]
Option Description
folder_path Specifies a folder path relative to the title scratch drive root of the console which contains the AppxManifest.xml file the title should be registered from. See Folder Based Deployment for more information.
<retail | development | Ext1 - Ext7>Optional parameter specifying the drive where the package resides. If this parameter is specified, the first parameter must be a Package Full Name instead of a TitleScratchRelativePath.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp registerdrive

Registers all packages on the specified drive.

xbapp registerdrive <retail|development|Ext1-Ext7> [/X[:]address[+<accesskey>]]
Option Description
<retail|development|Ext1-Ext7> Drive which should have all packages registered. On an Xbox One X dev kit, the development drive is the internal NVMe drive. On other consoles, the first external drive will be considered the development drive. Numbers 0–8 can also be specified to refer to these drives where 0 is the internal retail drive, 1 is the development drive, and 2–8 match the external drives.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

xbapp registernetworkshare

Registers an application that is in a folder on the development computer.

xbapp registernetworkshare local or network_path [username] [password] [/X[:]address[+<accesskey>]]
Option Description
local or network_path Specifies a path containing the AppxManifest.xml file the title should be registered from. For example:
xbapp registernetworkshare d:\data\mygamedir
username If utilizing a network path, optionally provide a username to be used to access the network share. The user name is required to include either the machine name or domain name explicitly in the form machine name\user name or domain\user name. Not required for local path or if credentials are already added on the console.
password If utilizing a network path, optionally provide a password to be used to access the network share. Not required for local path or if credentials are already added on the console.
Note
The password is not encrypted when it is passed over the network to the console.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

After calling this command, a tile for the app appears on the console and the app is listed in the Xbox One Manager Installed Apps list. You can launch the app immediately.

Return to the top of this topic.

xbapp uninstall

Terminates and deregisters all processes in the package.

xbapp uninstall [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp unregister

Terminates and unregisters a package.

xbapp unregister package_full_name [/X[:]address[+<accesskey>]]
Option Description
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

Configuring applications for debugging

xbapp debug

Enables additional debug functionality for the package. This includes disabling the primary activation timeout, allowing one to debug the app code leading up to, and including, the Activated handler in an app without getting terminated due to time out.

xbapp debug [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp nodebug

Disables additional debug functionality previously enabled with xbapp debug.

xbapp nodebug [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

Starting, stopping, and suspending applications

xbapp launch

Launches the specified application, if it has previously been deployed.

xbapp launch [/X[:]address[+<accesskey>]] {app_user_model_ID | URI} [parameter1 parameter2 parameter3...]
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
{app_user_model_ID | URI} Specifies the application to be launched by this command, by providing one of the following: app_user_model_ID      Specifies the full application user model ID (AUMID). For example, mygame_r9wapr0zzdgy!MyGame.App.   The full AUMID is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained by running the command xbapp list. URI   A URI for a registered custom protocol or the title-based protocol that specifies the title to launch and any arguments to pass to the title. For example, if your title ID is 12345abcd, your product could be launched by using the title-based protocol with the following URI: ms-xbl-12345abcd://default. For more information about launching with a title-based protocol, see Deep Linking in Xbox One.
Note
Using the URI option mimics launching from a pin on the dashboard. Developers should use this option to test against test case XR003-20.
parameter1 parameter2 parameter3... Additional parameters to be passed to the application. Note that these additional parameters only apply when using the AUMID to specify the title to launch. When using a URI, additional parameters are appended to the URI; For more information about URIs to launch an application, see Deep Linking in Xbox One. For information on accessing launch parameters in a title see Passing Arguments to an App or Game.

Return to the top of this topic.

xbapp suspend

Forces immediate package suspension, which is normally deferred in retail. This command blocks until the package has reached the suspended state.

xbapp suspend [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Using xbapp.exe suspend {PackageFullName} on a running title switches the title window to the Settings app in full screen, constrains the title, and then suspends the titles within a few seconds.

The xbapp.exe debug command marks a package for debugging which disables the PLM watchdog timers ( the 1 sec suspending timer, and the 45 sec activation timer). This enables developers to debug their apps without PLM timers intervening and killing the process during debugging.

To debug a suspend handler, we recommend using xbApp debug followed by xbApp terminate. xbApp debug disables the watchdog timeout and the suspend handler will be called before the app is terminated.

Suspending your title is not supported when Fast Iteration Mode is enabled. Attempting to suspend your title will display the following error:

This operation cannot be performed when FastIterationMode is enabled. Please use ‘xbconfig fastiterationmode=off’ followed by xbreboot.

You’ll need to turn off Fast Iteration Mode using either the FastIterationMode setting in xbConfig or the Enable fast game launch setting in Xbox One Manager before using xbApp suspend to suspend your title.

Additional key points when using the suspend command:

Return to the top of this topic.

xbapp resume

Resumes all processes in the specified package.

xbapp resume [/X[:]address[+<accesskey>]] [/N] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
/N This parameter resumes an application that was suspended using xbapp suspend /N.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp terminate

Terminates all processes in the specified package.

To simulate the proper termination sequence a console performs, always suspend the package for at least one second before terminating it. Terminating immediately is a non-standard flow that should not be used for test scenarios.

xbapp terminate [/full] [/X[:]address[+<accesskey>]] package_full_name
Option Description
/fullThis parameter causes the Title OS to be shutdown. When FastIterationMode is on, the Title OS does not shutdown when your game is terminated. Use /full to shutdown both your game and the Title OS.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp constrain

Displays a dialog box and places the specified title into constrained mode for testing.

For more information application states, see Application Model: Overview.

xbapp constrain [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp unconstrain

Dismisses the constrained mode pop up dialog box and returns the title to the regular running state with full access to resources. See Application Model: Overview for more information on constrained mode.

xbapp unconstrain [/X[:]address[+<accesskey>]] package_full_name
Option Description
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.
package_full_name Specifies the full package name of the application. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
Note
The full package name is displayed when a package is deployed using Visual Studio or the command xbapp deploy. A complete list of full package names and AUMIDs for the registered applications on a development kit can be obtained using the command xbapp list.

Return to the top of this topic.

xbapp snap

Snaps an app, or closes the currently running snapped app.

xbapp snap [AUMID|close]
Option Description
AUMID|close Application User Model ID of the application to snap, or "close" to close the currently snapped app, if any. See "xbapp help ids" for more information.

Return to the top of this topic.

xbapp update

Updates the specified package on the console with the package on the local development computer.

xbapp update [/l] [/a] [/m] <PackagePath | uri> [/p <PackagePath>] [/tm] [/X[:]address[+<accesskey>]]
Option Description
/l Install to the launch marker.
/a Advertises the update at the XVC path/URI provided as available to the console, simulating its availability via the Xbox Live service. Command will run actively in the command prompt until either it is cancelled, for example via Ctrl+c, or the update is streamed by the console to completion.
/m Advertises the update at the XVC path/URI provided as mandatory to the console, simulating its availability via the Xbox Live service. Command will run actively in the command prompt until either it is cancelled, for example via Ctrl+c, or the update is streamed by the console to completion.
<PackagePath | uri> PackagePath   The local file or optical disk drive path to the package. uri   The HTTP URI to the package.
/p <PackagePath> The local file or optical disk drive path to the cache package used to simulate a day one update.
/tmPrints a transfer performance metrics summary after all files have been transferred.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Note The update command will overwrite package data.

Examples:

        xbapp update c:\\mypackage.1.1.xvc

        xbapp update http:\\\\server\\mypackage.1.1.xvc /p:c:\\mypackage.1.0.xvc  

For the update command to work, the original package and the update package must both have been built using the /lt makepkg.exe switch and must have specified the same content ID in the /contentid makepkg.exe switch. See Creating and Testing Streaming Install Package Updates for more information.

Note

Creating a package and a package update using different versions of the XDK tools can result in the following error message when using xbapp update:

The package being updated does not exist or there is a contentid or encryption mismatch.  

To avoid this issue you should use the same version of the XDK tools used to create the original package to provision the console and deploy the update with (recovery can be the latest). This issue is on the development side only and has no effect on retail.

Note In retail, the presence of a mandatory content update will prevent users from using an app or title until the content update has been accepted. Users are automatically prompted to take this update when the app or title is launched. Currently, the /m option will not cause an update prompt to be displayed to the user on a devkit when the app or title is launched. This behavior will be added in a future flash release. See PackageTransferManager.CheckForUpdateAsync for more information.

Return to the top of this topic.

xbapp setdefaultapp

Sets the App User Model ID (AUMID) of the application to launch when an activation request is received for a specific title ID.

The default AUMID will be used to determine which version of an application to launch when a game is launched from the shell or another app launches the game. However, when a title calls CoreApplication.Restart Method this default value is temporarily overridden with the AUMID of the currently running version of the title to ensure the same version is launched on restart.

xbapp setdefaultapp <titleid> <AUMID> [/X[:]address[+<accesskey>]]
Option Description
<titleid>The title ID scheme to change the defaults for.
<AUMID>The App User Model ID of the application which should be launched when an activation request is received for the specified title ID. If the AUMID is not specified, when an activation request is received, the system will notify the currently running app that matches the title ID. If no running app has that title ID, then the first application which is found for that title ID will be launched.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Examples:

        xbapp setdefaultapp A1A2A3A4 MyApplication_8wekyb3d8bbwe!App_Debug
        xbapp setdefaultapp A1A2A3A4  

Return to the top of this topic.

xbapp snapxip

Pauses and resets (if running) the profiling output of a packaged game’s reads. If no game is running the output of the last profiling session will be used. The profiling output is stored within \\<systemIP>\DevelopmentFiles\XipFiles.

xbapp snapxip [<friendlyName>]
Option Description
friendlyNameThe name of the output file with the extension '.pfm' appended. If no name is specified, the contentId GUID from the game package will be used.

Return to the top of this topic.

Configuring Overlay Folders

xbapp overlayfolder

Adds an overlay folder for a game already registered on the devkit.

xbapp overlayfolder [/R | PackageFullName [/r] [/l]] [Destination_Path] [/X[:]address[+<accesskey>]]
Option Description
PackageFullName Specifies the full package name of the application installed on the console. For example, mygame_1.0.0.0_neutral__r9wapr0zzdgy.
/r Resets the current overlay folder for the specified PFN. The result is as though no overlay folder was ever set for that PFN.
/R Resets the current overlay folder for all PFNs on the devkit. The result is as though no overlay folder was ever set for any of the PFNs.
/l Lists the current overlay folder for the specified PFN.
Destination_Path Specifies where the overlay folder exists. Examples of valid destination paths include:

D:\ (i.e., the root of the local system scratch drive on the devkit)

\\MyDevPC\share\MyGame\ (i.e., the UNC network path where overlay files are stored)

xbtp:\\MyDevPC\c:\MyGame\ (i.e., the local file system path where overlay files are stored on the PC)

Note
If you are adding a Destination_Path that is either a UNC network path or an XBTP path then there are associated security configuration steps required. Refer to the Security Considerations section of the Overlay Folders Overview.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Return to the top of this topic.

Remarks

Use xbapp to launch and deploy applications on a remote console, and to trigger PLM events for those applications.

See also

Application Model: Overview

Command Line Tools

XTF Transport Errors

Connect (xbconnect.exe)

Execute (xbrun.exe)