Windows Desktop Runtime 9.0.8 や .NET 9 SDK をインストールしようとしたのに、インストーラをダブルクリックしても何も起きない――この症状はログもエラーも残らず、原因が分かりにくい厄介なトラブルです。本記事では、実際の事例をもとに、Windows 10 環境でこの問題を解消した具体的な手順と、再発を防ぐためのポイントを詳しく解説します。
Windows Desktop Runtime 9.0.8 インストーラが起動しない症状の概要
今回取り上げるのは、次のような状況です。
- 対象 OS:Windows 10 Pro 64bit(Build 19045)
- ユーザー:ローカル管理者権限あり
- 既にインストール済みの .NET:
- Windows Desktop Runtime 6.0.11
- Windows Desktop Runtime 7.0.5
- Windows Desktop Runtime 8.0.8
- インストールしようとしたもの:
- windowsdesktop-runtime-9.0.8-win-x64.exe
- .NET 9 SDK インストーラ(x64)
ところが、インストーラ EXE をダブルクリックしても、
- タスクマネージャーにプロセスが一瞬も現れない
- セットアップウィザードの GUI が表示されない
- エラーメッセージもログも見当たらない
という「何も起きない」状態のままインストールが進まない、という症状です。
ハッシュ値の検証、ウイルス対策ソフトの一時停止、OS 再起動、イベントログの確認、インストールログの出力試行など、基本的な確認はすでに実施済みという前提です。
検証環境と事象の整理
まずは状況を整理しておきます。環境を表にまとめると次のようになります。
| 項目 | 内容 |
|---|---|
| OS | Windows 10 Pro 64bit(Build 19045) |
| アカウント権限 | ローカル管理者 |
| 既存 .NET Desktop Runtime | 6.0.11 / 7.0.5 / 8.0.8(x64) |
| 問題のインストーラ | windowsdesktop-runtime-9.0.8-win-x64.exe、.NET 9 SDK x64 |
| 症状 | ダブルクリックしてもプロセスが出ず、GUI もエラーも出ない |
| 事前に実施済み | ハッシュ値確認、ウイルス対策の無効化、再起動、イベントログ確認 など |
このように、一般的な「インストーラが途中で止まる」「エラーダイアログが出る」といったトラブルではなく、
- プロセスが立ち上がる前に即終了している
- もしくは起動段階のチェックでエラー終了している
ということが推測されます。
なぜ「何も起きない」のか ― よくある原因パターン
Windows 向けのインストーラ(特に .NET Desktop Runtime のようなブートストラップ EXE)は、起動直後に「事前チェック」を行います。例えば、
- 同じ製品のインストール状態の確認(レジストリ / MSI 製品コードの確認)
- OS バージョンやアーキテクチャの確認(x86 / x64)
- インストーラ自身の整合性チェック
などです。これらのチェックで「既に同じ製品がインストール済み」と判定されると、ユーザーインターフェイスを出さずに静かに終了してしまうことがあります。
今回のケースで特に疑わしいのは、
- 失敗した .NET 9.0(特に x86 版)のインストールの「残骸」が残っている
- そのせいで「9.0 系 Runtime または .NET Host が既に存在する」と誤認されている
というパターンです。レジストリ上の不完全なアンインストール情報が原因で、「インストール済み」と判定されてしまうわけです。
事前に確認しておきたい基本チェック
すでに多くは実施済みかもしれませんが、同じトラブルに遭遇した方のために、代表的な事前チェックを整理しておきます。
| チェック内容 | ポイント |
|---|---|
| ハッシュ値の確認 | 公式ダウンロードページに記載の SHA256 などと一致するか確認する。 |
| ウイルス対策ソフト | 一時的にリアルタイム保護を無効化して再試行する。 |
| 保存パス | ネットワークドライブではなくローカルディスク(例:C:\Users\ユーザー名\Downloads)から実行する。 |
| 管理者権限 | インストーラを右クリックして「管理者として実行」。 |
| イベントログ | イベント ビューアーで Application / Setup ログを確認する。 |
これらをすべて行っても、インストーラが一瞬で消える場合には、より深いレベル(レジストリや Windows の整合性)に問題が潜んでいる可能性が高くなります。
手順1:レジストリで壊れた .NET 9.0 の残骸を探す
まず行いたいのが、「怪しい .NET 9.0 関連のアンインストール情報が残っていないか」をチェックすることです。
レジストリエディタを開く
- Win + R キーを押し、「
regedit」と入力して Enter。 - ユーザーアカウント制御(UAC)が表示されたら「はい」で続行します。
レジストリを直接編集する作業になるため、必ず事前に復元ポイントの作成やレジストリのバックアップを行ってください。
アンインストール情報のツリーを開く
次のパスを順にたどります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
64bit 環境では、x86 用の情報は主に WOW6432Node の配下に格納されるため、両方のツリーを忘れずに確認します。
DisplayName が .NET 9 系になっているキーを探す
それぞれのツリー配下のサブキー(長い GUID 形式のキー名)を選択し、右側の DisplayName の値を確認していきます。特に次のような名前のキーを探します。
- Microsoft Windows Desktop Runtime 9.0.x
- Microsoft .NET Host 9.0.x
- Microsoft .NET Runtime 9.0.x など、9.0 系と分かるもの
明らかに中途半端な状態(インストールした覚えがないのに存在している、表示名が壊れている等)のキーは、今回の問題の原因になり得ます。
可能であれば通常のアンインストーラで削除する
怪しいキーが見つかった場合、まずは UninstallString の値を確認します。ここには「プログラムのアンインストール」から実行されるコマンドが格納されています。
- コマンドが有効そうであれば、管理者用コマンドプロンプトからそのコマンドを実行してアンインストールを試みます。
- あるいは、「設定」→「アプリ」→「インストール済みアプリ」(もしくは「アプリと機能」)から該当の .NET 9.0 を探し、通常のアンインストールを試します。
ここで「既に削除済み」「アンインストールに失敗」などのエラーが出た場合、そのインストール情報は壊れている可能性が高く、次の Fix-It ツール(Microsoft Program Install and Uninstall トラブルシューター)の出番になります。
手順2:Microsoft Program Install and Uninstall トラブルシューターで強制削除
レジストリに壊れたアンインストール情報が残っているケースでは、Microsoft が提供しているインストール / アンインストールトラブルシューティングツール(通称 Fix-It)が非常に有効です。このツールは、コントロールパネルや「アプリと機能」に表示されない「半壊れ状態」のインストールも検出し、クリーンアップしてくれます。
ツールの入手と起動
- ブラウザで「Fix problems that block programs from being installed or removed」というタイトルの Microsoft サポート記事を検索します。
- 記事内のダウンロードリンクから、トラブルシューター(通常は
MicrosoftProgram_Install_and_Uninstall.meta.diagcab)を取得します。 - ダウンロードしたファイルをダブルクリックして起動します。
対象製品の選択
- 「インストール」か「アンインストール」かを聞かれたら、「アンインストール」 を選択します。
- 製品一覧が表示されたら、次のような名前のエントリを探します。
- Microsoft Windows Desktop Runtime 9.0.x
- Microsoft .NET Host 9.0.x
- その他 .NET 9.0 関連と思われるエントリ
- 見つかったエントリを選択し、「次へ」で進めると、ツールが関連ファイルやレジストリをクリーンアップしてくれます。
一覧に何も表示されない場合でも、「対象のプログラムが一覧にありません」を選んだ上で、インストーラ EXE を指定し、強制的に問題を検出させることも可能です。
このツールで .NET 9.0 系の壊れたエントリを削除できれば、「すでにインストール済みと誤認される」状態が解消され、インストーラが正しく動作するようになるケースが多く見られます。
手順3:SFC / DISM で Windows の整合性を確認
レジストリの残骸を取り除いても状況が変わらない場合や、念のため OS 側の健全性も確認しておきたい場合は、システムファイルチェッカー(SFC)と DISM を実行しておきましょう。
管理者権限のコマンドプロンプトを開く
- Win + X キー → 「Windows ターミナル(管理者)」または「コマンドプロンプト(管理者)」を選択。
- ユーザーアカウント制御(UAC)が表示されたら「はい」で続行します。
SFC と DISM の実行コマンド
順番としては、まず SFC、次に DISM を実行するのが一般的です。
sfc /scannow
dism /online /cleanup-image /restorehealth
いずれも完了には時間がかかる場合があります。処理が 100% になるまで待ち、完了後は必ず Windows を再起動してください。
- SFC で「破損したファイルを正常に修復しました」などと表示された場合は、OS のシステムファイルがインストーラに影響していた可能性があります。
- DISM はコンポーネントストアの破損を修復します。Windows Update 絡みの問題でセットアップが失敗している場合に有効です。
手順4:クリーンブートで常駐ソフトの影響を排除
セキュリティソフトや常駐ユーティリティがインストーラの起動自体をブロックしている可能性もあります。そこで一度、クリーンブート状態でインストーラを実行してみます。
システム構成(msconfig)からクリーンブートを設定
- Win + R キー → 「
msconfig」と入力 → Enter。 - 「サービス」タブを開き、「Microsoft のサービスをすべて隠す」にチェックを入れます。
- 残っているサードパーティ製サービスのチェックをすべて外します。
- 「スタートアップ」タブ(または「スタートアップの項目を開く」リンク)からタスクマネージャーを開き、不要なスタートアップアプリを無効にします。
- 「OK」を押して再起動します。
再起動後、最小限のサービスだけが動作している状態になるため、この状態で windowsdesktop-runtime-9.0.8-win-x64.exe を右クリック → 「管理者として実行」してみてください。
クリーンブートでインストーラが問題なく起動する場合は、常駐ソフトが干渉していた可能性が高いので、どのサービスが原因かを切り分けていくとよいでしょう。
手順5:Windows Desktop Runtime 9.0.8 を再ダウンロードしてインストール
レジストリの残骸を掃除し、OS と常駐ソフトの問題もある程度排除できたら、あらためてインストーラを入手して実行します。
公式サイトからのダウンロード
- ブラウザで .NET の公式サイトを開き、ダウンロードページから .NET 9 のセクションを表示します。
- 「Desktop Runtime」欄から「Windows」「x64」を選択し、Windows Desktop Runtime 9.0.8 のインストーラ(
windowsdesktop-runtime-9.0.8-win-x64.exe)をダウンロードします。
可能であれば、ダウンロード直後にハッシュ値(SHA256 など)を確認し、公式サイトに掲載されている値と一致するか確認しておくと安心です。
インストーラの実行と確認
- ダウンロードフォルダ(通常は
C:\Users\ユーザー名\Downloads)に移動します。 windowsdesktop-runtime-9.0.8-win-x64.exeを右クリックし、「管理者として実行」。- これまでの手順がうまくいっていれば、今度は GUI のセットアップ画面が表示されるはずです。
- 画面の指示に従ってインストールを完了させます。
インストール完了後、「アプリと機能」や dotnet --list-runtimes(.NET SDK がインストール済みの場合)などで、Microsoft Windows Desktop Runtime 9.0.8 が追加されているか確認しましょう。
この状態になれば、CompactGUI など .NET 9 依存のアプリケーションも問題なく起動できるようになります。
インストーラが無言終了するときに確認したい追加ポイント
ここまでの手順に加えて、「ダブルクリックしても何も起きない」タイプのインストールトラブルで役に立つ追加の確認ポイントをいくつか紹介します。
SmartScreen や非表示のダイアログを疑う
- インストーラ実行時に、画面の裏側や別ディスプレイに UAC や SmartScreen のダイアログが隠れていることがあります。
- Alt + Tab キーやタスクバーを確認し、「アプリがこのデバイスに変更を加えることを許可しますか?」といったダイアログが開いていないか確認します。
ファイルのブロック設定を解除する
- インストーラ EXE を右クリックして「プロパティ」を開き、「全般」タブの下部に「このファイルは他のコンピューターから取得したものです…」と表示されている場合があります。
- その場合、「ブロックを解除」にチェックを入れて「OK」を押してから、再度実行してみてください。
ユーザープロファイルの問題を切り分ける
- 別の管理者ユーザーでログインして実行すると、問題なくインストーラが起動する場合があります。
- この場合、元のユーザープロファイルに何らかの問題(権限やパス、テンポラリフォルダのアクセス権など)がある可能性があります。
ログやイベントビューアーを使った原因調査のコツ
今回の事例では、最終的にレジストリの残骸と Fix-It ツールが決め手になりましたが、同様の症状が別の原因で発生している可能性もあります。その場合、ログをきちんと残しておくと解析が楽になります。
イベント ビューアーで Setup ログを確認する
- 「スタート」ボタンを右クリック → 「イベント ビューアー」を選択。
- 左ペインで「Windows ログ」→「Setup」を開きます。
- インストーラを実行した時間帯のログを確認し、MsiInstaller や .NET 関連のイベントが出ていないかをチェックします。
ここでインストーラの初期チェックに関するエラーが出ていれば、ヒントになることがあります。
%TEMP% フォルダ内のログを探す
- Win + R キー → 「
%temp%」と入力 → Enter。 - ファイル名に「dotnet」「dd_」などを含むログファイルがないか探します。
- .NET のインストーラは、失敗時に詳細なログを残すことがあるため、それらをテキストエディタで開いてエラーコードを確認します。
MSI ログを明示的に取得する
インストーラに MSI パッケージが含まれている場合、msiexec コマンドの /L*V オプションを用いて詳細ログを出力することもできます。例えば、単体の MSI を直接実行する場合は次のようなコマンドになります。
msiexec /i "C:\Path\Example.msi" /L*V "C:\Temp\example.log"
Windows Desktop Runtime のインストーラはブートストラップ EXE 形式ですが、内部で MSI を呼び出しているため、ログの中には MSI のエラーコードも出力されることがあります。
実際の解決までの流れ(ケーススタディ)
ここまでの話を、「今回の事例では実際にどう進めていったのか」という観点からまとめます。
- 症状の確認
Windows Desktop Runtime 9.0.8 と .NET 9 SDK のインストーラをダブルクリックしても、プロセスが一瞬も立ち上がらず、画面上にもログにも何も残らない状態を確認。 - 基本的な切り分け
ハッシュ値の確認、ウイルス対策ソフトの一時停止、再起動、イベントログの確認などを実施するも、状況は変わらず。 - レジストリの調査
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall配下を確認したところ、過去に失敗したと思われる 9.0.0(x86) の残骸が見つかる。 - Fix-It ツールの実行
Microsoft Program Install and Uninstall トラブルシューターを実行し、対象製品として Runtime 9.0.x / .NET Host 9.0.x を選択して強制アンインストール。 - SFC / DISM とクリーンブート
念のため OS の整合性チェックとクリーンブートも実施し、常駐ソフトの影響も排除。 - インストーラ再実行
公式サイトからあらためて windowsdesktop-runtime-9.0.8-win-x64.exe をダウンロードし、管理者として実行したところ、今度は GUI のセットアップ画面が正常に表示され、インストール完了。 - アプリの動作確認
Windows Desktop Runtime 9.0.8 がインストールされた状態で、CompactGUI など .NET 9 依存アプリを起動したところ、問題なく動作することを確認。
この流れから、今回の主因は 失敗した 9.0.0 (x86) のレジストリエントリが残り、インストーラが「既に同系ランタイムが存在する」と誤判定していた ことだと考えられます。
同様のトラブルに備えるチェックリスト
最後に、今後同様の症状に遭遇したときにすぐ確認できるよう、チェックリストとして整理しておきます。
| カテゴリ | 確認内容 |
|---|---|
| インストーラの健全性 | 公式サイトからダウンロードしているか/ハッシュ値は一致しているか/ファイルがブロックされていないか。 |
| 権限と実行方法 | 管理者として実行しているか/ネットワークドライブではなくローカルディスクから起動しているか。 |
| レジストリの残骸 | Uninstall 配下に壊れた .NET 9.0 / .NET Host 9.0 エントリが残っていないか。 |
| Fix-It ツール | Microsoft Program Install and Uninstall トラブルシューターで壊れたインストールを削除したか。 |
| OS の整合性 | SFC / DISM を実行し、破損が修復されているか。 |
| 常駐ソフト | クリーンブート状態でインストーラを実行しても同じ症状か。 |
| ログ・イベント | イベント ビューアー(Setup ログ)や %TEMP% フォルダのログにエラーコードが出ていないか。 |
上から順番に確認していくことで、多くのケースで原因にたどり着けるはずです。
開発者・情シス担当者向け:.NET 9 導入時の運用ポイント
最後に、.NET 9 や Windows Desktop Runtime 9.0.x を社内展開する開発者・情シス担当者向けに、運用面での注意点をいくつかまとめておきます。
バージョン管理とインベントリの整備
- Windows Desktop Runtime は 6/7/8/9 と複数バージョンが共存できるため、「どの PC にどのバージョンが入っているか」を把握する仕組みが重要です。
- 資産管理ツールやスクリプトで、
dotnet --list-runtimesの結果を収集する仕組みを作っておくと、トラブルシューティングがぐっと楽になります。
配布方式の工夫
- 個別 PC への手動配布ではなく、ソフトウェア配布ツール(例:構成管理ツール、グループポリシーのスタートアップスクリプトなど)を活用すると、バージョンの統一がしやすくなります。
- 社内パッケージを作成する際には、「すでに同じバージョンが入っている場合はスキップ」「古いバージョンからのアップグレード時の挙動」などもきちんとテストしておきましょう。
テスト環境での再現性確認
- 今回のような「インストーラが何も言わずに終わる」問題は、本番環境だけで発生すると原因究明に時間がかかります。
- 本番と同一に近いテスト環境(同じ Windows ビルド、同じセキュリティソフト、類似の常駐ソフト構成)を用意し、定期的に .NET のアップデート手順をリハーサルしておくと安心です。
エラー時の情報採取フローを決めておく
- インストールに失敗した際に、「どのログを、どの順番で採取するか」をあらかじめ決めておくと、サポート依頼やベンダー問い合わせもスムーズになります。
- 最低限、イベント ビューアーの Application / Setup ログ、%TEMP% フォルダのインストーラログ、
dotnet --infoの結果などはワンセットで取得できるようにしておくと良いでしょう。
まとめ
Windows Desktop Runtime 9.0.8 のインストーラが Windows 10 で「ダブルクリックしても何も起きない」という症状は、見た目にエラーが出ない分、非常に戸惑いやすいトラブルです。しかし、
- レジストリに残った .NET 9.0 系(特に x86)の壊れたアンインストール情報
- OS のシステムファイルやコンポーネントストアの不整合
- 常駐ソフトによる起動ブロック
といった原因を一つ一つ潰していけば、最終的には正常にインストールできるケースがほとんどです。
本記事で紹介した手順:
- レジストリで .NET 9.0 関連の残骸を確認・整理する
- Microsoft Program Install and Uninstall トラブルシューター(Fix-It)で壊れたインストールを強制削除する
- SFC / DISM によるシステム整合性チェックを行う
- クリーンブートで常駐ソフトの影響を切り分ける
- 公式サイトから再ダウンロードしたインストーラを管理者として実行する
これらを順に実施することで、質問者の環境では無事に Windows Desktop Runtime 9.0.8 のインストールに成功し、CompactGUI など .NET 9 依存アプリも正常に動作するようになりました。
同じような症状に悩まされている方は、ぜひ本記事の手順を参考に、原因の切り分けと対処を進めてみてください。

コメント