.NET 8.0.12 のWindows Server Hostingが見つからない原因と解決策|IIS向けHosting Bundle入手・更新手順

Windows Server 2022(VM)上でASP.NET Core(.NET 8)をIISホスティングしていると、更新時に「Windows Server Hosting」用インストーラーが見つからず戸惑うことがあります。結論から言うと、探すべきは別名のパッケージで、場所も選び方も少しだけ分かりにくいのが原因です。この記事では、.NET 8.0.12へ更新する際に“何を入れるべきか”を、構成別に迷わない形で整理します。

目次

「Windows Server Hosting」インストーラーが見つからない理由

結論から言うと、「Windows Server Hosting」という名前の個別インストーラーを探す必要はありません。ダウンロードページ上の表示名やカテゴリが変わっており、目的のファイルが「ASP.NET Core Runtime」配下の「Hosting Bundle(ホスティング バンドル)」として提供されているためです。

つまり、ダウンロードページで「.NET Runtime」は見つかるのに「Windows Server Hosting」が見当たらないときは、“探している場所が違う”のがほとんどです。IISでASP.NET Coreアプリを動かす場合、最終的に必要になるのは次の3点です。

  • .NET Runtime(共通ランタイム)
  • ASP.NET Core Runtime(Web向けランタイム)
  • IIS連携コンポーネント(ASP.NET Core Module / ANCM など)

Hosting Bundleは、この「IIS連携」を含めてまとめて入れてくれるため、IISホスティング用途ではほぼこれ一択になります。

結論:Windows Server + IISなら「ASP.NET Core Runtime Hosting Bundle」

Windows Server 2022でIISを使い、Framework-dependent(フレームワーク依存)でASP.NET Coreアプリをホストするなら、更新時に入れるべきものは「ASP.NET Core Runtime Hosting Bundle(ホスティング バンドル)」です。

Hosting Bundleに含まれるもの

Hosting Bundleは“Webサーバーで動かすためのセット”です。概念としては次のように捉えると迷いません。

項目役割Hosting Bundleに含まれるか補足
.NET Runtime共通ランタイム(ベース)含まれる多くの.NETアプリが前提とする土台
ASP.NET Core RuntimeWebアプリ向けランタイム含まれるASP.NET Coreアプリの実行に必要
IIS連携(ANCM等)IISからKestrelへ橋渡し含まれるここが「IISで動く」を成立させる中核
.NET SDKビルド/開発ツール含まれないサーバー実行だけなら通常不要(CIやビルドサーバーは別)

「どれを入れればいいか」構成別の判断早見表

同じ.NET 8でも、ホスト方法(IISか、Kestrel直か、Self-containedか)で選ぶべきものが変わります。よくある構成を表にまとめました。

ホスト方法配置形態基本的に入れるべきもの理由よくある落とし穴
IISFramework-dependentHosting BundleIIS連携+必要ランタイムをまとめて導入.NET Runtimeだけ入れてもIIS連携が不足しがち
IISSelf-contained原則はHosting Bundle推奨ランタイム同梱でもIIS連携(ANCM)は別途必要になりやすい「同梱だから何も要らない」と思ってANCMがなくて起動しない
Kestrel直(Windowsサービス等)Framework-dependent.NET Runtime(+必要ならASP.NET Core Runtime)IIS連携が不要なので最小構成でOKWebでもASP.NET Core Runtimeが必要なのを忘れる
Kestrel直Self-contained原則不要(アプリに同梱)アプリ側にランタイムが入っているセキュリティ更新は「アプリ再ビルド/再配布」で反映が必要

判断のコツ

  • IISが関わるなら「Hosting Bundle」を第一候補にする
  • 「サーバーにSDKが要るか?」はビルドするかどうかで決める(実行専用なら不要なことが多い)
  • Self-containedは「サーバー側のランタイム更新が不要」になりやすい反面、更新はアプリ側で責任を持つ必要がある

ダウンロードページで迷わない探し方

「.NET Runtime」は見つかるのに「Windows Server Hosting」がない場合は、ページ内のカテゴリ選択がズレている可能性が高いです。探すときは次の見方を意識してください。

見たいものダウンロードページ上で探すカテゴリ選ぶ項目名の目安用途
IISでASP.NET CoreをホストASP.NET Core RuntimeHosting Bundle / ホスティング バンドルWindows Server(IIS)向けの定番
コンソール/サービス等(Webではない).NET Runtime.NET Runtime(x64/x86等)実行環境だけ欲しい
開発・ビルドSDK.NET SDK開発機やCI

言い換えると、「Windows Server Hosting」という単語をページ内検索して見つからなくても正常で、代わりに「Hosting Bundle」を探す、という読み替えがポイントです。

Windows Server 2022(IIS)で .NET 8.0.12 へ更新する手順

ここからは「すでにIISでASP.NET Core(.NET 8)をホストしていて、8.0.12へ更新したい」ケースを想定した手順です。運用環境ではメンテナンス時間を確保した上で実施してください。

事前確認:現在のランタイム状況を把握する

まず、今サーバーに何が入っているかを確認します。PowerShell(管理者)で以下を実行します。

dotnet --info
dotnet --list-runtimes
dotnet --list-sdks

確認ポイントは次の通りです。

  • Microsoft.NETCore.App 8.0.x が入っているか(.NET Runtime)
  • Microsoft.AspNetCore.App 8.0.x が入っているか(ASP.NET Core Runtime)
  • 複数バージョンが共存している場合、対象アプリが使うメジャーバージョン(8.0系)があるか

インストール:Hosting Bundle(8.0.12)を導入する

  1. Microsoftの.NETダウンロードページへ移動し、「ASP.NET Core Runtime」を選びます。
  2. バージョンを8.0.12に合わせ、OS/アーキテクチャ(多くのWindows Server 2022はx64)を選びます。
  3. 一覧から「Hosting Bundle」(ホスティング バンドル)をダウンロードします。
  4. インストーラーを管理者で実行し、ウィザードに従ってインストールします。

Hosting Bundleは、同じ8.0系の更新であれば基本的に上書きで進みます。運用で詰まりやすいのは次の点です。

  • サーバーにアクセスが集中している時間帯に実行してしまい、アプリプール再起動やIIS再起動が必要になって影響が出る
  • インストール後にIISが古いモジュールを掴んだままになり、再起動しないと反映されない

反映:IISとアプリの再起動

インストールが完了したら、少なくとも次を実施します。

  • IISの再起動(またはアプリプール再起動)
  • 可能ならサーバー再起動(変更範囲が大きい環境・共有環境では特に安全)

手早くIISを再起動する場合は、管理者のコマンドプロンプト/PowerShellで次のコマンドが使えます。

iisreset

インストール後の確認:バージョンが8.0.12になっているか

再度、次を実行し、8.0.12が入っていることを確認します。

dotnet --list-runtimes

目安として、少なくとも以下の2行(または同等)が8.0.12になっている状態を目指します。

  • Microsoft.NETCore.App 8.0.12
  • Microsoft.AspNetCore.App 8.0.12

また、GUIで確認する場合は「インストールされているアプリ(アプリと機能)」に、「Microsoft ASP.NET Core 8.0.x – Windows Server Hosting」のような項目が追加されていることがあります(表示名は環境や言語設定で差が出ることがあります)。

よくある勘違いと、つまずきやすいポイント

「.NET Runtimeを入れたのにIISで動かない」

原因になりやすいのは、IIS連携コンポーネント(ANCM)が未導入であることです。IISでASP.NET Coreアプリを動かす場合、IISはアプリを直接実行するというより、受け口(IIS)と実行(Kestrel)をつなぐモジュールが必要になります。これをまとめて入れるのがHosting Bundleです。

「Windowsの役割の“ASP.NET”を入れればいい?」

Windows Serverの役割/機能にある「ASP.NET」は、主に.NET Framework時代のASP.NET(System.Web)向けです。ASP.NET Core(.NET 8)とは別物で、ASP.NET CoreをIISで動かすための決定打にはなりません。

もちろんIIS自体は必要ですが、ASP.NET CoreではHosting Bundle(ANCM含む)が重要です。

「Self-containedだからサーバー側の更新は一切不要?」

Self-containedはアプリにランタイムを同梱するため、“ランタイムだけ”の観点ではサーバー側更新が不要になりやすいです。ただしIISでホストする場合は、IIS連携のためにANCMが必要になりがちです。実務では、

  • Self-containedでも、IISホストならHosting Bundleを入れておく
  • 更新は「サーバーのHosting Bundle」と「アプリの再配布(再ビルド)」を切り分けて考える

この2点を押さえると事故が減ります。

「x86とx64、どっちを入れる?」

多くのWindows Server 2022はx64で動いているため、基本はx64のHosting Bundleで問題ありません。迷いやすいケースとして、IISで32bitアプリ設定を有効にしている環境があります。次の観点で整理すると判断しやすいです。

状況推奨理由確認ポイント
通常のWindows Server 2022(64bit)x64 Hosting Bundleサーバー用途で標準OSが64bitか
32bitに依存する事情がある要件に合わせてx86も検討32bitプロセスで動かす必要があるIISのアプリプール設定(32-bit有効)

インストール後に起きがちなエラーと対処の方向性

Hosting Bundleを入れた後でも、設定やバージョンの噛み合わせでエラーになることがあります。代表例と確認ポイントをまとめます。

症状ありがちな原因まず見る場所対処の方向性
HTTP 500 / 502.5 で起動しないランタイム不足、ANCM未反映、設定ミスイベント ビューア(Application)、IISログIIS再起動、Hosting Bundle再確認、web.configの設定確認
更新したはずなのにバージョンが変わらない古いプロセスが残っている、再起動不足dotnet –list-runtimesiisreset、サーバー再起動、アプリプール停止→開始
特定アプリだけ動かないアプリが必要とするメジャーバージョン違いアプリのターゲット(.NET 6/7/8)該当メジャーのHosting Bundleを追加導入(共存可)
同居アプリに影響が出た同一サーバーで複数アプリが混在同居アプリのランタイム依存関係事前に検証環境でパッチ適用テスト、ロールバック手順準備

検証時に便利な“確認チェックリスト”

運用の現場では「何を見ればいいか」が明確だと復旧が早くなります。最低限、次のチェック項目を押さえておくのがおすすめです。

チェック項目確認方法OKの目安
.NET Runtimeが8.0.12になっているdotnet --list-runtimesMicrosoft.NETCore.App 8.0.12 が存在
ASP.NET Core Runtimeが8.0.12になっているdotnet --list-runtimesMicrosoft.AspNetCore.App 8.0.12 が存在
IISが更新後の状態で動いているIIS再起動 / アプリプール再起動更新前のプロセスが残っていない
アプリが期待通り起動するアプリのヘルスチェックURLHTTP 200(または想定の応答)
ログに異常がないイベントビューア / アプリログ起動失敗・依存不足が出ていない

複数の.NETアプリを同一サーバーで運用する場合の考え方

Windows Server 2022のVMに複数のWebアプリを同居させていると、.NETの更新が怖く感じることがあります。ここで大事なのは、

  • メジャーバージョン(6/7/8)が違うアプリは、必要なHosting Bundleも別
  • メジャーが同じでパッチ(8.0.11→8.0.12)の更新なら、基本的に互換性が保たれる設計
  • それでも“ゼロリスク”ではないので、検証→本番の順で適用する

という整理です。

特に「古いアプリが.NET 6、別のアプリが.NET 8」と混在する環境では、必要なHosting Bundleを両方入れて共存させる運用が現実的です(共存は一般的な運用パターンです)。

まとめ:探す名前を変えるだけで解決する

.NET 8.0.12へ更新しようとして「Windows Server Hosting」が見つからない場合、多くは“パッケージ名の読み替え”で解決します。Windows Server 2022でIISホスティングするなら、探すべきは「ASP.NET Core Runtime Hosting Bundle(ホスティング バンドル)」です。

  • IISでASP.NET Coreを動かすならHosting Bundleが基本
  • Kestrel直なら.NET Runtime(必要に応じてASP.NET Core Runtime)
  • Self-containedはランタイム同梱だが、IIS連携の観点でHosting Bundleが必要になることがある

「どれを入れればいいか」の判断に迷ったら、まず“IISかどうか”で切り分けるのが最短ルートです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次