SOLVED

MSIX automatic updates and authentication

%3CLINGO-SUB%20id%3D%22lingo-sub-1098083%22%20slang%3D%22en-US%22%3EMSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1098083%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20everyone%2C%3C%2FP%3E%3CP%3Ewe%20recently%20started%20using%20MSIX%20with%20the%20automatic%20updates%20and%20made%20great%20progress%20in%20a%20short%20time.%20Our%20business%20would%20like%20change%20all%20our%20products%20from%20standalone%20MSI%20to%20MSIX%20with%20automatic%20updates%2C%20but%20one%20thing%20we%20need%20is%20different%20versions%20for%20specific%20customers%20(depending%20on%20the%20contract%20type).%20The%20package%20flighting%20concept%20in%20the%20microsoft%20store%20sounds%20like%20what%20we%20wan't%20to%20achive.%20I%20tried%20to%20achieve%20this%2C%20with%20using%20an%20azure%20webservice%20as%20the%20update%20source%2C%20which%20returns%20the%20correct%20package%20for%20the%20customer.%20I%20got%20the%20service%20to%20run%20and%20it%20works%2C%20but%20as%20soon%20as%20I%20enable%20authentication%20(Azure%20AD)%20on%20it%2C%20windows%20can't%20download%20the%20package%20and%20displays%20an%20generic%20error%20message%20(%22An%20error%20occurred%20while%20accessing%20the%20file%20from%20the%20web%22)%20during%20appinstall%20%2F%20update.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIs%20there%20any%20way%20to%20enable%20authentication%20on%20the%20update%20url%20or%20achieve%20customer%20specific%20update%20streams%3F%3C%2FP%3E%3CP%3Ethanks%20and%20best%20regards%2C%3C%2FP%3E%3CP%3EMartin%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1105657%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1105657%22%20slang%3D%22en-US%22%3E%3CP%3EHey%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F511441%22%20target%3D%22_blank%22%3E%40Martin82%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20AppInsatller%20file%20currently%20doesn't%20support%20user%20authentication.%20This%20is%20a%20feature%20in%20our%20backlog%20and%20we%20hope%20to%20get%20to%20it%20soon.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETanaka%20(MSFT)%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1569938%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1569938%22%20slang%3D%22en-US%22%3E%3CP%3EHi%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F387730%22%20target%3D%22_blank%22%3E%40Tanaka_Jimha%3C%2FA%3E%20%2C%3C%2FP%3E%3CP%3Ethx%20for%20your%20reply%20back%20in%20January.%20I've%20checked%20a%20few%20sources%20about%20msix%20development%2C%20but%20couldn't%20find%20anything%20about%20this.%20Do%20you%20have%20an%20update%20or%20can%20you%20point%20me%20at%20some%20alternatives%20how%20to%20implement%20customer%20specific%20versions%20with%20automatic%20updates%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethx%20and%20br%2C%3C%2FP%3E%3CP%3EMartin%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1596693%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1596693%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F511441%22%20target%3D%22_blank%22%3E%40Martin82%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ECan%20you%20please%20elaborate%20on%20%22customer%20specific%20versions%22.%20Do%20you%20mean%20being%20able%20to%20distribute%20certain%20versions%20of%20your%20package%20depending%20on%20who%20is%20trying%20to%20install%20the%20app%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%2C%3C%2FP%3E%0A%3CP%3ETanaka%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1596810%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1596810%22%20slang%3D%22en-US%22%3E%3CP%3EHi%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F387730%22%20target%3D%22_blank%22%3E%40Tanaka_Jimha%3C%2FA%3E%20%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Eyes%2C%20thats%20exactly%20what%20we%20want%20to%20achieve.%20We%20produce%20about%204-6%20Versions%20of%20our%20desktop%20products%20per%20year%2C%20but%20there%20are%20dependencies%20on%20external%20services%20and%20databases%2C%20so%20we%20can't%20roll%20out%20the%20update%20for%20everyone%20at%20the%20same%20time.%20(And%20some%20updates%20need%20our%20consulting%20colleagues%2C%20and%20so%20we%20have%20to%20enable%20the%20update%20per%20customer%20after%20the%20preparation%20is%20done).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EDuring%20writing%20this%20reply%2C%20I%20found%20a%20documentation%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fmsix%2Fnon-store-developer-updates%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fmsix%2Fnon-store-developer-updates%3C%2FA%3E%20for%20manual%20updates%20with%20the%20package%20manager.%20I'm%20not%20sure%20when%20the%20capabilities%20to%20use%20http-Uris%20for%20AddPackageAsync%20where%20added%20-%20the%20documentation%20still%20stays%20only%20local%20file%20shares%20are%20supported%20-%20but%20it%20seems%20we%20can%20use%20this%2C%20instead%20of%20the%20authentication.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI'll%20try%20it%20out%20sometime%20in%20the%20future%2C%20but%20it%20looks%20like%20we%20don't%20need%20the%20authentication%20anymore.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%2C%3C%2FP%3E%3CP%3EMartin%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1601865%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20automatic%20updates%20and%20authentication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1601865%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F387730%22%20target%3D%22_blank%22%3E%40Tanaka_Jimha%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEdit%3A%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fmsix-deployment%2Fuwp-web-distribution-behind-aad-auth%2Fm-p%2F1601917%23M646%22%20target%3D%22_self%22%3Emade%20this%20a%20separate%20post%3C%2FA%3E.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRIKE%3EI'm%20wondering%20if%20this%20backlog%20item%20will%20solve%20my%20issue%2C%20which%20is%20I%20want%20to%20host%20the%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fmsix%2Fapp-installer%2Finstalling-windows10-apps-web%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3Eweb-based%20distribution%20page%20for%20my%20UWP%20app%3C%2FA%3E%20in%20an%20Azure%20web%20app%20behind%20Easy%20Auth%20so%20that%20only%20users%20in%20the%20linked%20Active%20Directory%20can%20access%20the%20installation%20download.%26nbsp%3B%3C%2FSTRIKE%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRIKE%3EEasy%20Auth%20works%20as%20expected%20to%20require%20login%20to%20the%20web%20page%2C%20but%20the%20App%20Installer%20experience%20fails%20with%20'An%20error%20occurred%20while%20accessing%20the%20file%20from%20the%20web.%20Please%20try%20downloading%20and%20opening%20the%20file%20locally.'%20I'm%20guessing%20this%20same%20issue%20will%20impact%20the%20automatic%20update%20functionality%20of%20the%20UWP%20app%20as%20well.%3C%2FSTRIKE%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSTRIKE%3ECurious%20if%20'AppInstaller%20user%20authentication'%20would%20solve%20this%20problem%2C%20or%20if%20it%20will%20be%20an%20authentication%20experience%20after%20the%20MSIX%20package%20has%20already%20been%20downloaded.%3C%2FSTRIKE%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

Hello everyone,

we recently started using MSIX with the automatic updates and made great progress in a short time. Our business would like change all our products from standalone MSI to MSIX with automatic updates, but one thing we need is different versions for specific customers (depending on the contract type). The package flighting concept in the microsoft store sounds like what we wan't to achive. I tried to achieve this, with using an azure webservice as the update source, which returns the correct package for the customer. I got the service to run and it works, but as soon as I enable authentication (Azure AD) on it, windows can't download the package and displays an generic error message ("An error occurred while accessing the file from the web") during appinstall / update.

 

Is there any way to enable authentication on the update url or achieve customer specific update streams?

thanks and best regards,

Martin

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

Hey @Martin82 

 

The AppInsatller file currently doesn't support user authentication. This is a feature in our backlog and we hope to get to it soon.

 

Tanaka (MSFT)

Hi@Tanaka_Jimha ,

thx for your reply back in January. I've checked a few sources about msix development, but couldn't find anything about this. Do you have an update or can you point me at some alternatives how to implement customer specific versions with automatic updates?

 

thx and br,

Martin

 

 

Hi @Martin82,

 

Can you please elaborate on "customer specific versions". Do you mean being able to distribute certain versions of your package depending on who is trying to install the app?

 

Thanks,

Tanaka

Hi@Tanaka_Jimha ,

 

yes, thats exactly what we want to achieve. We produce about 4-6 Versions of our desktop products per year, but there are dependencies on external services and databases, so we can't roll out the update for everyone at the same time. (And some updates need our consulting colleagues, and so we have to enable the update per customer after the preparation is done).

 

During writing this reply, I found a documentation https://docs.microsoft.com/en-us/windows/msix/non-store-developer-updates for manual updates with the package manager. I'm not sure when the capabilities to use http-Uris for AddPackageAsync where added - the documentation still stays only local file shares are supported - but it seems we can use this, instead of the authentication.

 

I'll try it out sometime in the future, but it looks like we don't need the authentication anymore.

 

Thanks,

Martin

 

@Tanaka_Jimha 

 

Edit: made this a separate post

 

I'm wondering if this backlog item will solve my issue, which is I want to host the web-based distribution page for my UWP app in an Azure web app behind Easy Auth so that only users in the linked Active Directory can access the installation download. 

 

Easy Auth works as expected to require login to the web page, but the App Installer experience fails with 'An error occurred while accessing the file from the web. Please try downloading and opening the file locally.' I'm guessing this same issue will impact the automatic update functionality of the UWP app as well.

 

Curious if 'AppInstaller user authentication' would solve this problem, or if it will be an authentication experience after the MSIX package has already been downloaded.

Hi @Tanaka_Jimha, is there any news?

In looking at this thread, while it might be nice if the AppInstaller file functionality included an auth feature, I'm not sure we need it.

Typically in any kind of packaged deployments, the package is user agnostic and the tooling provides authentication. The AppInstaller file is used as something sent to be installed, so auth might not be needed here. Instead, I think that authentication should be implemented by the "hoster" on the actual MSIX file. So if UNC file share that means ACLs, and for Http/S some sort of logon permissions. The latter might be harder to do, but I'm assuming that this is an enterprise situation that would be using UNC.

Hi @TIMOTHY MANGAN, Excuse me but I don't understand you.
Referring to the following link https://docs.microsoft.com/en-us/windows/msix/app-installer/web-install-azure
The MSIX installer does not work when Azure AD authentication is enabled.

OK. I don't test appinstaller in a scenario where AAD auth is required, but I've certainly done AAD auth based MSIX installs so I know that much works. But, assuming it can work, you likely would have the files in Azure Files, and user based access should be able to be placed there. I'd also guess some web portal work could be done to provide different files for different users from the same request, if you did that you could have one web link that points to different appinstaller files (and therefore different MSIX versions) on a per-user basis..