# AssetCollector 利用者向け説明書（USB版）

## これは何ですか
AssetCollector は USB から起動し、PCごとの資産情報（ソフトウェア / ハードウェア / Windows更新）を収集して USB 内のデータベースに保存・閲覧できるツールです。

## 起動方法
1. USB 内の `AssetCollector.exe` をダブルクリックします。
2. メイン画面が表示されたら準備完了です。

## 画面の使い方（左右2ペイン）
### 上部（合計表示）
- 端末数（これまで収集したPCの台数）
- 収集回数（これまでの収集の実行回数）
- ソフト件数（保存されているソフトウェア行数の合計）

### 左側（PC一覧）
- ここに収集済みの PC が並びます。クリックすると選択できます。
- 表示の目安
  - `表示名`（あれば）
  - `設置場所`（あれば）
  - Hostname / Serial / Machine GUID（端末の識別情報）
- フィルタ欄がある場合、表示名/設置場所/Hostname/Serial/Machine GUID の一部を入力して絞り込めます。

### 右側（選択したPCの詳細）
- 左で選んだPCの情報が表示されます。
- 収集履歴（ログ）：いつ収集したか（CollectedAt など）の一覧
- アセット：ソフトウェア / ハードウェア / Windows更新の情報

## 表示名・設置場所の登録（人間向け）
1. 左のPC一覧から対象PCを選びます。
2. 右側にある `表示名` と `設置場所` を入力します。
3. `保存` を押します。

メモ:
- 表示名・設置場所は「端末（PC）」に対して保存され、次回以降も引き継がれます。

## 収集の実行
- 右上の `収集` ボタンを押すと、収集が実行されます。
- 実行中はステータス表示が変化し、完了後に収集履歴とアセットが更新されます。

## 保存場所（USB 内）
- データベース：`data/assets.db`
- エラーログ：`logs/` 配下（例：`yyyyMMddHHmmss.log`）

## よくあるトラブル
### 起動しない / 画面が出ない
- USB が読み取り専用になっていないか確認してください。
- `logs/` にログが出ていれば、最新のファイルを開いて `UnhandledException` を探してください。

### PCを選んでも右側が変わらない
- 一度別のPCを選んでから戻してみてください。
- 直らない場合は `logs/` の最新ログを確認してください。

### 保存した表示名・設置場所が残らない
- USB を抜くタイミングが早いと保存に失敗することがあります。保存後は数秒待ってから USB を抜いてください。

## 注意（USB運用）
- アプリ動作中に USB を抜かないでください（データ破損の原因になります）。
- 収集直後は書き込みが落ち着くまで数秒待ってから USB を取り外してください。

---

## 開発者向け

### 前提条件
- [.NET 8 SDK](https://dotnet.microsoft.com/download) （Windows x64）

### ビルド（開発用）
```powershell
dotnet build
```

### テスト
```powershell
dotnet test
```

### 配布用EXEの生成
```powershell
dotnet publish AssetCollector/AssetCollector.csproj -c Release
```
`release/AssetCollector.exe` に自己完結型の単体EXEが出力されます。
実行環境に .NET Runtime は不要です（Windows x64 のみ対応）。
