-
Notifications
You must be signed in to change notification settings - Fork 130
PowerShell Core Installer/Utility Module #97
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
Conversation
Comments Due: 7/15/2017 | ||
--- | ||
|
||
# PowerShellCore Installer/Utility Module |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be: PowerShell Core
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Meant it as PowerShellCore
, but I think we'll probably have to go with PowerShellCoreProvider
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, got it
|
||
## Motivation | ||
|
||
Installation and configuration of PowerShell Core on Windows is tricky due to the wide range of Windows versions that we support (7-10 and Server 2008R2-2016) and because of the usage of some "system" concepts shared by Windows PowerShell like the WinRM remoting plugin. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to call out: Windows 7 through Windows 10
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why you have double quotes around "system", and concepts should be components
|
||
## Goals | ||
|
||
* I can install PowerShell Core across all supported versions of Windows and Windows PowerShell *at scale*. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should you call out update
explicitly?
|
||
Right now, I think it's perfectly okay to ship all of these with nothing but common parameters. | ||
Based on feedback to this RFC, we should prioritize a set of parameters that might be useful. | ||
(For example, we may eventually add a `-Source` to `Install/Upgrade-PowerShellCore` that points to `GitHub` and some other, more official, source.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-PreRelease
or something like that to denote ok to install beta releases
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cmdlet should validate the cert on the msi package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like -Channel [Stable | Beta]
, how's that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about -Release [Stable | PreRelease]
While it's curently unclear *where* we should publish these MSIs to best enable these servicing patterns, | ||
delivering an out-of-band application via an MSI is better than other alternatives for notifying administrators and user of security fixes and critical updates. | ||
|
||
### Tracking "Portable" Copies of PowerShell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer the terms xcopy deploy
instead of portable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, how about "Custom"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term "Portable" seems fine to me. It's widely used and well-understood, in my experience.
As discussed, this needs to be reworked as a PackageManagement provider. Not sure all that that entails, but I'll have an updated RFC coming. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple comments
Ship a module on Gallery called `PowerShellCore` which contains the following cmdlets: | ||
|
||
* Install-PowerShellCore | ||
* Download and install the latest PowerShell Core MSI and install it using the MSI PackageManagement provider |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Download and install a specific version of PowerShell Core, not just the latest?
Install-PowerShellCore -Version 6.0.0-beta2
While it's curently unclear *where* we should publish these MSIs to best enable these servicing patterns, | ||
delivering an out-of-band application via an MSI is better than other alternatives for notifying administrators and user of security fixes and critical updates. | ||
|
||
### Tracking "Portable" Copies of PowerShell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term "Portable" seems fine to me. It's widely used and well-understood, in my experience.
handle symlinking of the "primary" PowerShell to a specific version. | ||
|
||
However, until PowerShell Core has moved to a new version (e.g. 7.x or 6.1), | ||
this feature isn't necessary and is therefore out of scope for this RFC. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is already actual - we install multiple betas.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can always have side-by-side betas (or any version really) by unzipping and putting into a different folder, however, non-developers are unlikely to do this and any installer is targeting the mainstream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we do this manually but why not use the new module? :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because some people do servicing of MSI-based applications with tools like SCCM as opposed to using DSC or using PowerShell with scheduled tasks.
41b704f
to
2adef83
Compare
We'd still like to solve this problem, but I don't think a PackageManagement provider is the correct solution today. We'll continue investigating the right approach here as we go into our next release. |
2adef83
to
2f34609
Compare
The RFC should explain everything, but this is a helper module that we should ship on the Gallery to aid admins/users with installing/updating/servicing PowerShell Core, as well as to register its remoting endpoint, from Windows PowerShell.
This change is