-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Doesn't run under WinRM #256
Comments
<microsoft/winget-cli#256> is a showstopper here, but have confirmed that the code in here is working
This is a really important one to the community that does Windows automation. Not having remote command execution over WinRM will turn away the PowerShell community and they would actively discourage it's use. Windows Updates has a similar issue and the workarounds to their issue is really ugly. It's not something we want to deal with again. |
This is a huge blocker. Does it run over ssh? Even if it does, WinRM needs to work flawlessly too. Not every windows tool can utilize ssh for remoting yet. EDIT: I know it's been a while but today I was able to test winget over ssh - it does not work. In cmd the error message is When I run |
It is bad enough that the feature has no Powershell Powershell cmdlets, but not working over remoting? Package management without remoting just makes this toil even less useful. |
I was wondering if it would run under WinRM. I was thinking about using Ansible with WinRM to use winget... |
Oh absolutely. For as much as I am pushing for solid integration with PowerShell #221, if you have to choose between that and remote execution, it has to be remote execution. We deal with enough apps that don't have good PowerShell options that we can mitigate that pain if we have to. But not having execution work over WinRM is much much worse. From my experience of helping people hack around that limitation for another Windows feature, I can tell you that support requests related to this will be endless. Not only to the community, but also to your team. |
OMG, i see thats a next to msix packaging tool software that cannot work from winrm. |
This is still an issue and should be a higher priority. Failure to run over a WSMan remoting session is a huge problem. |
This also fails in an SSH session. |
And this fails using PSExec with an error that the file can't be found. Even when using the full path winget.exe. |
What an utter disappointment; going through all kinds of hoops to get |
|
you are basically bypassing AEAs(App Execution Aliases) of MSIX packages.. Although this should work, AEAs of MSIX packages will work after WinRM/SSH/Docker client programs learn to handle them. see #1474 (comment) and #1838 (reply in thread) |
This problem kind of hearkens back to their decision to implement winget in C++ "because PowerShell was not implemented on all the systems they wanted to support." Which basically means they didn't care about automation at all, and this brokenness that this issue represents just shows the team that invented winget did NOT care about automation, which means PowerShell and WinRM, at least in my opinion. |
You realise that they are very likely entirely separate teams, right? Microsoft isn't just one big team of people who magically know what and how everything else is going on |
Has there been any update to this? Still not working via WinRM, so you can't do an Enter-PSSession and use it, you can't use Invoke-Command, and you can't use PSExec. I'd love to use this in an enterprise environment, but without being able to automate it, I'm at a loss. |
I personally use an old version and extract it with my script above. Still working for the moment ;) |
We are working on a solution for enterprise scenarios. Intune and other MDM providers will be able to execute commands remotely using system context: This same solution will also be part of the work for having native PowerShell support: |
For all the others that are stumbling over this after finding out, that WinGet does not work with HashiCorp Packer / WinRM and can't be automated (duh, of course...). I tinkered a little working PowerShell script that with the current latest version of WinGet takes every appx dependency and throws all the files into one folder together.
At this point I restart the VM. You could theoretically also just restart the shell, but this way it works afterwards.
Disclaimer: I hope I am able to help others. I know this is all hacky and not the right way to do this. I want this to just work, nothing more. Thanks to @David-Ollivier who gave me the hints in the right direction. Some codelines have been taken from your example. |
Same problem with version v1.6.3133. It seems that winget does not handle the situation when a non-interactive session is active. > qwinsta
SESSIONNAME USERNAME ID STATE TYPE DEVICE
>services 0 Disc
console Piotrek 2 Active
rdp-tcp 65536 Listen I'm trying to uninstall an unnecessary package: > winget.exe uninstall --disable-interactivity --accept-source-agreements --exact --silent --force --scope=user "Microsoft Teams"
[...]
Found Microsoft Teams [MicrosoftTeams_8wekyb3d8bbwe]
Starting package uninstall...
â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’â–’ 0%
Uninstall failed with exit code: 0x80070520 : unknown error The winget logs then shows:
|
Just playing around with an Azure Image Builder for Azure AVD Deployment and the same problem just cost me 2 days of playing around and realizing, .. It's just not working. How does microsoft believe that we replace a community driven chocolatey with this half baked (not) solution? |
Chocolatey is more mature, works well, and even has decent cmdlets. Use it vs a 2nd rate beta power toy! |
Another way to get the installer would be to scrap the Winget repos and get the link from the yaml file. Good luck |
Do you guys do anything other than whine? If its "not ready", just.....wait until its "ready". As you have said multiple times, its not like its the only option. |
Is this really your believe? we could just stop 'whining' and wait whatever "god" microsoft is creating for us. In the meantime - NOBODY will use it and these tools will die (because nobody showed interest). Feedback and even if it's 'whining' shows interest, it shows what features are most used, most requested and probably, just probably, somebody at microsoft will hear us whining to fix the issues with a thousend upvotes more than the one some product manager believed would be a good idea. (which it is usually not!) |
Getting the installer doesn't seem to be the problem, running winget through WinRM remoting is just not working (as described in this thread). So installing the current version with the Sandbox Script does work and shows the correct version afterwards, but calling winget to install packages just drops out with error messages and doesn't work at all. |
Windows server core is a supported edtion of windows server and has been for many years. It's supposed to be managed remotely by console so it's a very resonable expectation that you can manage it with WinRM and/or SSH. Winget is (or rather should be) a console package manager. Is a package manager a tool you use to manage your servers ? Yes it is and therefore it is also a very resonable expectation that you can use the MS provided console package manager to manage your server over a remote console and not by loging in to a stripped down GUI We have been "waiting" for almost four years for this. Something that should have worked from the first release. |
The reality is that this tool was written for devs by devs to make it easier to install their tools. But system admins got all excited expecting this to fill the same package management gap for them, but they have been greatly disappointed because their use cases were never considered and still haven't been addressed. I immediately knew this would be a big issue as Microsoft has made this mistake before. I opened this ticket in hopes that they would fix it before release as it would be a barrier to adoption for systems administrators. |
for those who are not aware. it CAN be run under winrm but the install process is very different: |
I will pretty sure test and validate, but I wouldn't call this 'installing' .. it looks more like an adventure |
We are using it as part of a packer setup for a year now and its been stable. |
You're my men! this works perfectly and will use as long as Microsoft is not able to fix this behaviour. |
Goes even further to prove that MS can solve the issue very quickly - it's only the will that is missing. Would I use this "fix" it for 5000 production servers - maybe not without it being a little better supported .... |
This workaround works when installing packages from the Winget source, but it does not work when installing from manifest files. Has anyone had any success installing a package using |
Brief description of your issue
WinGet can't be run on a WinRM session. The UWP magic doesn't seem to understand such a setup and so there are various problems:
winget
command can't be found, despite the WindowsApps directory being in $PATH;I'm working on a Chef cookbook which adds WinGet as a custom resource (so it can install packages) but at present this can't be smoothly tested because the call to the
winget
executable always fails.Steps to reproduce
Enter-PSSession
,vagrant powershell
or the like to open a remote PowerShell session to a host with WinGet installed.Expected behavior
Actual behavior
Typical example output on an interactive session on a local Windows VM created by Vagrant:
Environment
Any other software?
The text was updated successfully, but these errors were encountered: