Sunday, February 20, 2022

Realtek Audio Console will not install from the Windows Store

problem: unable to install app via Microsoft store

INFO: I use a firewall (WFC - Windows Firewall Control) which is configured to block any unknown inbound or outbound traffic. My ruleset does not allow Microsoft services or Microsoft Store by default (explicit and specific rules required). So I think this firewall ruleset and approach has caused some issues where driver install and Microsoft Store and apps expect to be able to reach the internet without restrictions to download and install dependencies.

In this case I was trying to install the Realtek Audio Console from the Microsoft Store which did not "appear" during the install of the official Realtek drivers for the motherboard in question. Motherboard was a X570 AORUS MASTER running Windows 10.

The reason I was trying to install this manually is because I think my security settings/firewall blocked the driver install from installing/fetching the app from the Microsoft Store. Perhaps also my lack of Microsoft account? (I've always used local accounts not Microsoft Accounts)

I was getting a persistent PUR-AuthenticationFailure error from the Microsoft Store. I have never used nor likely want to sign in to the Microsoft Store, and trying to install the app without sign-in (declining sign-in) kept looping to this error.

I was getting this error persistently with or without the firewall enabled 🤬😡

impact: not able to config and control audio devices

My specific issue was the need/requirement to control the 5.1 / 7.1 audio and the related audio jacks/connectors and settings. This is not easy or possible without the Realtek Audio Console.

Here you can see the relevant advanced "connector settings" from the Realtek Audio Console.

solution: manually download app files and install the app via PowerShell

First I tried a registry cfg tweak via elevated cmd prompt, to see if I could generically fix the Microsoft Store issue:
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Accounts" /v AllowMicrosoftAccountSignInAssistant /t REG_DWORD /d 1 /f

Unfortunately this alone did not seem to help.

I had a memory that its possible with powershell to install windows features and apps via the command line. So I researched this approach to see if I could bypass the store issue.

I found a post by Rudy Mens at LazyAdmin.nl which helped me. I followed the steps:

  1. pasted the store link into https://store.rg-adguard.net/.
  2. located and downloaded the latest version appxBundle (not eappxBundle).
  3. opened non-elevated PowerShell prompt.
  4. Add-AppxPackage -Path "%temp%\RealtekSemiconductorCorp.RealtekAudioControl_1.35.266.0_neutral_~_dt26b99r8h8gj.AppxBundle"
  5. this threw an exception about missing dependencies, so I downloaded and installed the latest VCLibs for my architecture:
    Add-AppxPackage -Path "%temp%\Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.Appx"
  6. then repeated the command to install the appxBundle.
  7. After some seconds the Realtek Audio Console app appeared when searching in the Start Menu.
  8. Launching the app didn't work. It appeared and disappeared without any indication as to why. This issue was persistent.
  9. I checked the firewall log and I could see that the "Microsoft Account Sign-in Assistant" (wlidsvc) had been trying to access the Internet.
  10. I lowered the firewall profile to "low" and tried to launch the app again and voilà the app opened.
  11. I raised the firewall profile to "medium" and tried the app again, it was working.
So some first-time / one-time internet access for this app was not possible causing it to fail to start, and in a very unhelpful way because from the users perspective the error was invisible. Add to the list of reasons I dislike App Stores of any kind. Why can't app and package managers just follow the apt package approach, which solves many pitfalls of app and dependency mgmt. ¯\_(ツ)_/¯

Something I wonder for the future. Is it possible to install an app via PowerShell with a package name/identifier without having to download the files manually, and perhaps it will automatically solve dependencies? I found this insightful serverfault post which also cites code from https://store.rg-adguard.net/.

Lastly... a note for any Microsoft or Microsoft App programmer: WTF does an Audio Console app require internet access to make it work. 100% retarded and useless design if you ask me. At least throw an error but still work without internet. 🤬

citation:

Props to: @ LazyAdmin.nl

No comments: