Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions msix-src/app-package-updates.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: App package updates
description: Describes how MSIX packages are optimized to ensure that only the essential changed bits of the app are downloaded to update an existing Windows app.
ms.date: 11/30/2020
ms.date: 08/25/2026
ms.topic: article
keywords: windows 10, uwp, app package, app update, msix, appx, pfan, package family name
ms.custom: "RS5, seodec18"
Expand Down Expand Up @@ -59,7 +59,14 @@ The update package to the currently installed app package can be of a different
For example: If you have x86 version of MyFavApp(v1.0.0.0) installed on a x64 Windows 10 device and the update package(v2.0.0.0) is x64 version: MyFavApp(1.0.0.0) will be updated to MyFavApp(v2.0.0.0) successfully.

#### Packages can update from an MSIX to an MSIXbundle
An update package can go from MSIX package to an MSIXbundle package but not vice-versa. When an MSIXbundle is installed, the package update will need to remain a bundle.
An update package can go from a standalone `.msix` package to an `.msixbundle`
package for the same package family.

#### Packages can't update from an MSIXbundle to a standalone MSIX
For the same package family, after a version ships as an `.msixbundle`, later package
updates must remain bundles. A later update can't move from the `.msixbundle` back to
a standalone `.msix` package. The `.msix` to `.msixbundle` transition is supported,
but the reverse transition isn't.

## Optimize differential update technology

Expand Down
35 changes: 29 additions & 6 deletions msix-src/package/bundling-overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Bundling MSIX packages
description: An overview of MSIX Bundles
ms.date: 02/05/2020
description: An overview of MSIX bundles
ms.date: 08/25/2026
ms.topic: concept-article
keywords: windows 10, msix
ms.custom: "RS5, seodec18"
Expand All @@ -11,10 +11,33 @@ ms.custom: "RS5, seodec18"

## Overview

An MSIX bundle is made up of multiple MSIX packages and it can reduce the size of the app that users download. App bundles are helpful for different architectures, language-specific assets, varying image-scale assets, or resources that apply to specific devices. By bundling multiple architectures versions of your application into one entity, only the bundle needs to be uploaded to your distribution location (instead of having one for each architecture). The Windows 10 deployment platform is aware of the .msixbundle package type and will only download the files that are applicable to a device's architecture. Keep in mind that if you decide to distribute an .msixbundle for a particular app, you cannot revert back to distributing just an MSIX package.

If you're [packaging your application in Visual Studio](../package/packaging-uwp-apps.md), the Create Package Wizard gives you a "Generate app bundle" option during package creation. You can set this option to have Visual Studio generate an MSIX bundle for you.
If you're generating MSIX packages using the [MSIX Packaging Tool](../packaging-tool/tool-overview.md) or [MakeAppx.exe](manual-packaging-root.md) you can take advantage of MakeAppx.exe to generate a bundle from individual packages e.g. after generating or converting an x86 and x64 MSIX package of your app you can use the process outlined below to bundle the packages using MakeAppx.exe.
An MSIX bundle is made up of multiple MSIX packages and can reduce the download
size for users. MSIX bundles are helpful for different architectures, language-specific
assets, varying image-scale assets, or resources that apply to specific devices. By
bundling multiple architecture versions of your application into one entity, only the
bundle needs to be uploaded to your distribution location (instead of having one for
each architecture). The Windows 10 deployment platform is aware of the `.msixbundle`
package type and will only download the files that are applicable to a device's
architecture.

### Bundle and package update constraints

For the same package family, an MSIX package update can move from a standalone `.msix`
package to an `.msixbundle`. After you ship an `.msixbundle`, plan to keep later
package updates for that package family in the bundle format. A later package update
cannot move from the `.msixbundle` back to a standalone `.msix` package. For more
information, see
[reverse update constraint](../app-package-updates.md#packages-cant-update-from-an-msixbundle-to-a-standalone-msix).

If you're [packaging your application in Visual Studio](../package/packaging-uwp-apps.md),
the Create Package Wizard gives you a "Generate app bundle" option during package
creation. You can set this option to have Visual Studio generate an MSIX bundle for you.
If you're generating MSIX packages using the
[MSIX Packaging Tool](../packaging-tool/tool-overview.md) or
[MakeAppx.exe](manual-packaging-root.md) you can take advantage of MakeAppx.exe to
generate a bundle from individual packages. For example, after generating or converting
x86 and x64 MSIX packages for your app, you can use the process outlined below to bundle
the packages using MakeAppx.exe.



Expand Down