XBOX PC Remote (wdRemote.exe)
The XBOX PC Toolbox app is in preview. Download it from the Microsoft Store on Windows.
wdRemote.exe) is a command-line tool for securely connecting a development PC to a remote Windows device. It supports PIN pairing, bidirectional file transfer, remote file deletion, game deployment and lifecycle management, and remote tool execution.
wdRemote runs on a development PC and communicates with an instance of wdEndpoint.exe running on the remote device. See the Overview of XBOX PC Remote tools for a description of the role wdRemote and wdEndpoint play in the suite of remote development tools for Windows devices.
Use either the XBOX PC Toolbox or WinGet to install wdRemote on your development PC.
winget install Microsoft.Gaming.RemoteIterationClient
Use wdRemote to run the commands listed in the following table.
Pairing remote Windows devices and security key management
wdRemote /action:pair
This command establishes a trusted, secure connection between a development PC and the remote device via PIN pairing. wdEndpoint running on the remote device generates the PIN.wdRemote /action:pair /device:HostName | IP Address /pin:pin number [/sshKey:filename]
Example:
wdRemote /action:purgekeys
All traffic betweenwdRemote and wdEndpoint is encrypted. wdRemote automatically creates the required encryption keys and certificates the first time it’s asked to connect to a remote device. These keys are also used in the pairing process.
This action removes all keys and device pairings from a development PC.
wdRemote /action:purgekeys
Return to the top of this topic.
Status and versioning information
wdRemote /action:version
Displays the version of wdRemote.exe.wdRemote /action:version
Return to the top of this topic.
wdRemote /action:status
Displays the status of the connection between the development PC and the target device.wdRemote /action:pair verifies all device pairings and checks to ensure encryption is in effect.
wdRemote /action:status /device:HostName | IP Address
Return to the top of this topic.
Deploy, launch, and terminate applications
wdRemote /action:deploy
Deploys a game from a development PC to the target device specified by the/device: argument. All deployments are incremental, meaning only the files that have changed since the last deployment are transferred to the target device.
Games are stored on the target device in a directory called a Common Root. By default, the Common Root is %ProgramData%\Microsoft GDK\gameroot. Destination paths passed to wdRemote are relative to the Common Root unless you specify an absolute path, in which case the Common Root is ignored.
You can change the location of the default Common Root, and add more Common Roots, by creating a file named wdEndpoint.json and placing it in %ProgramData%\Microsoft GDK\wdEndpoint\ on the target device. wdEndpoint.json contains a list of Common Roots in the following format.
wdEndpoint.json defines two Common Roots, a default root at c:\developmentbuilds and another root at d:\releasedbuilds.
wdRemote /action:deploy /device:<remote device> /source:<source directory> /destination:<absolute or common root relative destination directory> [/root:<common root alias>] [/attributes:<-AHSR>]
The
/attributes: option supports the following letters.
Letters before
- are included. Letters after - are excluded.
Examples
wdRemote /action:launch
Launches a game on the remote device specified by the/device: argument. The process ID of the game that was launched is displayed as output. wdRemote guarantees that only one game is running at a time on the remote device. If a game is already running on the remote device when you run wdRemote /action:launch, the running game is terminated before the new game starts.
wdRemote /action:launch /device:<remote device> /path:<absolute or Common Root-relative executable path> [/root:<Common Root alias>] [/args:"<arguments>"] [/suspend]
Examples
wdRemote /action:resume
Resumes a game on the remote device that was launched in a suspended state usingwdRemote /action:launch with the /suspend flag.
wdRemote /action:resume /device:HostName | IP Address
Examples
wdRemote /action:terminate
Terminates the remote game, remote tool job, or specified remote process.
Examples
Copy and delete files
wdRemote /action:copy
Copies files from the development PC to a remote Windows device.
Example
wdRemote /action:copyfrom
Copies files from a remote Windows device to the development PC./source is the remote path, and /destination is the local path. /root resolves a relative remote source path and is ignored when /source is absolute.
Example
wdRemote /action:delete
Attempts to delete a file or selected directory contents on a remote Windows device. Directory deletion is best-effort. The endpoint log records the number of items deleted and the number of failures, but not individual file paths.
When
/path identifies a single file, the search options and /deleteroot are ignored.
Examples
Run remote tools
wdRemote /action:run
Runs an executable on a remote Windows device./waitForExit can’t be combined with /streamOutput. /asAdmin can’t be combined with /streamOutput.
Without /waitForExit or /streamOutput, the command reports the launched process ID and thread ID. With /waitForExit or /streamOutput, wdRemote.exe returns the remote process exit code.
Examples
