2016-07-25 21 views
8

Tôi đang thiết lập các máy chủ cửa sổ khác nhau để lưu trữ ứng dụng lõi asp.net và tôi cần có khả năng xác định xem chúng có lưu trữ asp.net hay không đã cài đặt gói.Cách xác định xem lõi asp.net đã được cài đặt trên máy chủ Windows

https://docs.asp.net/en/latest/publishing/iis.html#install-the-net-core-windows-server-hosting-bundle nói:.

"Cài đặt .NET Core Windows Server Hosting bó trên máy chủ Gói sẽ cài đặt .NET Lõi Runtime, Thư viện trung tâm .NET, và các ASP.NET lõi Module. Module tạo proxy ngược giữa IIS và máy chủ Kestrel. "

Tôi đang thiết lập triển khai và tôi cần đảm bảo máy chủ của mình được định cấu hình để tôi có thể chạy các ứng dụng cốt lõi asp.net.

Tôi đang tìm kiếm, về cơ bản, đối với khóa đăng ký hoặc một số cách khác để cho tôi biết liệu tôi có nên chạy cài đặt trình cài đặt hay không. (Giống như cách chúng ta muốn nói nếu các phiên bản cũ của khuôn khổ này được cài đặt, như https://support.microsoft.com/en-us/kb/318785 làm cho các phiên bản trước đó)

Trả lời

6

Bạn có thể tìm kiếm Microsoft .NET Core 1.1.1 - Windows Server Hosting khóa sổ đăng ký dưới HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Updates\.NET Core đường dẫn như ảnh chụp màn hình bên dưới.

enter image description here

Ngoài ra bạn có thể sử dụng PowerShell để xác định liệu chính tồn tại hay không.

$DotNETCoreUpdatesPath = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates\.NET Core" 
$DotNetCoreItems = Get-Item -ErrorAction Stop -Path $DotNETCoreUpdatesPath 
$NotInstalled = $True 
$DotNetCoreItems.GetSubKeyNames() | Where { $_ -Match "Microsoft .NET Core.*Windows Server Hosting" } | ForEach-Object { 
    $NotInstalled = $False 
    Write-Host "The host has installed $_" 
} 
If ($NotInstalled) { 
    Write-Host "Can not find ASP.NET Core installed on the host" 
} 

Và bạn có thể tải xuống mẫu từ How to determine ASP.NET Core installation on a Windows Server by PowerShell.

2

Nếu bạn được phép giới thiệu những hạn chế, một lựa chọn là để chỉ cho phép "khép kín ứng dụng "vì chúng không yêu cầu bất kỳ lượt cài đặt bổ sung nào. Điều này cũng làm cho các vấn đề như 'phiên bản nào được cài đặt' biến mất.

Nếu bạn cần hỗ trợ 'ứng dụng di động' bạn chỉ có thể thực hiện như sau để kiểm tra xem dotnet.exe có sẵn:

where dotnet

Sau đó bạn có thể kiểm tra phiên bản:

dotnet --version

Điều này cũng sẽ cho phép bạn kiểm tra phiên bản .NET Core đã từng trở thành mối quan tâm.

0

Bạn có thể nhìn vào

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall {ab4f6e29-67a1-47d9-b2ab-43348a9bbae4}

và chắc chắn rằng "Microsoft .NET Core 1.0.0 - Windows Server Hosting "là có

+2

Điều này sẽ chỉ phát hiện thấy một trình cài đặt cụ thể đã được sử dụng ... Có thể nó sẽ không còn hoạt động khi có bản cập nhật tiếp theo. –

+0

Đúng vậy, tôi cho rằng nó sẽ hoạt động dọc theo các dòng giống như phát hiện các phiên bản cũ .net: bạn tìm kiếm các khóa cụ thể cho các phiên bản cụ thể của khung công tác. – weloytty

0

Bạn cũng có thể nhấp đúp vào DotNetCore.1.0.1-WindowsHosting.exe
Nếu gói .NET Core Windows Server Hosting đã được cài đặt, t ông mở cửa sổ sẽ có:

  1. Sửa Cài Đặt nhãn
  2. Sửa chữa và nút Uninstall

Sửa chữa và nút Uninstall và nhãn Cài Đặt Sửa đổi.
Microsoft .NET Core 1.0.1 - Windows Server Hosting Setup already installed

2

Bạn có thể sử dụng PowerShell để kiểm tra xem các mô-đun lưu trữ được đăng ký với IIS

Trong phiên PowerShell địa phương

Import-module WebAdministration 
$vm_dotnet_core_hosting_module = Get-WebGlobalModule | where-object { $_.name.ToLower() -eq "aspnetcoremodule" } 
if (!$vm_dotnet_core_hosting_module) 
{ 
    throw ".Net core hosting module is not installed" 
} 

Nếu bạn muốn làm trong phiên từ xa thay thế đầu tiên 2 các dòng với

Invoke-Command -Session $Session {Import-module WebAdministration} 
$vm_dotnet_core_hosting_module = Invoke-Command -Session $Session {Get-WebGlobalModule | where-object { $_.name.ToLower() -eq "aspnetcoremodule" }} 
+0

Tôi thích câu trả lời này, nhưng phải đấu tranh với 64bit so với sức mạnh của 32bit. – BozoJoe

Các vấn đề liên quan