Undocumented Zune software command-line switches, URIs

Akin to classic arcade dip-switches, the Microsoft Zune client software for both Windows XP and Windows Vista supports a handful of command-line switches that enable you to manipulate its behavior. All the switches listed below should proceed Zune.exe, unless otherwise stated. -gdi Forces the software to render the UI using older GDI technologies, vice DirectX.

-switchtogdi Forces the software to render the UI using older GDI technologies, vice DirectX, permanently. This has the same effect as setting the HKEY_CURRENT_USERSoftwareMicrosoftZuneGeneralSettingsRenderingType DWORD to 0.

-dx9 Forces the software to render the UI using newer DirectX technologies, vice GDI. This is the default behavior but can be useful if the default rendering method was changed (e.g. -switchtogdi was used earlier).

-size:<width>,<height> Forces the software to resize the window to specified size. Width and height values can be in several numerical formats (e.g. hexadecimal, decimal). The default window size is 1012x693 (0x3f4, 0x2b5).

-minimized Forces the software to start minimized.

-direction:<direction> Forces the software to render the text direction in specified direction. Valid directions are right-to-left and left-to-right, rtl and ltr respectfully.

-nativeframe Forces the software to render the UI keeping the native Windows frame intact.

-animations:<bool> Forces the software to enable or disable animations, driven by the value specified.

-link:"<zune uri>" Forces the software to process a specified Zune URI. Valid URIs:

zune://refreshAccount/ - Refreshes the account state (e.g. logged in status).

zune://subscribe/?[title]=[uri] - Sign up for specified podcast. The title variable indicates the name of the podcast and the uri points to a podcast RSS feed.

zune://navigate/?[typeid]=[value] - Instruct the client to navigate to a particular area (e.g. specific album in Marketplace).

Marketplace Links
TypeID Value
trackID Track unique identifier
albumID Album unique identifier
videoID Video unique identifier
artistID Artist unique identifier
playlistID Playlist unique identifier
hubID "Flexhub" unique identifier
podcastID Podcast unique identifier
tvSeriesID TV Series unique identifier
tvEpisodeID TV Episode unique identifier
tvSpecialID TV Special (i.e. short) unique identifier
cartItemID Cart Item unique identifier
Social Links
TypeID Value
messageID Message unique identifier
profile Zune Tag

BUGNOTE: The Zune application does not properly un-escape the Zune Tag parameter for display (cosmetic).

myProfile (omit)

NOTE: The Zune software registers and handles the zune:// protocol, enabling users to create "external hyperlinks". For example, click here to view my profile within the Zune application.

-ripcd:<drive letter>: Forces the software to initiate audio disc ripping functionality. Characters proceeding the colon are ignored/stripped.

-playcd:<drive letter>: Forces the software to initiate audio disc playing functionality. Characters proceeding the colon are ignored/stripped.

-playmedia:"<media full path>" Forces the software to initiate the embedded media player for the specified media (e.g. wmv file on disk).

-dataobject:<dataobject> -event:<event> -shellhlp_v2:<task> Forces the software to execute a task manually, residing in a data object, triggering the specified event. (this advanced functionality has not yet been explored in-depth, nor tested)

-update Forces the software to install all pending updates. Can be combined with other switches.