Chocolatey Fest - Chocolatey's inaugural conference on Windows Automation (WinOps) is coming - Learn more!

This is a prerelease version of powershell-core (Install).

powershell-core (Install)

6.0.0-alpha12

This package skips automatic verification:

Requires https://chocolatey.org/packages/kb2999226 which requires a reboot after installation. This is required to have the install be successful on older systems.


This package is exempt from moderation. While it is likely safe for you, there is more risk involved.

PowerShell Core is the multiplatform version of PowerShell

To install powershell-core (Install), run the following command from the command line or from PowerShell:

C:\> choco install powershell-core --version 6.0.0-alpha12 --pre

To upgrade powershell-core (Install), run the following command from the command line or from PowerShell:

C:\> choco upgrade powershell-core --version 6.0.0-alpha12 --pre

Files

Hide
  • tools\chocolateybeforemodify.ps1 Show
    # This runs in 0.9.10+ before upgrade and uninstall.
    # Use this file to do things like stop services prior to upgrade or uninstall.
    # NOTE: It is an anti-pattern to call chocolateyUninstall.ps1 from here. If you
    #  need to uninstall an MSI prior to upgrade, put the functionality in this
    #  file without calling the uninstall script. Make it idempotent in the
    #  uninstall script so that it doesn't fail when it is already uninstalled.
    # NOTE: For upgrades - like the uninstall script, this script always runs from 
    #  the currently installed version, not from the new upgraded package version.
    
    
  • tools\chocolateyinstall.ps1 Show
    #Handle:
    # Check if already installed at "ProgramFiles64Folder\PowerShell\6.0.0.12" or "ProgramFilesFolder\PowerShell\6.0.0.12" and mark complete (already insetalled message) if so
    # Handle correct MSI for Win 8 verus Win 10 MSI - including for Server osBitness
    #Verify auto-uninstall works.
    #Create package for alpha 11 and 12 to check side-by-side installs and
    #Check minimum OS - version and 64 bitness
    
    # Instructions messsage:
    #check and warn if this version will take over default powershell processor OR if the user must manually specify the powershell path to use 6.
    
    $ErrorActionPreference = 'Stop'; # stop on all errors
    
    $packageName= 'powershell-core' # arbitrary name for the package, used in messages
    $toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    $urlwin10   = 'https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.12/PowerShell_6.0.0.12-alpha.12-win10-x64.msi'
    $checksumwin10 = 'F3C3F3276462588E24BFE197DAA8795140E37557596861126D54462561C98671'
    $urlwin8      = 'https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.12/PowerShell_6.0.0.12-alpha.12-win81-x64.msi'
    $checksumwin8 = '5FEB757346D5ED6FA6786ACDA96D0361663EE4DCBB719D53E6C32835BFD8C670'
    
    $OSBits = ([System.IntPtr]::Size * 8) #Nano compatible
    $Net4Version = (get-itemproperty "hklm:software\microsoft\net framework setup\ndp\v4\full" -ea silentlycontinue | Select -Expand Release -ea silentlycontinue)
      $osVersion = (Get-WmiObject Win32_OperatingSystem).Version
    
    If ($OSBits -lt 64)
    {
      Throw "$packageName $version is only available for 64-bit editions of Windows."
    }
    
    
    switch ([version]$osVersion) {
      {($_ -ge [version]"6.3") -AND ($_ -le [version]"10.0")} {
        Write-Output "Windows 10 or later kernel"
        }
        {($_ -eq [version]"6.1.7600")} {
      Write-Output "OS is Win7 or Server 2008 R2 (NON-SP1)"
            Write-Warning "IF YOU UPDATE TO SP1, YOU CAN INSTALL PowerShell V5"
            Write-Warning "The highest version for Win7/2008R2 NON-SP1 is PowerShell 3.0, attempting to install..."
    cinst -y PowerShell -version 3.0.20121027
        }
    
    #Check Windows versions
    If (<#windows 10 kernel or later#>)
    {
      $selectedURL = $urlwin10
      $selectedChecksum = $checksumwin10
    }
    ElseIf (<#windows 8 kernel up to win 10 kernel#>)
    {
      $selectedURL = $urlwin8
      $selectedChecksum = $checksumwin8
    }
    Else
    {
      Write-warning "PowerShell Core is only supported on Windows 8 / "
    }
    
    If ($env:ProgramFiles.contains('x86'))
    {
      $PF = $env:ProgramFiles.replace(' (x86)','')
    }
    Else
    {
      $PF = $env:ProgramFiles
    }
    
    $Version = '6.0.0.12'
    $InstallFolder = "$PF\$Version"
    
    If (Test-Path $InstallFolder)
    {
      Write-output "$packagename version $vesion is already installed by another means."
    }
    
    $packageArgs = @{
      packageName   = $packageName
      unzipLocation = $toolsDir
      fileType      = 'MSI'
      url           = $url
      url64bit      = $url
      #file         = $fileLocation
    
      softwareName  = 'powershell-core*' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique
    
      checksum      = ''
      checksumType  = 'sha256' #default is md5, can also be sha1, sha256 or sha512
      checksum64    = ''
      checksumType64= 'sha256' #default is checksumType
    
      #MSI
      silentArgs    = "/qn /norestart /l*v `"$($env:TEMP)\$($packageName).$($env:chocolateyPackageVersion).MsiInstall.log`"" # ALLUSERS=1 DISABLEDESKTOPSHORTCUT=1 ADDDESKTOPICON=0 ADDSTARTMENU=0
      validExitCodes= @(0, 3010, 1641)
      #OTHERS
      # Uncomment matching EXE type (sorted by most to least common)
      #silentArgs   = '/S'           # NSIS
      #silentArgs   = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup
      #silentArgs   = '/s'           # InstallShield
      #silentArgs   = '/s /v"/qn"' # InstallShield with MSI
      #silentArgs   = '/s'           # Wise InstallMaster
      #silentArgs   = '-s'           # Squirrel
      #silentArgs   = '-q'           # Install4j
      #silentArgs   = '-s -u'        # Ghost
      # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence.
      #silentArgs   = ''             # none; make silent with input macro script like AutoHotKey (AHK)
                                     #       https://chocolatey.org/packages/autohotkey.portable
      #validExitCodes= @(0) #please insert other valid exit codes here
    }
    
    Install-ChocolateyPackage @packageArgs # https://chocolatey.org/docs/helpers-install-chocolatey-package
    #Install-ChocolateyZipPackage @packageArgs # https://chocolatey.org/docs/helpers-install-chocolatey-zip-package
    ## If you are making your own internal packages (organizations), you can embed the installer or
    ## put on internal file share and use the following instead (you'll need to add $file to the above)
    #Install-ChocolateyInstallPackage @packageArgs # https://chocolatey.org/docs/helpers-install-chocolatey-install-package
    
    ## Main helper functions - these have error handling tucked into them already
    ## see https://chocolatey.org/docs/helpers-reference
    
    ## Install an application, will assert administrative rights
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-package
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-install-package
    ## add additional optional arguments as necessary
    ##Install-ChocolateyPackage $packageName $fileType $silentArgs $url [$url64 -validExitCodes $validExitCodes -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64]
    
    ## Download and unpack a zip file - https://chocolatey.org/docs/helpers-install-chocolatey-zip-package
    ##Install-ChocolateyZipPackage $packageName $url $toolsDir [$url64 -checksum $checksum -checksumType $checksumType -checksum64 $checksum64 -checksumType64 $checksumType64]
    
    ## Install Visual Studio Package - https://chocolatey.org/docs/helpers-install-chocolatey-vsix-package
    #Install-ChocolateyVsixPackage $packageName $url [$vsVersion] [-checksum $checksum -checksumType $checksumType]
    #Install-ChocolateyVsixPackage @packageArgs
    
    ## see the full list at https://chocolatey.org/docs/helpers-reference
    
    ## downloader that the main helpers use to download items
    ## if removing $url64, please remove from here
    ## - https://chocolatey.org/docs/helpers-get-chocolatey-web-file
    #Get-ChocolateyWebFile $packageName 'DOWNLOAD_TO_FILE_FULL_PATH' $url $url64
    
    ## Installer, will assert administrative rights - used by Install-ChocolateyPackage
    ## use this for embedding installers in the package when not going to community feed or when you have distribution rights
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-install-package
    #Install-ChocolateyInstallPackage $packageName $fileType $silentArgs '_FULLFILEPATH_' -validExitCodes $validExitCodes
    
    ## Unzips a file to the specified location - auto overwrites existing content
    ## - https://chocolatey.org/docs/helpers-get-chocolatey-unzip
    #Get-ChocolateyUnzip "FULL_LOCATION_TO_ZIP.zip" $toolsDir
    
    ## Runs processes asserting UAC, will assert administrative rights - used by Install-ChocolateyInstallPackage
    ## - https://chocolatey.org/docs/helpers-start-chocolatey-process-as-admin
    #Start-ChocolateyProcessAsAdmin 'STATEMENTS_TO_RUN' 'Optional_Application_If_Not_PowerShell' -validExitCodes $validExitCodes
    
    ## add specific folders to the path - any executables found in the chocolatey package
    ## folder will already be on the path. This is used in addition to that or for cases
    ## when a native installer doesn't add things to the path.
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-path
    #Install-ChocolateyPath 'LOCATION_TO_ADD_TO_PATH' 'User_OR_Machine' # Machine will assert administrative rights
    
    ## Add specific files as shortcuts to the desktop
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-shortcut
    #$target = Join-Path $toolsDir "$($packageName).exe"
    # Install-ChocolateyShortcut -shortcutFilePath "<path>" -targetPath "<path>" [-workDirectory "C:\" -arguments "C:\test.txt" -iconLocation "C:\test.ico" -description "This is the description"]
    
    ## Outputs the bitness of the OS (either "32" or "64")
    ## - https://chocolatey.org/docs/helpers-get-o-s-architecture-width
    #$osBitness = Get-ProcessorBits
    
    ## Set persistent Environment variables
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-environment-variable
    #Install-ChocolateyEnvironmentVariable -variableName "SOMEVAR" -variableValue "value" [-variableType = 'Machine' #Defaults to 'User']
    
    ## Set up a file association
    ## - https://chocolatey.org/docs/helpers-install-chocolatey-file-association
    #Install-ChocolateyFileAssociation
    
    ## Adding a shim when not automatically found - Cocolatey automatically shims exe files found in package directory.
    ## - https://chocolatey.org/docs/helpers-install-bin-file
    ## - https://chocolatey.org/docs/create-packages#how-do-i-exclude-executables-from-getting-shims
    #Install-BinFile
    
    ##PORTABLE EXAMPLE
    #$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    # despite the name "Install-ChocolateyZipPackage" this also works with 7z archives
    #Install-ChocolateyZipPackage $packageName $url $toolsDir $url64
    ## END PORTABLE EXAMPLE
    
    ## [DEPRECATING] PORTABLE EXAMPLE
    #$binRoot = Get-BinRoot
    #$installDir = Join-Path $binRoot "$packageName"
    #Write-Host "Adding `'$installDir`' to the path and the current shell path"
    #Install-ChocolateyPath "$installDir"
    #$env:Path = "$($env:Path);$installDir"
    
    # if removing $url64, please remove from here
    # despite the name "Install-ChocolateyZipPackage" this also works with 7z archives
    #Install-ChocolateyZipPackage "$packageName" "$url" "$installDir" "$url64"
    ## END PORTABLE EXAMPLE
    
  • tools\chocolateyuninstall.ps1 Show
    # IMPORTANT: Before releasing this package, copy/paste the next 2 lines into PowerShell to remove all comments from this file:
    #   $f='c:\path\to\thisFile.ps1'
    #   gc $f | ? {$_ -notmatch "^\s*#"} | % {$_ -replace '(^.*?)\s*?[^``]#.*','$1'} | Out-File $f+".~" -en utf8; mv -fo $f+".~" $f
    
    ## NOTE: In 80-90% of the cases (95% with licensed versions due to Package Synchronizer and other enhancements), you may 
    ## not need this file due to AutoUninstaller. See https://chocolatey.org/docs/commands-uninstall
    
    ## If this is an MSI, cleaning up comments is all you need.
    ## If this is an exe, change installerType and silentArgs
    ## Auto Uninstaller should be able to detect and handle registry uninstalls (if it is turned on, it is in preview for 0.9.9).
    ## - https://chocolatey.org/docs/helpers-uninstall-chocolatey-package
    
    $ErrorActionPreference = 'Stop'; # stop on all errors
    
    $packageName = 'powershell-core'
    $softwareName = 'powershell-core*' #part or all of the Display Name as you see it in Programs and Features. It should be enough to be unique
    $installerType = 'MSI' 
    #$installerType = 'EXE' 
    
    $silentArgs = '/qn /norestart'
    # https://msdn.microsoft.com/en-us/library/aa376931(v=vs.85).aspx
    $validExitCodes = @(0, 3010, 1605, 1614, 1641)
    if ($installerType -ne 'MSI') {
      # The below is somewhat naive and built for EXE installers
      # Uncomment matching EXE type (sorted by most to least common)
      #$silentArgs = '/S'           # NSIS
      #$silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-' # Inno Setup
      #$silentArgs = '/s'           # InstallShield
      #$silentArgs = '/s /v"/qn"' # InstallShield with MSI
      #$silentArgs = '/s'           # Wise InstallMaster
      #$silentArgs = '-s'           # Squirrel
      #$silentArgs = '-q'           # Install4j
      #$silentArgs = '-s -u'        # Ghost
      # Note that some installers, in addition to the silentArgs above, may also need assistance of AHK to achieve silence.
      #$silentArgs = ''             # none; make silent with input macro script like AutoHotKey (AHK)
                                    #       https://chocolatey.org/packages/autohotkey.portable
      $validExitCodes = @(0)
    }
    
    $uninstalled = $false
    # Get-UninstallRegistryKey is new to 0.9.10, if supporting 0.9.9.x and below,
    # take a dependency on "chocolatey-uninstall.extension" in your nuspec file.
    # This is only a fuzzy search if $softwareName includes '*'. Otherwise it is 
    # exact. In the case of versions in key names, we recommend removing the version
    # and using '*'.
    [array]$key = Get-UninstallRegistryKey -SoftwareName $softwareName
    
    if ($key.Count -eq 1) {
      $key | % { 
        $file = "$($_.UninstallString)"
    
        if ($installerType -eq 'MSI') {
          # The Product Code GUID is all that should be passed for MSI, and very 
          # FIRST, because it comes directly after /x, which is already set in the 
          # Uninstall-ChocolateyPackage msiargs (facepalm).
          $silentArgs = "$($_.PSChildName) $silentArgs"
    
          # Don't pass anything for file, it is ignored for msi (facepalm number 2) 
          # Alternatively if you need to pass a path to an msi, determine that and 
          # use it instead of the above in silentArgs, still very first
          $file = ''
        }
    
        Uninstall-ChocolateyPackage -PackageName $packageName `
                                    -FileType $installerType `
                                    -SilentArgs "$silentArgs" `
                                    -ValidExitCodes $validExitCodes `
                                    -File "$file"
      }
    } elseif ($key.Count -eq 0) {
      Write-Warning "$packageName has already been uninstalled by other means."
    } elseif ($key.Count -gt 1) {
      Write-Warning "$key.Count matches found!"
      Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
      Write-Warning "Please alert package maintainer the following keys were matched:"
      $key | % {Write-Warning "- $_.DisplayName"}
    }
    
    
    ## OTHER HELPERS
    ## https://chocolatey.org/docs/helpers-reference
    #Uninstall-ChocolateyZipPackage $packageName # Only necessary if you did not unpack to package directory - see https://chocolatey.org/docs/helpers-uninstall-chocolatey-zip-package
    #Uninstall-ChocolateyEnvironmentVariable # 0.9.10+ - https://chocolatey.org/docs/helpers-uninstall-chocolatey-environment-variable 
    #Uninstall-BinFile # Only needed if you used Install-BinFile - see https://chocolatey.org/docs/helpers-uninstall-bin-file
    ## Remove any shortcuts you added
    
    
  • tools\LICENSE.txt Show
    From: https://raw.githubusercontent.com/PowerShell/PowerShell/master/LICENSE.txt
    
    LICENSE
    
    PowerShell 6.0
    
    Copyright (c) Microsoft Corporation
    
    All rights reserved.
    
    MIT License
    
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the ""Software""), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.
    
  • tools\VERIFICATION.txt Show
    VERIFICATION
    Verification is intended to assist the Chocolatey moderators and community
    in verifying that this package's contents are trustworthy.
    
    Retrieve the SHA256 value for the specific release MSI you will install from
    this page: https://github.com/PowerShell/PowerShell/releases
    
    Calculate the SHA256 on the file and compare.
    
    The package also contains and performs the checksum even when it has the source
    internally.
    

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Dependencies

This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • Microsoft

Copyright

Microsoft

Tags

Release Notes

https://github.com/PowerShell/PowerShell/releases/tag/v6.0.0-alpha.11

Version History

Version Downloads Last updated Status
powershell-core (Install) 6.1.0-rc1 150 Wednesday, August 29, 2018 approved
powershell-core (Install) 6.1.0-preview-3 288 Thursday, June 14, 2018 approved
powershell-core (Install) 6.1.0-preview-2 178 Saturday, April 28, 2018 approved
powershell-core (Install) 6.1.0-preview-1 241 Tuesday, March 27, 2018 approved
powershell-core (Install) 6.0.4 10106 Saturday, August 11, 2018 approved
powershell-core (Install) 6.0.2.20180727 4961 Friday, July 27, 2018 approved
powershell-core (Install) 6.0.2.20180704 7738 Wednesday, July 4, 2018 approved
powershell-core (Install) 6.0.2 2429 Saturday, March 17, 2018 approved
powershell-core (Install) 6.0.1 1419 Thursday, January 25, 2018 approved
Show More

Discussion for the powershell-core (Install) Package

Ground rules:

  • This discussion is only about powershell-core (Install) and the powershell-core (Install) package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or powershell-core (Install), or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus
Chocolatey.org uses cookies to enhance the user experience of the site.
Ok