SOLVED

Installing asset package individually

Copper Contributor

I have created a set of packages (a couple of .appx and a .appxbundle) using the packaging layout as described here.
I was trying to install using the individual .appx instead of directly using the .appxbundle to install all the packages together.

 

- Installing appx via double click

While doing this, once I have installed the main package and try to install the asset package, the installer dialog says the app is already installed.

 

- Installing appx using powershell command 'Add-AppxPackage'

While using this, it does allow me to add the main package first, and then the asset package after that, but I don't see the hard-link for the asset package content in my main package's install directory in WindowsApps folder. (When I install it using the appxbundle instead, I do see the hard-link to asset contents in the main package's directory).

 

How can I individually install the main and asset packages, and still have the proper hard-link for the asset contents in the main package?

 

Version of MakeAppx used: 10.0.17763.132

OS Version: Windows 10 version 1809 (OS Build 17763.316)

3 Replies
best response confirmed by John Vintzel (Microsoft)
Solution

You must install a flat bundle (which is what you have currently where your .appxbundle does not contain your .appx packages) through the bundle and not through its individual .appx packages. Installing .appx packages (that are part of a bundle) by themselves is an unsupported scenario. This is because the .appxbundle is the package that contains the references to the individual .appx packages and ties them all together as one app. Is there a reason why you want to individually install the main and asset packages?

 

You can however update individual .appx packages of a flat bundle after the initial install. For example, if your v1 flat bundle is composed of an .appxbundle, x86 .appx, x64 .appx, and an asset .appx, and you know that your v2 bundle only has changes to the asset package, then you only need to build the .appxbundle and the asset .appx to be able to install the update. (You need to build the .appxbundle for v2 also because the bundle keeps track of all the versions of its .appx packages, so by bumping the version of the asset .appx to v2, you need a new .appxbundle that has this new reference. The v2 .appxbundle can contain references to the v1 x86 .appx and x64 .appx; the .appx packages of a bundle does not need to have the same version.)

Is this same for resource packages also. Can they be installed separately? or they should also be part of the bundle always.

Resources need to be part of the bundle as well.  Optional packages and extensions are standalone and can be installed separately.  

 

John.

1 best response

Accepted Solutions
best response confirmed by John Vintzel (Microsoft)
Solution

You must install a flat bundle (which is what you have currently where your .appxbundle does not contain your .appx packages) through the bundle and not through its individual .appx packages. Installing .appx packages (that are part of a bundle) by themselves is an unsupported scenario. This is because the .appxbundle is the package that contains the references to the individual .appx packages and ties them all together as one app. Is there a reason why you want to individually install the main and asset packages?

 

You can however update individual .appx packages of a flat bundle after the initial install. For example, if your v1 flat bundle is composed of an .appxbundle, x86 .appx, x64 .appx, and an asset .appx, and you know that your v2 bundle only has changes to the asset package, then you only need to build the .appxbundle and the asset .appx to be able to install the update. (You need to build the .appxbundle for v2 also because the bundle keeps track of all the versions of its .appx packages, so by bumping the version of the asset .appx to v2, you need a new .appxbundle that has this new reference. The v2 .appxbundle can contain references to the v1 x86 .appx and x64 .appx; the .appx packages of a bundle does not need to have the same version.)

View solution in original post