Windowsのソフトインストール履歴を確認|削除済みアプリの痕跡も調査

Windowsでは、設定画面、レジストリ、Windows Installer関連記録、Amcache、Prefetch、ファイルシステム等から、ソフト・アプリがPCに導入されていた痕跡を確認できる場合があります。

すでにアンインストールされたソフトでも、別の記録が残っていれば過去の存在や利用時期を調べられることがあります。

ただし、最初に区別しておきたいことがあります。

「インストールされた」「PC上に存在した」「実行された」「特定の人物が使った」「情報漏えいに使われた」は、それぞれ別の事実です。

また、Windowsには、すべてのソフトについて「いつインストールし、いつ削除したか」を永久に保存する一つの完全な履歴があるわけではありません。Microsoftも、すべてのアプリを一つの方法で検出できる保証はなく、Windows Installerを使わないアプリもあると説明しています。

そのため、過去のソフト導入を調べる場合は、一つの日時や一つのログだけで判断せず、複数の痕跡を時系列で照合します。

ソフトのインストール履歴だけでなく、Windows PCに残るファイル操作、USB利用、削除、Web閲覧、ログオンなどの証拠や、PCフォレンジック全体で確認できる範囲については、PCフォレンジックで何が分かる?Windows PCに残る証拠と、確認できること・できないことで整理しています。

※技術資料・公開情報確認日:2026年9月13日。

ソフトのインストール・削除履歴だけでなく、アプリ実行、ファイル操作、ログオンなどWindows PCに残る証拠全体を確認したい場合は、Windows・PCフォレンジックで、主な調査項目と確認できる痕跡をまとめています。

Windowsでソフトのインストール履歴は確認できる?

確認できる場合があります。ただし、「現在インストールされているソフトの一覧」と「過去にインストールされた全ソフトの履歴」は別です。

Windows 10・11では、「設定」→「アプリ」→「インストールされているアプリ」等から、現在PCに登録されているアプリを確認できます。コントロールパネルの「プログラムと機能」も確認方法の一つです。

しかし、ここから分かるのは主に現在登録されているアプリです。

すでにアンインストールされたソフト、インストーラーを使わずに実行したポータブルアプリ、登録方法が異なるソフトまで含めた「PC購入時からの完全な導入履歴」ではありません。

過去の状態を調べる場合は、次のような情報を組み合わせます。

  • Uninstall関連レジストリ
  • Windows Installer関連のイベント
  • Amcache
  • Prefetch
  • $MFT・$UsnJrnl
  • UserAssistやSRUM等の利用痕跡
  • Program Files、ProgramData、AppData等の残存ファイル
  • ブラウザ等のダウンロード記録
  • アプリ固有のログ

重要なのは、それぞれの記録が何を示しているのかを分けることです。

「インストールされた」と「実行された」は別

ソフト調査では、次の事実を混同しないことが重要です。

現在インストールされている
≠ 過去にインストールされた

インストールされた
≠ 実際に実行された

実行ファイルが存在した
≠ 正式なインストール処理が行われた

実行された
≠ その社員本人が操作した

アンインストールされた
≠ 関連する痕跡がすべて消えた

不審なソフトが存在した
≠ 情報漏えいが発生した

例えばPrefetchは、プログラム実行を調べる有力な痕跡ですが、ソフトのインストール記録そのものではありません。削除済みプログラムのPrefetchが残る場合もあります。

反対に、インストール済みソフトが一覧にあっても、一度も業務で利用されていない可能性があります。

アプリが実際に実行されたかを確認する方法については、Windowsのアプリ実行履歴はどこまで分かる?PCフォレンジックで確認できる証拠で、イベントログ、Prefetch、SRUM、Amcache等を詳しく解説しています。

現在インストールされているソフトを確認する方法

日常的な管理として「今、このPCに何が入っているか」を確認するだけなら、まずWindowsの標準画面を確認します。

Windows 11では、主に「設定」→「アプリ」→「インストールされているアプリ」から確認できます。従来型のデスクトップアプリについては、「プログラムと機能」に登録されている場合もあります。

フォレンジックでは、画面表示だけでなく、対応するレジストリ情報も確認します。

代表的な場所の一つが、

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall

です。

Windows Installer製品では、この配下に、

  • DisplayName
  • DisplayVersion
  • Publisher
  • InstallDate
  • InstallLocation
  • InstallSource
  • UninstallString

等が記録される場合があります。

ただし、すべてのアプリが同じインストーラーや同じ登録方式を使うわけではありません。Microsoftも、Uninstallキー等を使った方法でシステム上の全アプリを必ず検出できるわけではないと説明しています。

したがって、

一覧にない=そのPCに存在したことがない

とは判断できません。

過去のインストール履歴を調べる主な痕跡

現在の一覧から消えているソフトを調べる場合、複数のアーティファクトを確認します。

Uninstall関連レジストリ

現在または残存するUninstall情報から、ソフト名、バージョン、発行元、日付、インストール場所、アンインストール用コマンド等を確認できる場合があります。

特にWindows Installer製品では、Microsoftが各値とInstallerプロパティの対応を公開しています。

ただし、アンインストールによってキーが削除されたり、アプリごとに登録内容が異なったりします。

そのため、Uninstallキーだけを「過去に入った全ソフトの台帳」とは扱いません。

Windows Installer関連記録

MSI形式等でWindows Installerが使われた場合、Applicationイベントログ等にインストール、削除、修復、構成エラーに関する記録が残ることがあります。

Microsoftは、Windows Installerがインストールの成功・失敗、製品の削除・修復等をイベントログへ記録すると説明しており、成功したインストールの例としてイベントID 11707も示しています。

ただし、

  • Windows Installerを使わないアプリ
  • 対象期間のイベントログがすでに上書きされている環境
  • ログ保存範囲外の古い導入
  • ポータブル実行

等では、この方法だけでは確認できません。

イベントIDだけを検索するのではなく、ログの種類、Source、製品名、イベント本文、時刻を確認することが重要です。

Amcache

Amcache.hveは、Windowsのアプリケーション互換性関連で生成される情報で、実行ファイルやアプリケーションの名称、パス、発行元等を調べる手掛かりになります。

現在のAmcacheにはアプリケーションインベントリに関する情報も含まれますが、Amcache全体を「インストール履歴」や「実行履歴」と一括りにすることはできません。

Microsoft Compatibility Appraiserによる走査等でも情報が登録されるため、ファイルに関する記録があるだけでは実行を証明できない場合があります。また、項目によって意味が異なるため、タイムスタンプをそのまま「インストール日時」「実行日時」へ読み替えることも避けます。

調査では、対象レコードが何を示すものか確認し、Prefetch、イベントログ、ファイルシステム等と照合します。

Prefetch

Prefetchはプログラム実行の手掛かりです。

.pfファイルから、対象プログラム名、実行に関係する時刻、実行回数を示す情報、参照されたファイルやディレクトリ等を確認できる場合があります。アプリ本体を削除した後にもPrefetchが残ることがあります。

一方、

Prefetchがある=その日時にインストールされた

ではありません。

また、Prefetchが見つからないことだけで、そのプログラムが一度も実行されていないとも断定できません。

$MFT・$UsnJrnl

NTFSでは、$MFTからファイルやフォルダの管理情報を、$UsnJrnlからファイルシステム上の変更記録を確認できる場合があります。

ソフトの導入前後に、

  • インストーラーが作成された
  • Program Files等にファイルが作られた
  • 設定ファイルが追加された
  • ファイルが更新された
  • アンインストール後にファイルが削除された

といった流れを調べる補助になります。

ただし、ファイルが作成されたことだけで「正式なインストール処理だった」とは判断できません。MFT・USNもWindowsの全操作を再現する完全な履歴ではありません。

UserAssist・SRUM等

UserAssistは、ユーザーごとのレジストリからGUIアプリの実行やフォーカス等に関係する情報を確認できる場合があります。

SRUMでは、アプリの利用状況やネットワーク利用量等を確認できる場合があります。

これらは、主に**「そのソフトが使われた可能性を補強する情報」**として利用します。

インストールされたこと、正式な導入日時、特定ファイルを外部送信したことを、それぞれ単独で証明する記録ではありません。

InstallDateは本当のインストール日時?

InstallDateは有力な手掛かりですが、無条件に「最初にインストールした日」とは扱えません。

特にWindows Installer製品について、MicrosoftはUninstallレジストリのInstallDateを、その製品が最後にサービスを受けた日として説明しています。

パッチの適用・削除や修復によって値が置き換わる場合があり、それらが行われていない場合に、製品をインストールした日が入ります。

そのため、例えば、

InstallDate = 20260901

という値が見つかったとしても、直ちに、

「2026年9月1日に初めてこのPCへインストールした」

とは断定しません。

確認したい日時の精度が重要な場合は、

  • Windows Installer関連イベント
  • インストーラーの実行痕跡
  • アプリファイルの作成時刻
  • MFT・USN
  • Amcache
  • Prefetch
  • ダウンロード記録

等と照合します。

一つの時刻を「正解」と決めるのではなく、その時刻が何によって記録・更新されたものかを確認することが重要です。

削除・アンインストール済みのソフトでも分かる?

分かる場合があります。

アンインストールによって現在のアプリ一覧やUninstallキーから消えていても、別の場所に過去の痕跡が残っている可能性があります。

例えば、

  • Amcache
  • Prefetch
  • $MFT
  • $UsnJrnl
  • ProgramData
  • AppData
  • Windowsイベントログ
  • LNK
  • Jump Lists
  • アプリ固有ログ

等です。

実際に、Prefetchはプログラム本体が削除された後も残る場合があります。MFTやUSNでも、条件によって削除されたファイルや変更の手掛かりを確認できます。

ただし、

アンインストール後も必ず痕跡が残るわけではありません。

残存状況は、

  • アンインストール方法
  • ソフト自身の削除処理
  • ログの保存期間
  • PCの利用量
  • ファイルやレコードの上書き
  • Windowsの更新
  • クリーンアップ
  • ストレージの状態
  • 調査までの経過

等によって変わります。

削除済みファイルについても、「ファイル本体が復元できること」と「過去の存在や削除に関する痕跡が残ること」は別です。

ポータブルアプリはインストール履歴に残らない?

通常のインストール処理を必要としないソフトでは、一般的なインストール履歴が存在しない場合があります。

例えば、実行ファイルをダウンロードまたはコピーし、そのまま起動できるポータブル型のツールがあります。

Microsoftも、すべてのアプリがWindows Installerを利用するわけではなく、単にファイルをフォルダへコピーして利用するアプリはWindows Installer向けの確認方法では管理できないと説明しています。

このため、

インストール履歴がない=そのソフトは使われていない

とは判断できません。

ポータブルアプリでは、

  • 実行ファイル自体の存在
  • Prefetch
  • Amcache
  • UserAssist
  • SRUM
  • LNK・Jump Lists
  • MFT・USN
  • ダウンロード履歴

等から、存在・実行・利用時期を検討します。

逆に、実行ファイルがダウンロードされていただけで、実際に起動されたとは限りません。

誰がソフトをインストールしたか分かる?

インストール日時だけでは、実際に操作した人物を特定できません。

例えば、あるユーザーアカウントの使用中にインストーラーが実行された記録が見つかれば、そのアカウントとの関連を検討できます。

しかし、

アカウント=実際の人物

とは限りません。

共用PC、共用アカウント、管理者による遠隔作業、サービス、タスク、IT部門による配布、第三者による遠隔操作等も考慮する必要があります。

人物との関連を調べる場合は、

  • Windowsのログオン履歴
  • ユーザーアカウント
  • インストーラーのプロセス実行記録
  • 管理者権限・昇格に関する記録
  • EDR等の端末ログ
  • ブラウザのダウンロード履歴
  • PowerShell等の実行記録
  • 遠隔接続の有無
  • 同時間帯のユーザー活動

等を時系列で照合します。

Windowsのアプリ実行履歴についても、プロセスが特定アカウントに関連していても、社員本人の手動操作とは別に評価する必要があります。

インストーラーのダウンロード履歴も確認する

「いつソフトを入れたのか」を調べる場合、インストールより前の動きも確認すると時系列を絞りやすくなります。

ブラウザ等に、

  • インストーラー名
  • ダウンロード元
  • 保存場所
  • ダウンロード時刻

に関する履歴が残っている場合があります。

ただし、

インストーラーをダウンロードした=インストールした

ではありません。

ダウンロード後に一度も実行しなかった可能性もあれば、別のPCからコピーしたインストーラーを実行した可能性もあります。

逆に、インストール後にセットアップファイルを削除していても、Windows Installer、アプリファイル、Amcache、Prefetch、ファイルシステム等に別の痕跡が残る場合があります。

ブラウザ側の履歴については、「ブラウザ履歴はフォレンジックでどこまで分かる?」で、履歴・ダウンロード等の確認範囲を解説しています。

実際の調査事例|会社PCに不正ソフトが入っていたケース

株式会社赤井事務所/社内不正バスターズが公表している匿名事例には、社員へ貸与していた会社PCに「不正ソフト」がインストールされており、情報漏えいの有無を調査したケースがあります。

相談内容

会社貸与PCに不正ソフトがインストールされていたため、情報漏えいが起きていないか確認したいという依頼でした。

調査したこと

公表資料では、ログの調査とデジタル・フォレンジック調査を実施したとされています。

確認結果

公表されている範囲では、調査によって情報漏えいや異常は確認されず、ソフトをインストールした社員には厳重注意を行うよう提案しています。

社内一次情報DBでも同じ内容を確認できますが、案件時期や受任原資料はDBに含まれておらず、ソフト名、インストール日時、使用した個別アーティファクトも記載されていません。したがって、それらを推測して補うことはできません。

この事例から分かること

この事例で重要なのは、

不審なソフトが存在したことと、情報漏えいが確認されたことは別

という点です。

また、公表資料の「不正ソフト」という表現だけから、そのソフトをマルウェアや不正アクセスツールと断定することもできません。

正規の遠隔操作ソフト、ファイル転送ソフト、クラウド同期ソフト等でも、会社の許可なく導入されていれば管理上の問題になる場合があります。

ソフトの名称や存在だけで結論を決めず、何が実行され、どのファイルが扱われ、どこへ通信・転送されたのかを別々に確認する必要があります。

ソフトの痕跡で分かること・分からないこと

Windowsの各痕跡が示す事実は異なります。

痕跡比較的言いやすいことそれだけでは言えないこと
Installed apps・プログラムと機能現在登録されているアプリ過去に存在した全アプリ
Uninstall関連レジストリソフト名・バージョン・発行元等の登録情報実際に利用されたこと
InstallDateインストール・サービス時期を検討する日付情報最初のインストール日時を必ず示すこと
Windows InstallerイベントMSI等のインストール・削除・修復に関する記録全ソフトの完全な履歴、実際の利用
Amcacheアプリ・実行ファイルの存在やインベントリを検討する情報すべてのレコードが実行を示すこと、正確な導入日時
Prefetchプログラムが実行された手掛かりインストールされたこと、実際の操作者
UserAssist・SRUM等ユーザー・アプリ利用を補強する情報正式なインストール日時
$MFT・$UsnJrnl関連ファイルの存在・作成・変更・削除の時系列正式なインストーラーによる導入
ダウンロード履歴インストーラー等を取得した手掛かり実際にインストール・実行されたこと
アンインストール関連痕跡ソフトが削除された経緯の手掛かり関連痕跡が完全に消えたこと
複数痕跡の時系列一致導入・実行時期の評価を補強特定人物が操作したこと

特に、InstallDateはWindows Installer製品でもパッチや修復によって更新される場合があり、Prefetchは実行の痕跡であってインストール記録ではありません。

複数の痕跡を時系列で照合すると何が見える?

ソフトの導入経緯を調べる場合、一つの記録ではなく、前後の出来事を時系列に並べることが重要です。

例えば、次のような流れを検討します。

インストーラーをダウンロード
↓
インストーラーを実行
↓
アプリ関連ファイルが作成
↓
レジストリやWindows Installerへ登録
↓
アプリを実行
↓
必要に応じて通信・ファイル操作が発生
↓
アンインストール

これは説明用の典型例であり、すべてのケースでこの順序の記録が残るわけではありません。

例えばポータブルアプリならインストール処理やUninstall登録がない場合があります。企業の管理ツールから自動配布されたソフトなら、ブラウザのダウンロード履歴が存在しないこともあります。

調査では、

複数の独立した記録が同じソフト・時刻・パスを示しているか

を確認します。

MFT・USN等についても、一つの記録ですべてを判断するのではなく、周辺のアーティファクトと照合して時系列を評価します。

不審なソフトがあっても情報漏えいとは限らない

ソフトが存在したこと、実行されたこと、通信したこと、情報漏えいが発生したことは、それぞれ別です。

例えばファイル転送ソフトやクラウド同期ソフトの実行が確認されても、それだけでは、

  • 顧客ファイルを開いた
  • ファイルを外部へ送信した
  • USBへコピーした
  • 個人クラウドへアップロードした
  • 営業秘密を持ち出した

とは判断できません。

SRUM等からアプリのネットワーク利用量を確認できる場合もありますが、通信量だけで送信したファイル名や内容、送信先アカウント、不正な持ち出しだったかまで確定することはできません。

情報漏えいまで調べる場合は、目的に応じて、

  • 対象ファイルの操作履歴
  • アプリ固有ログ
  • ブラウザ履歴
  • メール
  • クラウド監査ログ
  • USB接続・ファイル痕跡
  • EDR・DLP
  • Proxy・Firewall等のネットワーク記録

を追加で照合します。

つまり、

「このソフトがあった」から「情報を持ち出した」へ一足飛びに結論を広げない

ことが重要です。

調査前に保存するもの・避けたい操作

懲戒、訴訟、内部不正、情報漏えい等の調査に使う可能性があるPCでは、不審なソフトを見つけても、確認目的ですぐに起動・更新・アンインストールしないことが重要です。

アンインストールすると、レジストリ、アプリ固有ログ、ファイル、設定等が変更・削除される可能性があります。通常利用を続けることでも、イベントログやファイルシステム上の古い記録が失われる場合があります。

必要に応じて、

  • 現在の画面・電源・接続状態
  • 対象PCと利用者情報
  • 問題が疑われる期間
  • Windowsイベントログ
  • レジストリ
  • $MFT・$UsnJrnl
  • ProgramData・AppData
  • アプリ固有ログ
  • 必要に応じたディスクイメージ
  • 取得日時・取得方法等の作業記録

を保全します。

ただし、すべてのケースで物理ディスクイメージ等の高度な保全が必要とは限りません。何を立証したいか、PCを業務で継続利用する必要があるか、暗号化や稼働状態等を踏まえて取得範囲を決めます。

また、攻撃や情報流出が現在進行中の場合は、被害拡大防止と証拠保全の両方を検討し、実施した隔離・設定変更等を記録します。

削除済みデータについて調べる場合も、対象PCへの復元ソフト導入、初期化、再利用を先に進めると、残っていた痕跡へ影響する可能性があります。

自社確認で足りる場合とフォレンジック調査を検討する目安

目的によって必要な調査レベルは異なります。

確認したいこと自社確認で対応しやすいフォレンジック調査を検討
現在インストールされているアプリを確認○必須ではない
現在残るInstallDate等を確認○証拠利用するなら検討
過去に削除されたソフトを調べる△○
本当の導入時期を複数痕跡から絞る△○
ポータブルアプリの過去利用を確認△○
誰がインストール・実行したか調べる△○
情報漏えいに使用されたか確認△○
懲戒・訴訟等で第三者へ調査根拠を説明△○

単に「現在そのソフトが入っているか」を知りたいだけなら、Windowsの設定画面や社内のソフトウェア管理台帳で足りる場合があります。

一方、

「退職者PCに以前このソフトが入っていたのか」
「いつ導入されたのか」
「実際に使われたのか」
「誰の操作と関連するのか」
「情報持ち出しに使われたのか」

まで確認する場合は、複数のアーティファクトを時系列で照合する必要があります。

PCフォレンジック全体で確認できる証拠や調査範囲については、「PCフォレンジックで何が分かる?」でも整理しています。

まとめ

Windowsでは、ソフト・アプリのインストールや過去の存在に関する痕跡を確認できる場合があります。

重要なポイントは次のとおりです。

  • 現在のアプリ一覧だけでは、過去に存在した全ソフトは分からない
  • UninstallレジストリやWindows Installerは有力だが、全アプリを網羅しない
  • InstallDateは最初のインストール日とは限らない
  • Prefetchは主に実行の手掛かりであり、インストール記録ではない
  • Amcacheも、レコードごとの意味を確認して利用する
  • アンインストール済みでも別の痕跡が残る場合がある
  • ポータブルアプリでは通常のインストール履歴がない場合がある
  • インストーラーのダウンロードと実際のインストールは別
  • インストール日時だけでは実際の操作者を特定できない
  • 不審なソフトの存在だけで情報漏えいを断定できない

「インストールされた」「存在した」「実行された」「利用された」「情報漏えいに使われた」を分け、必要な痕跡を一つずつ確認することが、Windowsのソフト履歴を正しく評価する基本です。

証拠として確認する必要がある場合は、不用意なアンインストール、初期化、クリーンアップを行う前に、何を明らかにしたいのかを整理し、必要な記録の保全を検討してください。

参考資料

  • Microsoft Support「Uninstall or remove apps and programs in Windows」
  • Microsoft Learn「Windows Installer Properties for the Uninstall Registry Key」
  • Microsoft Learn「Working with software installations」
  • Microsoft Learn「Event Logging (Windows Installer)」
  • Magnet Forensics「Forensic Analysis of Prefetch files in Windows」
  • Magnet Forensics「SRUM: Forensic Analysis of System Resource Utilization Monitor」
  • Kaspersky Securelist「Forensic journey: hunting evil within AmCache」
  • Kaspersky Securelist「What is UserAssist and how to use it in IR activities?」
  • デジタル・フォレンジック調査ラボ「Windowsのアプリ実行履歴はどこまで分かる?」
  • デジタル・フォレンジック調査ラボ「MFT・USNジャーナルで何が分かる?」
  • デジタル・フォレンジック調査ラボ「デジタルフォレンジックの証拠保全とは?」
  • 社内不正バスターズ「その他不正調査|実際の調査事例」