Shared Package Container XML Format feedback


Some feedback on the new Shared Package Container:

  • We always love a schema file.  Just saying...
  • In addition to the previous feedback, the documentation currently is not to the level of other xml formats like appxmanifest or appinstaller.  Details for validation on parameters, and limits on the number of sub-elements.
  • In an enterprise environment, this file would not be a temporary xml file, and I believe it should probably have it's own file type extension.  Possibly something like .msixspc
  • The xml file should allow for a version field on the root node.  Even if the installation silently ignores this field, we will need a version field to keep our sanity.
6 Replies
[Yeah, replying to my own post...]
Additional feedback. The need to specify the PackageFamilyName does cause the issue of having to install the package to find out the name. It appears that the only way to determine the PublisherId (the hash) used in the PackageFamilyName is to install the package to get the value out or powershell, or write some C++ code to perform the encoding of the publisher field. We should be able to provide the PackageName and Publisher field.

[No sense in breaking bad habits now]


The associated PowerShell commands could use some work:

1) Get-SharedPackageContainer. It will be necessary to be able to query for all container sets previously added without knowing their names. It may be possible this in the intent with this cmdlet and it should be documented as [-Name [name]], possible the functionality should be added to this cmdlet, or perhaps as a new cmdlet like Get-SharedPackageContainers
2) The Add-SharedPackageContainer cmdlet should probably allow the path to be specified [-Path] <path>

Hi, thank you for the feedback. We did reach out to some customers and found that the current xml format would work with their current workflow. In particular, version field seams to lead to confusion as the platform doesn't care what version the .xml file is. All we care about is the list of packages that are in the .xml that was deployed to device. If IT Pro would like to change the list of packages inside the container, than they would just need to modify the .xml file and deploy it. If IT Pro need to validate what are the list of apps inside container than they would need to just query the device.
Thanks for the feedback, yes IT Pros will need to know the PackageFamilyName in order to populate the .xml file to define the Shared Package Container. This is currently how we identify packages in the platform. Note that this is not dependent on the version of the app.
Hi, thanks for the feedback, we are looking into this.
Here is the scenario as I see it.
Someone creates an spg file and stores it somewhere central. It gets deployed out to a bunch of users. Then someone updates the file, probably overwriting the existing file. That gets deployed to a bunch of users, likely including all of the original ones, but possibly something goes wrong in that deployment and a user doesn't get the change. This becomes difficult to detect and determine. A version field, even if not implemented for versioning, would be helpful and consistent with how IT Pros manage deployments. It's about debugging issues, not deploying.