Forum Discussion

Andreas Kerl's avatar
Andreas Kerl
Brass Contributor
Jan 26, 2019

Understand Update algorithm

Hello,

I am experimenting with the update algorithm of MSIX. Is there a description? I have noticed the following:

  • The main property is "Identity Name". This property must match; if not, it is another app.
  • The version number must be increased.
  • Architecture doesn't matter. Package V1.0 with x64 app is installed. Package V1.1. with x86 app overwrites V1.0, just like package V1.2 with Neutral app.
  • Publisher must match. Different publisher in a package with a higher version leads to error.
  • A MSIXBundle can be used as an update for a MSIX package. But if a bundle is installed, this cannot be updated by a MSIX package.

Is this correct?

thx
Andreas

  • jvintzel's avatar
    jvintzel
    Jan 28, 2019

    Upgrades are performed within the same package family.  The package family is comprised from the Package Name and Publisher.  So they need to stay the same to update.  These are the other considerations:

     

    • Packages must increment to a higher version.  Lower versions are blocked by default.  1809 did introduce a "rollback" like feature.  It allows install of a lower version package when an override is provided.  Right now it is available in PowerShell using the ForceUpdateFromAnyVersion switch
    • Packages can switch archiecture as long as the acritechure is applicable to the OS
    • Packages can move from an MSIX to an MSIX bundle, but bundles to MSIX are not supported

    John.

     

  • Are you testing with a new MSIX package or a differential package? I would recommend a differential package.

    • Andreas Kerl's avatar
      Andreas Kerl
      Brass Contributor

      I don't see the relation to my question. My test packages contain different versions of a .NET Winform App, partly also different architecture (x66, x64, AnyCPU). I packed them into MSIX and got the corresponding results. I understood that MSIX always executes block updates.

      • jvintzel's avatar
        jvintzel
        Icon for Microsoft rankMicrosoft

        Upgrades are performed within the same package family.  The package family is comprised from the Package Name and Publisher.  So they need to stay the same to update.  These are the other considerations:

         

        • Packages must increment to a higher version.  Lower versions are blocked by default.  1809 did introduce a "rollback" like feature.  It allows install of a lower version package when an override is provided.  Right now it is available in PowerShell using the ForceUpdateFromAnyVersion switch
        • Packages can switch archiecture as long as the acritechure is applicable to the OS
        • Packages can move from an MSIX to an MSIX bundle, but bundles to MSIX are not supported

        John.