How do I migrate/upgrade my users from an .msi to an .msix based setup?

Copper Contributor

I have created a .msix version of my installer (using MakeAppx and a manual PackageLayout). It works fine by itself and installs & runs my app without issue (a C++ FullTrust UWPDesktop app).


However my app previously was just a simple Windows C++ application and shipped using an .msi-based installer. The same installer was used for both first install & build-over-build upgrade.


I want the next release of my app to go out with the .msix instead.


This is fine for all new users but how do I upgrade my existing users from the .msi to the .msix based installer? Currently if I try to "upgrade" from .msi to .msix it causes two versions of the app - the old .msi version and the new .msix. I suppose I need to get the .msix install to remove the old .msi version of the app?


1 Reply

Hi @deonb11155,


Great question, thanks for reaching out! This is because we don't associate the two apps types. How you can do this 'upgrade' depends on how you are deploying your app.


If you are using a management tool, you can manage the deployment and uninstallation from there.


You can use a script to perform the uninstall when you install the msix.