安装 .Net Framework 4.7.1 后是否需要重启 windows 服务器
Do I need to restart windows server after Installing .Net Framework 4.7.1
我在windows7机器上了解到,我安装.Net Framework 4.7.1时需要重启才能生效,否则用这个.Net fx版本设计的应用程序无法启动。
那么,如果我在 Windows 服务器版本(2008r2 之后)上安装 .Net fx 4.7.1,是否也需要重新启动?
我想通过一个脚本自动安装 .Net fx 和应用程序,所以我已经实现了脚本,但不确定是否重新启动 windows 服务器
如果我确实想重启 windows 服务器,那么可以将其添加为我基于 shell 的强大脚本的一部分吗?
编辑我的示例脚本如下
if(Test-Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'){
$NetRegKey = Get-Childitem %%'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
if($NetRegKey){
$Release = $NetRegKey.GetValue("Release")
if($Release){
if($Release -lt 461308){
try{
$prc = Start-Process C:\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -Wait
}
catch{
}
}
}
}
}
else{
try{
$prc = Start-Process C:\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -Wait
}
catch{
}
}
我发现上面我自己的问题的解决方案是
if( -NOT ((Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.7.1') -or (Test-Path 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe') -or (Test-Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'))) {
Start-Process .\DotNetFX471\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -RedirectStandardError "DotNetInstallationStatus.txt" -Wait
if ($LastExitCode -ne 0){
Write-Host "ERROR: "
Get-Content -Path .\appInstallStatus.txt
return
}
Write-Host ".Net Framework installation is completed successfully"
}
Write-Host "Running CIE installer, please wait..."
$installerParam = "--p 'C:\Program Files\APP'"
Start-Process .\install.exe $installerParam -RedirectStandardError "appInstallStatus.txt" -Wait
if ($LastExitCode -ne 0){
Write-Host "ERROR: "
Get-Content -Path .\appInstallStatus.txt
return
}
在任何 windows 服务器上安装 .Net Framework 后,我们应该会看到在 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" 运行 此 MSBuild.exe 处创建的文件夹以获取版本。
通常,如果我们没有 .Net 框架,则此文件夹将不可用,但如果此文件夹可用,则您将通过 运行 宁此 MSBuild.exe 文件获得正确的 .Net 框架版本。
我在windows7机器上了解到,我安装.Net Framework 4.7.1时需要重启才能生效,否则用这个.Net fx版本设计的应用程序无法启动。
那么,如果我在 Windows 服务器版本(2008r2 之后)上安装 .Net fx 4.7.1,是否也需要重新启动?
我想通过一个脚本自动安装 .Net fx 和应用程序,所以我已经实现了脚本,但不确定是否重新启动 windows 服务器
如果我确实想重启 windows 服务器,那么可以将其添加为我基于 shell 的强大脚本的一部分吗?
编辑我的示例脚本如下
if(Test-Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'){
$NetRegKey = Get-Childitem %%'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
if($NetRegKey){
$Release = $NetRegKey.GetValue("Release")
if($Release){
if($Release -lt 461308){
try{
$prc = Start-Process C:\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -Wait
}
catch{
}
}
}
}
}
else{
try{
$prc = Start-Process C:\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -Wait
}
catch{
}
}
我发现上面我自己的问题的解决方案是
if( -NOT ((Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.7.1') -or (Test-Path 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe') -or (Test-Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'))) {
Start-Process .\DotNetFX471\NDP471-KB4033342-x86-x64-AllOS-ENU.exe -RedirectStandardError "DotNetInstallationStatus.txt" -Wait
if ($LastExitCode -ne 0){
Write-Host "ERROR: "
Get-Content -Path .\appInstallStatus.txt
return
}
Write-Host ".Net Framework installation is completed successfully"
}
Write-Host "Running CIE installer, please wait..."
$installerParam = "--p 'C:\Program Files\APP'"
Start-Process .\install.exe $installerParam -RedirectStandardError "appInstallStatus.txt" -Wait
if ($LastExitCode -ne 0){
Write-Host "ERROR: "
Get-Content -Path .\appInstallStatus.txt
return
}
在任何 windows 服务器上安装 .Net Framework 后,我们应该会看到在 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" 运行 此 MSBuild.exe 处创建的文件夹以获取版本。 通常,如果我们没有 .Net 框架,则此文件夹将不可用,但如果此文件夹可用,则您将通过 运行 宁此 MSBuild.exe 文件获得正确的 .Net 框架版本。