wine-mono icon indicating copy to clipboard operation
wine-mono copied to clipboard

Include PowerShell

Open alesliehughes opened this issue 11 years ago • 10 comments

A free PowerShell for mono has been created and basic functionality. https://github.com/Pash-Project/Pash

alesliehughes avatar Aug 13 '13 23:08 alesliehughes

Basic Registry.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1] "Install"=dword:00000001 "PID"="89383-100-0001260-04309"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\0409] "Install"=dword:00000001

alesliehughes avatar Aug 13 '13 23:08 alesliehughes

The following directory is where the assemblies would be installed. C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0

Environment MONO_PATCH would need to be set to the above path.

alesliehughes avatar Aug 13 '13 23:08 alesliehughes

Is binary compatibility a goal of this project?

Is there downloadable software using powershell that I can use to test it? CoApp's PowerShell tools maybe? http://coapp.org/pages/releases.html

madewokherd avatar Aug 19 '13 01:08 madewokherd

Chocolatey package manager for Windows heavily depends on powershell, which is a good source to test Pash, but Pash is not compatible enough to support chocolatey yet at this time.

ghost avatar Feb 03 '15 04:02 ghost

https://github.com/PowerShell/PowerShell

alesliehughes avatar Apr 01 '18 04:04 alesliehughes

Is the windows implementation of powershell based on .Net or C/C++? It always thought it was a C/C++ program.

Ruedii avatar Sep 11 '18 12:09 Ruedii

What is still micssing is a complete reimplementation of the Windows PowerShell 5.x. wine-mono is not a replacement for .NET Core / .NET 5+, it is a replacement for .NET 4.x.

And so, the OpenSource PowerShell could be used as basis for a reimplementation of the Windows PowerShell 5.x. And there are PowerShell modules, which are part of Windows and not of the PowerShell.

For example, write on Windows in PowerShell 7.x (the OpernSource ones) Get-Module -ListAvailable

Then you see, that there are some Modules in C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules and other places, which have nothing to do with the PowerShell 7.x.

And if you running PowerShell 7.x on WINE, commands like Get-Volume, Get-Partition, etc. don't work, because they are part of the Windows-modules.

Edit: I think the PowerShell Modules in Windows are much more important to reimplement, then the Windows PowerShell 5.x itself. But without that, you have Modules, which you can only use, after installing the PowerShell after it.

theuserbl avatar May 12 '24 07:05 theuserbl

Only wanted to mention this link as OpenSource documentation by Microsoft https://github.com/MicrosoftDocs/windows-powershell-docs/tree/main/docset/winserver2025-ps

Here the link to the two examples I mentioned: https://github.com/MicrosoftDocs/windows-powershell-docs/blob/main/docset/winserver2025-ps/storage/Get-Volume.md https://github.com/MicrosoftDocs/windows-powershell-docs/blob/main/docset/winserver2025-ps/storage/Get-Partition.md

There you can see, that they are part of the "storage"-module.

theuserbl avatar May 12 '24 11:05 theuserbl

This would likely need to be implemented upstream in Wine and Wine-Mono, but if there are particular ways in which Proton can utilize this, we may be able to get Valve to provide either programming or fiscal support for implementing it.

Getting Wine-Mono to implement newer .Net versions is another concern. Personally, I wish there were not the incompatibilities between Wine-Mono and .Net that make porting the Open Source portions of .Net so difficult.

Message ID: @.***>

Ruedii avatar May 13 '24 07:05 Ruedii

.NET Core and 5+ are out of scope for Wine Mono.

madewokherd avatar May 13 '24 13:05 madewokherd