microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.5k stars 6.56k forks source link

Windows Server Support #6789

Open rolltidehero opened 4 years ago

rolltidehero commented 4 years ago

๐Ÿ“

Can we get Windows Server 2016/2019 support for this? I would love to install this on all my servers that I use regularly in the lab.

If you'd like to see this feature implemented, add a ๐Ÿ‘ reaction to this post.

crutkas We need WinUI 3.1 for multi-window and elevation support. From there we can migrate off XAML Islands which have a hard Windows 1903 API minimum dependency.

Aaron-Junker commented 4 years ago

I think thats possible

crutkas commented 4 years ago

@rolltidehero have you tried to get it to run?

crutkas commented 4 years ago

Reason why i ask, i can't see why this wouldn't just work but it isn't something we've proactively tested.

rolltidehero commented 4 years ago

Iโ€™ve tried on Windows Server 2016 and it didnโ€™t work. I havenโ€™t been able to try it on 2019.

crutkas commented 4 years ago

It would have to be based off win10 19H1 or better. We may have to tweak the installer as well.

Jacob-o commented 4 years ago

This would be amazing for me! I love the keyboard manager. I tried it on a Win Server 2019 Datacenter and it says "this feature requires Win 10 version 1903 or higher" for ColorPicker, Keyboard Manager, and PowerToys Run. Thank you for the consideration!

crutkas commented 4 years ago

Looks like the installer will need to be tweaked, has anyone tried to compile PT and just run it that way via VS on server?

enricogior commented 4 years ago

@Jacob-o can you please post the output of winver?

royvou commented 4 years ago

I just downloaded the latest Windows Server 2019 and this has build 1809, which is lower then 1903 so i think the error is correct (And seems to be working fine as i can install it correctly).

If i manually run PT Run / Color Picker on this version though, it is working. I think the issue is larger in that features are blocked behind higher Windows Versions (Including Server which always is behind) than required.

Do we know what is the reason we locked thease features behind1903, can't seem to find it in a PR?

crutkas commented 4 years ago

Keyboard manager, Settings v2 both use XAML Islands. PT Run's was XAML Islands when we first shipped as well. That API requires 19H1. The hope was we'd have a build of WinUI 3 quickly that we could then utilize to not have to use Islands.

At this point i think a large sum at this point as well is not wanting to support the legacy settings system with new items. The new settings system has unit tests

royvou commented 4 years ago

So best is to skip any major effect on it and wait until WinUI 3 is released, PT Run could be changed to run on a lower version with minimum effect though, but has no priority, which could use some help from a contributor :)

crutkas commented 4 years ago

honestly, i think if we just know what the version of server that maps to 19h1 on windows, we're good

royvou commented 4 years ago

Well we should wait for confirmation of @rolltidehero but i expect he is running the 2019 LTS (Which sounds like a good idea on a server!), which is based on 1809 (More information here: https://docs.microsoft.com/en-us/windows-server/get-started/windows-server-release-info)

If you install any Semi-Annual Channel (Like Windows is also using) and are up to date you are based on build 1903/1909/2004, but these are missing the 'Desktop Experience" (E.g. explorer.exe etc), so i don't think that PT (Or any GUI) would make sense on there?

So doesn't seem like a simple fix, or am i missing something?

rolltidehero commented 4 years ago

Well we should wait for confirmation of @rolltidehero

The latest version that any of the servers on my domain is Windows 2016, so I know those won't work.

@Jacob-o What version of Server 2019 are you running (winver)

crutkas commented 4 years ago

looks like @royvou is one step ahead. It is API Contract 8 which should be in:

We can tweak the installer to work with server but the API contract goodness would still not allow anything to work that is a newer PT due to Settings requiring XAML Islands.

Windows Server, version 1903 (Semi-Annual Channel) (Datacenter Core, Standard Core) 1903 18362.30.190401-1528

royvou commented 4 years ago

looks like @royvou is one step ahead. It is API Contract 8 which should be in:

We can tweak the installer to work with server but the API contract goodness would still not allow anything to work that is a newer PT due to Settings requiring XAML Islands.

Windows Server, version 1903 (Semi-Annual Channel) (Datacenter Core, Standard Core) 1903 18362.30.190401-1528

Remember this version does not have any of the GUI/desktop stuff in. ๐Ÿ‘ (login to this version opens a command prompt only)

PatrickEekhout commented 3 years ago

I can confirm PT v0.25.0 installs and works with Windows Server 2019 Standard, version 1809 (OS Build 17763.1577), with Desktop Experience.

wolfhoundjesse commented 3 years ago

PT 0.37.0 gives this error on my EC2 instance of WS19 DataCenter, version 1809 (OS Build 17763.1817). I only need FancyZones, so I'm going to give .0.25.0 a try based on @PatrickEekhout comment .

Edit: 0.35.0 gives me what I need. Thanks @enricogior !

enricogior commented 3 years ago

@wolfhoundjesse 0.35 also runs on 1803 and 1809.

adrianhale commented 3 years ago

Can confirm PowerToysSetup-0.45.0-x64.exe work on Windows Server 2022

Dunkelicht commented 2 years ago

Please consider adding support for server 2019 aka 1809, it is a windows could install vs2017+officially and many industrial software ticked to this version.

Or could any some good guy tell us which part has been update so no support for that, we could make special version of that.

crutkas commented 2 years ago

We need WinUI 3.1 to migrate off XAML Islands since that has a hard 1903 requirement. Settings, Keyboard manager editor and PowerRename all currently use Islands

WinUI3.1 gives us elevation support and multi-window support. Both of which are requirements for all 3 apps that need to be migrated

PalliLut commented 2 years ago

@crutkas @davidegiacometti @wx00000

Windows Server 2022 21H2 build 20348.1129 is working for me showing the settings using PT v0.64.0.

PowerToys Run pops up and works as does FancyZones and it's editor. I've not done extensive tests as I don't use nearly all of the software's features but I've had no issues in my short time of testing the software.

The server is offline so I had to download and install .NET 6.0.10 Desktop Runtime and an offline version of the Microsoft Edge WebView 2 Runtime installer before installing PowerToys.

image

PhmAnthony commented 1 year ago

I have v0.35.0 running on Windows Server 2019 v1809 (OS Build 17763.3650) (Datacenter).

I tried to install v0.65.0, and it failed with "This application is only supported on Windows 10 version v2004 (build 19041) or higher."

Burn v3.14.0.6526, Windows v10.0 (Build 17763: Service Pack 0), path: C:\Windows\Temp\{127FE989-F1A9-4EBB-AFE1-B3DD11D9882E}\.cr\PowerToysSetup-0.65.0-x64.exe
Initializing string variable 'InstallFolder' to value '[ProgramFiles64Folder]PowerToys'
Initializing string variable 'MsiLogFolder' to value '[LocalAppDataFolder]\Microsoft\PowerToys\'
Initializing version variable 'DetectedPowerToysVersion' to value '0.0.0.0'
Initializing version variable 'TargetPowerToysVersion' to value '0.65.0'
Initializing version variable 'DetectedWindowsBuildNumber' to value '0'
Command Line: '-burn.clean.room=A:\Downloads\PowerToysSetup-0.65.0-x64.exe -burn.filehandle.attached=728 -burn.filehandle.self=768'
Setting string variable 'WixBundleOriginalSource' to value 'A:\Downloads\PowerToysSetup-0.65.0-x64.exe'
Setting string variable 'WixBundleOriginalSourceFolder' to value 'A:\Downloads\'
Setting string variable 'WixBundleLog' to value 'C:\Users\PHMIT~1.AMI\AppData\Local\Temp\powertoys-bootstrapper-msi-0.65.0_20221216095316.log'
Setting string variable 'WixBundleName' to value 'PowerToys (Preview) x64'
Setting string variable 'WixBundleManufacturer' to value 'Microsoft Corporation'
Setting numeric variable 'WixStdBALanguageId' to value 1033
Setting version variable 'WixBundleFileVersion' to value '0.65.0.0'
Detect begin, 4 packages
Setting version variable 'DetectedPowerToysVersion' to value '0.35.0.0'
Setting string variable 'DetectedWindowsBuildNumber' to value '17763'
Setting numeric variable 'HasDotnet700' to value 1
Registry key not found. Key = 'Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
Setting numeric variable 'HasWebView2PerUser' to value 0
Setting numeric variable 'HasWebView2PerMachine' to value 1
Condition 'HasDotnet700' evaluates to true.
Condition 'HasWebView2PerMachine OR HasWebView2PerUser' evaluates to true.
Detected related package: {28C1DE41-8926-479A-901C-A5C9E2CE469B}, scope: PerMachine, version: 0.35.0.0, language: 0 operation: MajorUpgrade
Detected related package: {28C1DE41-8926-479A-901C-A5C9E2CE469B}, scope: PerMachine, version: 0.35.0.0, language: 0 operation: MajorUpgrade
Detected package: TerminatePowerToys, state: Absent, cached: None
Detected package: DotnetRuntime7, state: Present, cached: None
Detected package: WebView2, state: Present, cached: None
Detected package: PowerToysSetup_0.65.0_x64.msi, state: Absent, cached: None
Condition 'TargetPowerToysVersion >= DetectedPowerToysVersion OR WixBundleInstalled' evaluates to true.
Condition 'DetectedWindowsBuildNumber >= 19041 OR WixBundleInstalled' evaluates to false.
This application is only supported on Windows 10 version v2004 (build 19041) or higher.
Error 0x81f40001: Bundle condition evaluated to false: DetectedWindowsBuildNumber >= 19041 OR WixBundleInstalled
Detect complete, result: 0x0
cipo80 commented 1 year ago

I want to install PT on Windows server 2019, but also with 0.73 seems to be not support the 2019 server version. Any change to re-add?