如果我像这样快速连续安装IIS服务器和托管捆绑包(在新的Windows 10 Server上):
Install-WindowsFeature -Name Web-Server -IncludeAllSubFeature -IncludeManagementTools
# Ignore the next line for now, its my current workaround
Start-Sleep -Seconds 120
Write-Host "-- Installing Dotnet Hosting Bundle"
$ErrorActionPreference = "Stop";
$tempDir = [System.IO.Path]::GetTempPath()
$downloadPath = "$tempdir\netCoreHostingBundle.exe";
$DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy;
$securityProtocol = @();
$securityProtocol += [Net.ServicePointManager]::SecurityProtocol;
$securityProtocol += [Net.SecurityProtocolType]::Tls12;
[Net.ServicePointManager]::SecurityProtocol = $securityProtocol;
$WebClient = New-Object Net.WebClient;
$Uri = 'https://download.visualstudio.microsoft.com/download/pr/0d000d1b-89a4-4593-9708-eb5177777c64/cfb3d74447ac78defb1b66fd9b3f38e0/dotnet-hosting-6.0.6-win.exe';
if ($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { $WebClient.Proxy = New-Object Net.WebProxy($DefaultProxy.GetProxy($Uri).OriginalString, $True); };
$WebClient.DownloadFile($Uri, $downloadPath);
$arguments = New-Object -TypeName System.Collections.Generic.List[System.String]
$arguments.Add("/quiet")
$arguments.Add("/norestart")
Start-Process -FilePath $downloadPath -ArgumentList $arguments -NoNewWindow -Wait -PassThru -WorkingDirectory $tempDir
Write-Host "-- Restarting IIS"
Stop-Service W3SVC
Start-Service W3SVC
Get-Service W3SVC
从安装的Angular 来看,一切都很好。但是如果我在IIS中运行NET核心应用程序,则会出现以下错误:
HTTP Error 500.19 - HRESULT code 0x8007000d
在“Hosting Bundle is installed before IIS”(在IIS之前安装主机捆绑包)的情况下,谷歌搜索会发现这种情况。简单的解决方案写在下一句话中:“必须修复捆绑包安装”,这确实有效。
现在的问题是:
- 我该如何彻底扭转这种局面?
- 或者我如何等到IIS真正安装好,才能安全地安装托管包?
1条答案
按热度按时间hmae6n7t1#
如果在安装IIS之前安装了托管捆绑包,则必须修复捆绑包安装。请在安装IIS之后再次运行托管捆绑包安装程序。
这是我在另一个网站上找到的方法:
在安装“.NET Core IIS Hosting”必备组件之前,使用启用IIS的自定义操作。
例如,您可以将自定义操作添加为非顺序自定义操作(以便可以从UI控件触发),然后在“对话框”页面--〉“预安装UI”--〉“WelcomePrereqDlg”对话框--〉“下一步”按钮中计划该操作。这将在安装必备组件之前启用IIS。
该方法来自以下链接:https://www.advancedinstaller.com/forums/viewtopic.php?t=44696