Powertoys: Improve .net core installer experience

Created on 20 May 2020  路  9Comments  路  Source: microsoft/PowerToys

Right now the experience is we install PT then detect if .NET Core is needed and prompt the user. This can be a jarring experience to some and rightfully so.

Lets streamline this into our installer

  1. detect if user doesn't have core, install it
  2. install PT

due to shift in installer, this will have to be a .20 item but i think work will need to be done in .19 to the updater

Area-SetuInstall Resolution-Fix-Committed

Most helpful comment

I installed Power Toys, and it prompted me to install .net core. I installed .net core 3.1 but it continues to prompt me to install .net core every time I open it. FYI I installed Power Toys using winget, and I installed the 64-bit .net core 3.1, which didn't work, then the 32-bit .net core 3.1, which still didn't work.
I just looked in the Windows log and found this, which looks like it needs version 3.1.0 but the latest .net core is 3.1.4. Installing 3.1.0 made it work.
And please DON'T LINK TO PAGES WITH SO MANY ITEMS TO DOWNLOAD! IT IS CONFUSING TO EVERYONE.

Description: A .NET Core application failed. Application: Microsoft.PowerToys.Settings.UI.Runner.exe Path: C:\Program Files\PowerToys\SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.exe Message: It was not possible to find any compatible framework version The framework 'Microsoft.WindowsDesktop.App', version '3.1.0' was not found. - No frameworks were found. You can resolve the problem by installing the specified framework and/or SDK. The specified framework can be found at: - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.WindowsDesktop.App&framework_version=3.1.0&arch=x64&rid=win10-x64

--

All 9 comments

Note that it appears that net core is first downloaded before prompting the user. On a slow connection this can last minutes before the prompt appears.

During this time the user has no visual feedback at all: powertoys icon is in the tray area but is non functional.

This is what happened to me. After a few minutes the install prompt magically appeared. I wasn't even sure this was powertoys doing that since such a long time had passed.

Couldn't powertoys installer be bundled with net core installer?
At least this would solve the delay.

@warpdesign
there were technical reasons that prevented us from bundling the .NET Core installer in 0.18.

While bundling will increase our installer footprint, I think it is the correct move based on a lot of feedback here.

Seamless experience for installing where dependencies are handled invisibly.

I installed Power Toys, and it prompted me to install .net core. I installed .net core 3.1 but it continues to prompt me to install .net core every time I open it. FYI I installed Power Toys using winget, and I installed the 64-bit .net core 3.1, which didn't work, then the 32-bit .net core 3.1, which still didn't work.
I just looked in the Windows log and found this, which looks like it needs version 3.1.0 but the latest .net core is 3.1.4. Installing 3.1.0 made it work.
And please DON'T LINK TO PAGES WITH SO MANY ITEMS TO DOWNLOAD! IT IS CONFUSING TO EVERYONE.

Description: A .NET Core application failed. Application: Microsoft.PowerToys.Settings.UI.Runner.exe Path: C:\Program Files\PowerToys\SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.exe Message: It was not possible to find any compatible framework version The framework 'Microsoft.WindowsDesktop.App', version '3.1.0' was not found. - No frameworks were found. You can resolve the problem by installing the specified framework and/or SDK. The specified framework can be found at: - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.WindowsDesktop.App&framework_version=3.1.0&arch=x64&rid=win10-x64

--

So now I have 3.1.4 ASP.NET Core Runtime, .NET Core Runtime, Desktop Runtime, and SDK 3.1.300 ALL installed on my machine for nothing. Fantastic. Something tells me that 1. these aren't going to be straightforward to uninstall and 2. doing so will break something. I am really glad to hear that dependencies will be handled invisibly. It should have been that way from the start (or, clear instructions provided at least).

@honda00
PowerToys requires Desktop Runtime that includes .NET Core Runtime.
If you have already the SDK and you need it for other reasons, you can uninstall the Desktop Runtime.
Uninstalling it is very simple, go to Windows 10 Settings -> Apps -> Apps & features and uninstall it from there.

PowerToys doesn't install ASP.NET Core Runtime, unless you have install it for other reasons, it can be uninstalled as well.

Great. Thanks. Installing 3.1.0 did the trick like jaweekes said there. Although the link they supplied now brings you to 3.1.4.

We just released 0.20 and this should be resolved there. Please try it out.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Martin-Hausleitner picture Martin-Hausleitner  路  3Comments

aminya picture aminya  路  3Comments

xfirf picture xfirf  路  3Comments

verglor picture verglor  路  3Comments

enricogior picture enricogior  路  3Comments