Xbox One File-Based Content Updates

Introduction

Xbox One supports content updates with both file-based and chunk-based granularity. File-based content updates are not required; developers can continue using chunk-based updates. Packages enabled for file-based updates are fully compatible with currently released recoveries and will update using the chunk-based update method until the release of recovery support for file-based updates.

Note File-based updating is designed for newly shipping titles. Titles that have already shipped should not convert to the file-based update mechanism, which will cause the entire package to be downloaded again.

Update compatibility

The MakePkg tool (makepkg.exe) includes the command-line switch /updcompat, which specifies a package’s update-compatibility mode. The switch can have an argument of 1 or 2.

Value Indicates
1  (default) chunk-level granularity for content updates
2 file-level granularity for content updates

Released titles that already use chunk-based updating should use the default value (1) to maintain compatibility with their original update behavior. New titles should use the value 2. In either case, title updating should include either /updcompat 1 or /updcompat 2.

The future default value will likely be 2; the default update method for future titles will be file-based.

Packaging

If you plan to use file-based updates, use packaging tools that shipped with the July 2014, or later, XDK and Application Development Kit (ADK).

If your build uses a pre-July 2014 version of the XDK, there are two ways to use a later version of MakePkg:

  1. Overlay the July ADK on top of your existing XDK installation. Use makepkg.exe from that installation.

    Note When you uninstall, you must uninstall the ADK before uninstalling the XDK.

  2. Install the current XDK and use makepkg.exe’s /gameos switch to include the game OS you’re compiling against.

    Note If you’ve packed using the XDK that you have already installed, you don’t have to use this switch.
    Use the following procedure if you want to include a different game OS.

    1. Before you uninstall your existing XDK, save a copy of the game OS (era.xvd) from the XDK that you have compiled against—for example:
      C:\users\youralias\desktop\gameOS\June\era.xvd  
      
    2. Install the current XDK.
    3. Use the /gameos switch to include the OS against which you want to compile. For example:
      MAKEPKG pack [options] /f <mapfile> /d <sourcedir> /pd <destinationdir> /gameos C:\users\youralias\desktop\gameOS\June\era.xvd  
      

For more information about MakePKG, see Make Package (makepkg.exe).

Validation

Application Management (xbapp.exe) uses chunk-based updating. To verify that your files are packaged correctly for file-based updates, work with your DAM to send the package to Microsoft; we will inspect it to ensure that you used the proper update format when you created the package.