Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is a prerelease version of Microsoft .NET Core - Windows Server Hosting.

Microsoft .NET Core - Windows Server Hosting

2.0.0-Preview1

There are no package test results for this package

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

.NET Core is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supporting Windows, macOS and Linux, and can be used in device, cloud, and embedded/IoT scenarios.

This package installs the ASP.NET Core Module for IIS and/or IIS Express, enabling running of ASP.NET Core applications. IIS must be enabled and/or IIS Express must be installed prior to installing this package. ASP.NET Core does not use any managed IIS modules, so no ASP.NET IIS features need to be enabled.

The native installer is instructed to skip installing the .NET Core Runtime (OPT_INSTALL_LTS_REDIST=0 OPT_INSTALL_FTS_REDIST=0). The package dotnetcore-runtime should be used to install the runtime when hosting "portable" ASP.NET Core applications (which use the machine-wide runtime). Hosting of "self-contained" ASP.NET Core applications does not require the runtime to be installed, because those applications include the desired runtime as part of their binaries.

The package supports the following parameters (--package-parameters, --params):

  • Quiet - suppress display of native installer progress window (may be needed on Server Core)
  • IgnoreMissingIIS - allow package installation even if neither full IIS nor IIS Express is present (probably useless, as the native installer will not install anything)

Example: cinst -y --params="Quiet IgnoreMissingIIS" dotnetcore-windowshosting

To install Microsoft .NET Core - Windows Server Hosting, run the following command from the command line or from PowerShell:

C:\> choco install dotnetcore-windowshosting --version 2.0.0-Preview1 --pre

To upgrade Microsoft .NET Core - Windows Server Hosting, run the following command from the command line or from PowerShell:

C:\> choco upgrade dotnetcore-windowshosting --version 2.0.0-Preview1 --pre

Files

Hide
  • tools\data.ps1 Show
    @{
        PackageName = 'dotnetcore-windowshosting'
        Version = '2.0.0-Preview1'
        Url = 'https://download.microsoft.com/download/4/6/6/4668DB58-0643-48EA-A194-CAD059143696/DotNetCore.2.0.0-Preview1-WindowsHosting.exe'
        Checksum = 'E840EB396E35BD754526BE610F6E0C8F6F221AE030BDA3A74FB65AE9B185A5CA'
        ChecksumType = 'sha256'
        Url64 = 'https://download.microsoft.com/download/4/6/6/4668DB58-0643-48EA-A194-CAD059143696/DotNetCore.2.0.0-Preview1-WindowsHosting.exe'
        Checksum64 = 'E840EB396E35BD754526BE610F6E0C8F6F221AE030BDA3A74FB65AE9B185A5CA'
        ChecksumType64 = 'sha256'
        ApplicationName = 'Microsoft .NET Core 2.0.0 Preview 1 - Windows Server Hosting'
        UninstallerName = 'DotNetCore.2.0.0-Preview1-WindowsHosting.exe'
        AdditionalArgumentsToInstaller = 'OPT_INSTALL_LTS_REDIST=0 OPT_INSTALL_FTS_REDIST=0'
    }
    
  • tools\ChocolateyUninstall.ps1 Show
    $ErrorActionPreference = 'Stop'
    Set-StrictMode -Version 2
    
    $data = & (Join-Path -Path (Split-Path -Path $MyInvocation.MyCommand.Path) -ChildPath data.ps1)
    
    function Uninstall-ApplicationPackage
    {
        [CmdletBinding()]
        param(
          [string] $PackageName,
          [string] $ApplicationName,
          [string] $UninstallerName,
          [string] $ArgumentsToUninstaller,
          [int[]] $ValidExitCodes
        )
    
        $informMaintainer = "Please report this to the maintainer of this package ($PackageName)."
        Set-StrictMode -Off
        $unfilteredUninstallKeys = Get-UninstallRegistryKey -SoftwareName $ApplicationName
        Set-StrictMode -Version 2
        $uninstallKey = $unfilteredUninstallKeys | Where-Object { $_ -ne $null -and ($_.PSObject.Properties['SystemComponent'] -eq $null -or $_.SystemComponent -ne 1) }
        $count = ($uninstallKey | Measure-Object).Count
        Write-Debug "Found $count Uninstall key(s)"
        if ($count -eq 0)
        {
            Write-Warning "Uninstall information for $ApplicationName could not be found. This probably means the application was uninstalled outside Chocolatey."
            return
        }
        if ($count -gt 1)
        {
            throw "More than one Uninstall key found for $ApplicationName! $informMaintainer"
        }
    
        $uninstallKey = $uninstallKey | Select-Object -First 1
        # in PS 2.0, casting to [array] done inside Get-UninstallRegistryKey strips the PS* properties
        if ($uninstallKey.PSObject.Properties['PSPath'] -ne $null)
        {
            Write-Debug "Using Uninstall key: $($uninstallKey.PSPath)"
        }
        $uninstallString = $uninstallKey.UninstallString
        Write-Debug "UninstallString: $uninstallString"
        if (-not ($uninstallString -match '^\s*(\"[^\"]+\")|([^\s]+)'))
        {
            throw "UninstallString '$uninstallString' is not of the expected format. $informMaintainer"
        }
        $uninstallerPath = $matches[0].Trim('"')
        Write-Debug "uninstallerPath: $uninstallerPath"
        if ((Split-Path -Path $uninstallerPath -Leaf) -notlike $UninstallerName)
        {
            throw "The uninstaller file name is unexpected (uninstallerPath: $uninstallerPath). $informMaintainer"
        }
    
        $arguments = @{
            PackageName = $PackageName
            FileType = 'exe'
            SilentArgs = $ArgumentsToUninstaller
            ValidExitCodes = $ValidExitCodes
            File = $uninstallerPath
        }
        $argumentsDump = ($arguments.GetEnumerator() | % { '-{0}:''{1}''' -f $_.Key,"$($_.Value)" }) -join ' '
        Write-Debug "Uninstall-ChocolateyPackage $argumentsDump"
        Uninstall-ChocolateyPackage @arguments
    }
    
    function Test-QuietRequested
    {
        return $Env:chocolateyPackageParameters -like '*Quiet*'
    }
    
    function Get-PassiveOrQuietArgument
    {
        [CmdletBinding()]
        Param (
            [string] $Scenario = 'installation'
        )
        if (Test-QuietRequested) {
            Write-Verbose "Performing a quiet $Scenario, as requested."
            $passiveOrQuiet = 'quiet'
        } else {
            Write-Verbose "Performing an $Scenario with visible progress window (default)."
            $passiveOrQuiet = 'passive'
        }
        return $passiveOrQuiet
    }
    
    $passiveOrQuiet = Get-PassiveOrQuietArgument -Scenario 'uninstallation'
    $arguments = @{
        PackageName = $data.PackageName
        ApplicationName = $data.ApplicationName
        UninstallerName = $data.UninstallerName
        ArgumentsToUninstaller = "/uninstall /$passiveOrQuiet /norestart /log ""${Env:TEMP}\$($data.PackageName)_uninstall.log"""
        ValidExitCodes = @(
            0, # success
            3010 # success, restart required
        )
    }
    
    Uninstall-ApplicationPackage @arguments
    
  • tools\ChocolateyInstall.ps1 Show
    $ErrorActionPreference = 'Stop'
    Set-StrictMode -Version 2
    
    $data = & (Join-Path -Path (Split-Path -Path $MyInvocation.MyCommand.Path) -ChildPath data.ps1)
    
    function Get-DismPath
    {
        # .NET Core supports Windows 7 or later - this aligns nicely with dism.exe availability
        $dism = Join-Path -Path $Env:SystemRoot -ChildPath 'System32\dism.exe'
        if (-not (Test-Path -Path $dism)) {
            throw 'Windows 7 / Server 2008 R2 or later is required.'
        }
        return $dism
    }
    
    function Test-IisInstalled
    {
        $dism = Get-DismPath
        $iisState = 'Unknown'
        & $dism /English /Online /Get-FeatureInfo /FeatureName:IIS-WebServer | Tee-Object -Variable dismOutput | Select-String -Pattern '^State : (\w+)$' | ForEach-Object { $iisState = $_.Matches[0].Groups[1].Value }
        if ($LastExitCode -ne 0) {
            Write-Warning "Unable to determine IIS installation state (dism.exe exit code: $LastExitCode)"
            Write-Warning 'dism.exe output:'
            $dismOutput | Write-Warning
        } else {
            Write-Debug 'dism.exe output:'
            $dismOutput | Write-Debug
        }
        $iisInstalled = $iisState -eq 'Enabled'
        return $iisInstalled
    }
    
    function Test-IisExpressInstalled
    {
        $iisExpressInstalled = Test-Path -Path (Join-Path -Path $Env:ProgramFiles -ChildPath 'IIS Express\iisexpress.exe')
        return $iisExpressInstalled
    }
    
    function Ensure-IisOrIisExpressInstalled
    {
        $iisInstalled = Test-IisInstalled
        $iisExpressInstalled = Test-IisExpressInstalled
    
        if (-not $iisInstalled -and -not $iisExpressInstalled) {
            $ignoreMissingIisKeyword = 'IgnoreMissingIIS'
            if ($Env:chocolateyPackageParameters -notlike "*$ignoreMissingIisKeyword*") {
                throw "Neither IIS nor IIS Express is installed. Install at least one of them before installing this package, or pass '$ignoreMissingIisKeyword' as package parameter to force the installation anyway."
            } else {
                Write-Warning "Neither IIS nor IIS Express is installed, but proceeding with the installation because '$ignoreMissingIisKeyword' was passed as package parameter."
            }
        }
    
        if ($iisInstalled) {
            Write-Verbose 'IIS is enabled.'
        } else {
            Write-Warning 'IIS is not enabled. The ASP.NET Core Module for IIS requires IIS to be enabled before installing the module. To install the module, enable IIS and install this package again using the --force switch.'
        }
        if ($iisExpressInstalled) {
            Write-Verbose 'IIS Express is installed.'
        } else {
            Write-Verbose 'IIS Express is not installed.'
        }
    }
    
    function Test-QuietRequested
    {
        return $Env:chocolateyPackageParameters -like '*Quiet*'
    }
    
    function Get-PassiveOrQuietArgument
    {
        [CmdletBinding()]
        Param (
            [string] $Scenario = 'installation'
        )
        if (Test-QuietRequested) {
            Write-Verbose "Performing a quiet $Scenario, as requested."
            $passiveOrQuiet = 'quiet'
        } else {
            Write-Verbose "Performing an $Scenario with visible progress window (default)."
            $passiveOrQuiet = 'passive'
        }
        return $passiveOrQuiet
    }
    
    Ensure-IisOrIisExpressInstalled
    
    $passiveOrQuiet = Get-PassiveOrQuietArgument -Scenario 'installation'
    $arguments = @{
        packageName = $data.PackageName
        silentArgs = "$($data.AdditionalArgumentsToInstaller) /install /$passiveOrQuiet /norestart /log ""${Env:TEMP}\$($data.PackageName).log"""
        validExitCodes = @(
            0, # success
            3010 # success, restart required
        )
        url = $data.Url
        checksum = $data.Checksum
        checksumType = $data.ChecksumType
        url64 = $data.Url64
        checksum64 = $data.Checksum64
        checksumType64 = $data.ChecksumType64
    }
    
    Install-ChocolateyPackage @arguments
    

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

Package Maintainer(s)

Software Author(s)

  • Microsoft

Copyright

.NET Foundation and Contributors

Tags

Release Notes

Software

.NET Core Release Notes

Package

2.0.0-Preview1: Initial package release for software version 2.0.0-Preview1.

Version History

Version Downloads Last updated Status
Microsoft .NET Core - Windows Server Hosting 3.0.0-preview3-27503-5 65 Thursday, March 7, 2019 approved
Microsoft .NET Core - Windows Server Hosting 3.0.0-preview-19075-0444 26 Friday, March 1, 2019 approved
Microsoft .NET Core - Windows Server Hosting 2.2.4 166394 Wednesday, April 10, 2019 approved
Microsoft .NET Core - Windows Server Hosting 2.2.3 27187 Thursday, March 14, 2019 approved
Microsoft .NET Core - Windows Server Hosting 2.2.2 28892 Wednesday, February 13, 2019 approved
Microsoft .NET Core - Windows Server Hosting 2.2.1 36060 Wednesday, January 9, 2019 approved
Microsoft .NET Core - Windows Server Hosting 2.2.0 38969 Tuesday, December 4, 2018 approved
Microsoft .NET Core - Windows Server Hosting 2.2.0-preview3 51 Tuesday, November 20, 2018 exempted
Microsoft .NET Core - Windows Server Hosting 2.1.11 2 Tuesday, May 14, 2019 approved
Show More

Discussion for the Microsoft .NET Core - Windows Server Hosting Package

Ground rules:

  • This discussion is only about Microsoft .NET Core - Windows Server Hosting and the Microsoft .NET Core - Windows Server Hosting 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 Microsoft .NET Core - Windows Server Hosting, 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