Modern Application Installation Issue #1
Most companies utilise Microsoft System Centre Configuration Manager (SCCM) or Windows Software Update Server (WSUS) to distribute updates to workstations on an internal network. These internal update servers are configured through a corporate Group Policy Object using the "Specify intranet Microsoft update service location" policy as shown in the following screenshot.
When a workstation receives this group policy setting to use an internal update server, the workstation is automatically configured to not utilise public Windows Update servers outside of the corporate network through a registry DWORD value called DisableWindowsUpdateAccess. This DWORD is configured under the following registry key:
Windows 8 installs Modern Applications available in the Windows App Store from online update servers. Applications available in the App Store are not available on internal WSUS or SCCM servers. This DisableWindowsUpdateAccess DWORD value prevents the Windows 8 App Store from downloading applications and triggers the following error message:
Your purchase couldn't be completed.
Something happened and your purchase can't be completed. Error code: 0x8024002e
To allow Windows 8 modern applications to be installed you must allow Windows 8 to contact the public update servers to retrieve the application.
If you set the DisableWindowsUpdateAccess registry key DWORD value to 0 and reboot the machine, you will then be able to download applications from the Windows 8 Application Store.
Modern Application Installation Issue #2
Another problem which catches out enterprise organisations and is much more difficult to solve is the use of proxy servers or transparent proxy servers. If you experience the following error it is due to a proxy server which Windows 8 Modern Applications have difficulties dealing with. These difficulties will be explained below and there is no easy resolution as you will find out.
Something happened and this app couldn't be installed. Please try again. Error code: 0x8024401c
We are now going to look into why this is occurring...
Windows 8 has two proxy APIs which communicate with network proxy servers to provide internet connectivity to applications.
The first API which is used by most desktop applications and Internet Explorer is the WinInet library. More information on this library can be found here:
The second API which is used by Windows 8 modern applications is the WinHTTP library which is documented on MSDN here:
The WinHTTP library is very limited in terms of functionality compared to the WinInet library. Significant limitations include no NTLM authentication abilities and the inability to automatically prompt users to enter proxy server credentials when attempting to authenticate against the proxy server. The WinInet proxy API automatically prompts users to enter their proxy server authentication details when trying to authenticate against a proxy server.
As Modern Applications use such the limited WinHTTP API, the only resolution is a complex work around:
"Setup another proxy server running on the local machine which allows WinHTTP to connect unauthenticated then authenticate with the corporate proxy server with the local proxy server installation. Configure the WinHTTP proxy using the netsh utility to use the local proxy server running on 127.0.0.1:3128"
Yep, not easy is it?
If you are desperate to get Modern Applications working through your corporate proxy server or transparent corporate proxy server, please refer to the following TechNet form which contains instructions on how to configure this: