Share via


Create an app package

Applies to Windows and Windows Phone

To distribute an app, either through the Store or to another device, you must create an app package. You can do that by using the Create App Packages wizard. Follow these steps:

  • Step 1: Start the wizard

  • Step 2: Name your app

  • Step 3: Select and configure your app package

  • Step 4: Validate your app package

Note

These steps apply to Visual Studio 2013. If you are using Visual Studio 2012 to package a Windows 8 version of your app, the steps will differ slightly.

Step 1: Start the wizard

This section helps you start the Create App Packages wizard. If you have trouble starting the wizard, see Help me start the wizard.

To start the wizard in Visual Studio Professional, Visual Studio Premium, or Visual Studio Ultimate

  • Create or open a Windows app or Windows Phone app project in Visual Studio .

    See Templates to speed up your app development.

  • In Solution Explorer, select a Windows app or Windows Phone app project.

  • On the menu bar, choose Project, Store, Create App Packages.

    Store menu in Visual Studio 2013

    The Create App Packages wizard appears. If this option is disabled or does not appear at all, see Help me start the wizard.

To start the wizard in Visual Studio Express 2013 for Windows

  • Create or open a Windows app or Windows Phone app project in Visual Studio .

    See Templates to speed up your app development.

  • In Solution Explorer, select a Windows app or Windows Phone app project.

  • On the menu bar, choose Store, Create App Packages.

    The Store menu in Visual Studio Express 2013

    The Create App Packages wizard appears. If this option is disabled or does not appear at all, see Help me start the wizard.

To create an app package for the Store

  1. In the Create Your Packages page of the wizard, choose the Yes option button.

    If you haven’t already established a developer account, choose the create an account link. See Ready to Sign up?

  2. Choose the Next button.

  3. In the Sign In dialog box, enter the Microsoft account and password you created the developer account with, and then choose the Sign In button.

    The Select an app name page of the wizard appears.

To create an app package for local testing and distribution

  • In the Create Your Packages page of the wizard, choose the No option button, and then choose the Next button.

    The Select and Configure Packages page of the wizard appears.

Help me start the Create App Packages wizard

Have you selected the project in Solution Explorer?

The Create App Packages option is enabled only if a project is selected in Solution Explorer.

Are you using a Windows app or Windows Phone app project?

For example, Windows Phone Silverlight apps can’t be packaged by using this wizard. If you want to package one of those, see Prepare your Windows Phone Silverlight 8.1 app for publishing.

Are you using Visual Studio 2012?

If you are using Visual Studio 2012 to maintain a Windows 8 version of your app, the Create App Packages option won’t appear until you install the Tools for Maintaining Store apps for Windows 8. See Service the Windows 8 version of your app.

Step 2: Name your app

This procedure applies only to apps that you want to publish to the Store.

  1. If you haven't already reserved a name for your app, enter a name in the Reserve a new app name box, and then choose the Reserve button. See Reserving an app name.

  2. Choose the name of the app you want to create this package for, and then choose the Next button.

    If you’re packaging an update to an app that you’ve already published, select the Include app names that already have packages check box to display names of published apps in the list.

    The Select and Configure Packages page of the wizard appears.

Step 3: Select and configure your app package

  1. In the Output location box, enter the location where the package files will be created.

    When you’re ready to publish your app, you’ll upload the packages from this location.

  2. Allow the version numbers to increment automatically by keeping the Automatically increment check box selected (recommended), or specify a particular version number in the Version box.

    Warning

    Applies to Windows only If you plan to update both the Windows 8.1 and Windows 8 versions of an app and you want to increment the version numbers manually, see Safely applying version numbers to an app package.

    Note

    If the Automatically increment check box is selected, the last field of the version number increases by one each time you package the app. You should increase the major version number manually only if you’ve significantly changed your app.

  3. If you're creating a package for the Windows 8.1 version of a Windows Store app, or you're creating a package for a Windows Phone app, in the Generate app bundle list, choose whether you’d like Visual Studio to generate an app bundle for your package.

    See Deciding whether to generate an app bundle.

  4. Under Select the packages to create and the solution configuration mappings, select the check box for each build configuration you want to create a package for.

    The build configurations grid lists the possible platform architectures of the package (for example, Neutral, ARM, x64, and x86). In each row, a box displays the combination of the current Solution Configuration and Architecture choices that relate to that row’s architecture. The check box for the default platform is set to the current, active project platform. The box for the Neutral row shows the Solution Configuration combinations that contain AnyCPU as the project’s platform. If no Solution Configuration combination is relevant, you can't choose anything in the entire row for that platform.

  5. For each build configuration that you specified, choose the Solution Configuration that you want to build.

    A package will be created for each build configuration that you specified.

  6. Select or clear the Include public symbol files, if any, to enable crash analysis for the app check box.

    If the check box is selected (default), Visual Studio generates the public symbol (.pdb) files and adds them to the .appxupload file. The .appxupload file is created as part of the packaging process and contains two other files: .appx and .appxsym. The .appxsym file is the compressed file that contains the public symbols of your app. When you upload your app and the .appxupload file to the Store, it analyzes the file and uses the public symbols to map crashes of your app. The resulting telemetry information about your app is published for you to review on the developer dashboard. See Submitting your app and Analyzing your apps in the Store.

  7. Choose the Create button.

    When the packaging process is complete, the Package Creation Completed page appears.

Deciding whether to generate an app bundle

If you’re creating a package for the Windows 8.1 version of an app, or you’re creating a package for a Windows Phone app, you can generate an app bundle to reduce the size of the app that users download. Your app takes up less room on their devices, and users can download it faster because they download only the assets that they need. See App bundles.

Consider generating an app bundle if your app contains language-specific resources, a variety of image scales, or resources that apply to specific versions of DirectX. If you don't generate one, your app will run just fine, but users will have to download a larger app.

Note

One app bundle can contain your packages for all architectures. You should create only one bundle per app.

You can create an app bundle based on these options:

Use this option

To

If Needed

Generate an app bundle only if you've defined language-specific assets, a variety of image-scale assets, or resources that apply to specific versions of DirectX.

Always

Generate an app bundle.

Never

Don’t generate an app bundle. You might choose this option if you plan to individually service each architecture that your app supports.

If you create an app bundle, you can submit your app to the Store more easily because, no matter how many architectures your app supports, you must upload only one .appxupload file. If you don't create an app bundle, you must upload an .appxupload file for each supported architecture.

Safely applying version numbers to an app package

Applies to Windows only

The Windows Store requires the Windows 8.1 version of an app to have a higher version number than the Windows 8 version of the same app. However, the Store doesn’t enforce how much higher that number must be. Therefore, if you manually provide a version number for the Windows 8.1 version, leave enough room between the first version number of the Windows 8.1 version and the most recent version number for the Windows 8 version. Otherwise, you’ll run out of numbers to apply to your Windows 8 version and won’t be able to update it anymore.

For example, assume that the most recent version of your Windows 8 app is 1.0.0.1. Then, you publish a Windows 8.1 version of the same app with the version number 1.0.0.2. In this case, you’ve met the Store requirement, but you’ll have no remaining version numbers to use if you want to update the Windows 8 version.

If you're applying version numbers manually, you should consider how many version numbers you’ll want to reserve for the Windows 8 version of your app. Unless you have a specific reason to apply your own version numbers, you can let Visual Studio number your versions for you. When you package the Windows 8.1 version for the first time, Visual Studio applies a version number that leaves plenty of available minor version numbers for the Windows 8 version.

Step 4: Validate your app package

  • To make certification as smooth as possible, validate your app against devices that you plan to target before you submit it for certification and listing in the Store:

    • Validate your app package (Windows Phone)

    • Validate your app package against your local machine (Windows Store)

    • Validate your app package against a remote device (Windows Store)

Validate your app package

Applies to Windows Phone only

Validate your app package against your local machine

Applies to Windows only

Validate your app package against a remote device

Applies to Windows only

You can validate a package for the Windows 8 version of an app by using a remote device that's running either Windows 8 or Windows 8.1. However, you must use a device that's running Windows 8.1 to validate a Windows 8.1 package. Also, the architecture of the target device must match a platform architecture that you specified in Step 3: Select and configure app packages.

  • To validate your app package against a remote device, configure it, and then connect to it.

    Note

    You have to configure a device only once, no matter how many apps you validate with it.

Configure a device for remote validation

  1. From your local development computer, copy the PrepWinACK.exe file to each device that you want to use for validation.

    You can find that file in one of these directories:

    • For 32-bit operating systems: %ProgramFiles%\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TailoredProjectServices\

    • For 64-bit operating systems: %ProgramFiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TailoredProjectServices\

  2. Run the PrepWinACK.exe program, and then install one or more of the following items as prompted:

    • Remote Tools for Visual Studio 2013

    • A developer license

    • The Windows App Certification Kit

    Note

    If you run the program on an ARM device, you’ll have to reboot it, and then follow the instructions on the screen to complete the installation of the ARM Kit policy. If you encounter issues, see Windows Software Development Kit (SDK) for Windows 8.1.

  3. Start the remote debug monitor as described on the Running Windows Store apps on a remote machine webpage.

Connect to a device and validate your app package

  1. On the Package Creation Completed page of the Create App Packages wizard, choose the Remote Machine option button, and then choose the ellipsis button next to the Test Connection button.

    Note

    The Remote Machine option button is available only if you specified at least one solution configuration that supports validation. See How to test your app with the Windows App Certification Kit.

  2. Specify a device from inside your subnet, or provide the Domain Name Server (DNS) name or IP address of a device that's outside of your subnet.

  3. In the Authentication Mode list, choose None if your device doesn't require you to log onto it by using your Windows credentials.

  4. Choose the Select button, and then choose the Launch Windows App Certification Kit button.

    If the remote tools are running on that device, Visual Studio connects to it and then performs the validation tests. See Windows App Certification Kit tests.

See Also

Concepts

Packaging your Store app by using Visual Studio

Install and test an app on other devices

Other Resources

Preparing your app for the Store