# FAQ.2 — .mzp 自動インストール失敗時の手動インストール

## 概要

| 項目 | 内容 |
|------|------|
| 用途 | `.mzp` 自動インストール失敗 / Permission denied が続く場合 |
| 方法 | Max でパス確認 → ファイルを手動コピー |
| 推奨 | 可能なら先に **[FAQ.1 — インストール時の Permission denied / scripts 書き込み権限](../faq01-install-permission/)** を試す |
| 画像 | `04`~`14`（パス確認~コピー / Macro 登録 / 起動確認） |

---

## バージョンに関する注意（重要）

- **Max 2025 以上**: `startup` のメニュー登録ファイル（`os_bipedPlus_menu.ms`）が必要です。
- **Max 2024 以下**: メニュー用 `.ms`（`_register_menu.ms` → `os_bipedPlus_menu.ms`）が**無い、または不要な場合があります。**
  → その場合は **メニュー `.ms` のコピーを省略して構いません。**
  → パス登録用 `os_bipedPlus_path.ms`（`_register_path.ms`）は可能な限り登録してください。

---

## 0. パッケージ準備（.mzp 解凍）

1. 該当 Max バージョン用 `.mzp` を用意  
   （例: `biped_plus_v2_2_3_max2025.mzp`）
2. コピーの拡張子を `.zip` に変更して解凍  
   （またはアーカイブツールで `.mzp` を直接開く）
3. 解凍後は次のように見えるはずです。

![.mzp unzip result — os_bipedPlus_package, install.ms, installer.py](05_mzp_unzipped.png)

> 上記は `.mzp` ファイルを解凍した結果です。  
> `os_bipedPlus_package` フォルダ、`install.ms`、`installer.py` が見えれば正常です。

構成の概要:

```text
(解凍)/
├── install.ms
├── installer.py
└── os_bipedPlus_package/
    ├── os_bipedPlus/
    ├── _register_menu.ms   ← Max 2025+（2024 以下では無い場合あり → 省略可）
    ├── _register_path.ms
    └── ...
```

---

## 1. 3ds Max でインストールパスを確認

手動インストールの要は、まず **お使いの PC の正確なパス**を確認することです。

1. 該当バージョンの Max を起動
2. `F11` → MAXScript Listener
3. 次を実行:

```maxscript
format "userScripts = %\n" (getDir #userScripts)
format "userStartup = %\n" (getDir #userStartupScripts)
format "userMacros  = %\n" (getDir #userMacros)
```

4. Listener にパスが出力されます。

![MAXScript Listener — userScripts / userStartup / userMacros paths](04_max_listener_paths.png)

> 上記は 3ds Max でスクリプトを実行した結果です。  
> `userScripts` / `userStartup` / `userMacros` のパスが `OK` と共に出れば成功です。  
> パス中のアカウント名は PC ごとに異なり、例では `username` と表記しています。

テキストではおおよそ次の形です:

```text
userScripts = C:\Users\username\AppData\Local\Autodesk\3dsMax\2025 - 64bit\ENU\scripts\
userStartup = C:\Users\username\AppData\Local\Autodesk\3dsMax\2025 - 64bit\ENU\scripts\startup\
userMacros  = C:\Users\username\AppData\Local\Autodesk\3dsMax\2025 - 64bit\ENU\usermacros\
```

5. 出力された **実際のパス**をメモし、**Max をすべて終了**

> ガイドに書いたパスをそのまま使わず、Listener の結果だけを使ってください。

---

## 2. ツールフォルダをコピー（mzp → scripts）

`.mzp` 内の **`os_bipedPlus_package` フォルダ**を 3ds Max の **scripts フォルダ（`userScripts`）** にコピーします。

![Copy os_bipedPlus_package from .mzp extract to userScripts folder](06_copy_package_to_scripts.png)

> 左: `.mzp` 解凍フォルダ（`.mzp inside`）  
> 右: 3ds Max `scripts` フォルダ（`userScripts`）  
> 矢印のように `os_bipedPlus_package` のみコピーします。（`install.ms`、`installer.py` は不要）

| 元 | 先 |
|------|------|
| `(解凍)\os_bipedPlus_package\` | `(userScripts)\os_bipedPlus_package\` |

既に `os_bipedPlus_package` がある場合はバックアップまたは削除してからコピーします。

完了後の確認:

```text
(userScripts)\os_bipedPlus_package\os_bipedPlus\
(userScripts)\os_bipedPlus_package\_register_menu.ms
(userScripts)\os_bipedPlus_package\_register_path.ms
```

---

## 3. startup にメニュー/パススクリプトを登録

### 3-1. `scripts\startup` フォルダへ移動

Listener で確認した **userScripts** フォルダ（`...\ENU\scripts`）の中の **`startup`** を開きます。

![Open startup folder inside scripts](07_open_startup_folder.png)

> `startup` フォルダが無ければ **新規作成**してください。  
> （名前は正確に: `startup`）

このパスが Listener の `userStartup` です。

### 3-2. ファイルをコピーしてリネーム

`os_bipedPlus_package` 内の次のファイルを `startup` にコピーし、**必ずリネーム**します。

| 元（package 内） | 先の名前（startup 内） | 備考 |
|------|------|------|
| `_register_path.ms` | `os_bipedPlus_path.ms` | 推奨（全バージョン） |
| `_register_menu.ms` | `os_bipedPlus_menu.ms` | **Max 2025 以上** / 2024 以下は省略可 |

> **Max 2024 以下**: `_register_menu.ms` / `os_bipedPlus_menu.ms` がパッケージに無い、またはメニュー方式が異なる場合があります。  
> 無ければ **メニュー `.ms` は省略**（`path.ms` のみ登録）。

![Copy _register_path/menu.ms to startup and rename to os_bipedPlus_path/menu.ms](08_rename_register_to_menu_path.png)

> 左: package 内の `_register_path.ms`、`_register_menu.ms`  
> 右: `startup` 内の `os_bipedPlus_path.ms`、`os_bipedPlus_menu.ms`  
> リネームしないと Max 起動時に登録されません。  
> （2024 以下でメニュー `.ms` が無い場合は `path.ms` のみで可）

同名ファイルが既にある場合は削除/バックアップしてから上書きしてください。  
ここで権限エラーが出る場合 → 先に **[FAQ.1 — インストール時の Permission denied / scripts 書き込み権限](../faq01-install-permission/)** で `scripts` 権限を修正してください。

---

## 4. Max 再起動 → Macro で実行

手動インストールの確認は **メニューより先に Macro** です。  
（`.mzp` 内に `.mcr` は無いため、Listener/エディタで Macro を直接作成します。）

### 4-1. Macro 作成スクリプトを実行

1. Max を再起動
2. Scripting Editor または Listener（`F11`）に次のスクリプトを入れて実行します。

![Paste Macro creation script in Scripting Editor and run](09_macro_script_editor.png)

> Scripting Editor に Macro 作成スクリプトを貼り付けて実行します。

```maxscript
(
    local toolDir = (getDir #userScripts) + "os_bipedPlus_package\\"
    local toolDirFwd = substituteString toolDir "\\" "/"
    local mcrPath = (getDir #userMacros) + "os_bipedPlus.mcr"
    local py = "import sys; tool_dir = r'" + toolDirFwd + "'; "
    py += "sys.path.insert(0, tool_dir) if tool_dir not in sys.path else None; "
    py += "from os_bipedPlus.main import openWindow; openWindow()"
    local mcr = "macroScript Osbipedplus category:\"OtakuSolutions_Tools\" tooltip:\"os_bipedPlus\" buttonText:\"os_biped_plus\"\n"
    mcr += "(\n    python.Execute \"" + py + "\"\n)\n"
    local f = createFile mcrPath
    format "%" mcr to:f
    close f
    fileIn mcrPath
    format "Macro created: %\n" mcrPath
)
```

3. Listener に `Macro created: ...os_bipedPlus.mcr` と `OK` が出れば成功です。

![Listener — Macro created: os_bipedPlus.mcr OK](10_macro_created_listener.png)

> `usermacros\os_bipedPlus.mcr` のパスと `OK` が見えれば Macro 登録完了です。  
> パス中のアカウント名は PC ごとに異なり、例では `Username` と表示される場合があります。

### 4-2. Customize でツールバーに Macro を登録

1. 上部メニュー **Customize → Customize User Interface...**

![Customize menu — Customize User Interface](11_customize_menu.png)

2. **Toolbars** タブ → Category で **`OtakuSolutions_Tools`** を選択
3. Action 一覧から **`os_bipedPlus`** を探します。

![Customize UI — OtakuSolutions_Tools category, os_bipedPlus action](12_cui_otakusolutions_category.png)

4. `os_bipedPlus` を **ツールバーへドラッグ**してボタンを作成します。

![Drag os_bipedPlus action onto main toolbar](13_drag_macro_to_toolbar.png)

> Action の `os_bipedPlus` をメインツールバーへドラッグするとボタンができます。  
> ホバーで tooltip `os_bipedPlus` が表示されます。

5. ツールバーボタンを押し、**ウィンドウが開くか**確認してください。

> メニュー（OS Tools）より **Macro ボタンでの起動確認が優先**です。

---

## 5. （任意）メニュー確認 — Max 2025 以上

Macro で起動できればインストールは完了です。  
メニューも使う場合のみ確認してください。

1. メニュー（通常 OS Tools）に `os_bipedPlus` があるか確認
2. 無ければ Listener で:

```maxscript
fileIn ((getDir #userStartupScripts) + "os_bipedPlus_menu.ms")
```

> **Max 2024 以下**: メニュー `.ms` を登録していなければこの節は **省略**可。

---

## 6. 最終確認 — 正常起動

ツールバーの `os_bipedPlus` ボタンで下記のように **BipedPlus** ウィンドウが開けば手動インストール完了です。

![BipedPlus window open — Status Ready, License ONLINE](14_bipedplus_opened_ready.png)

> ウィンドウが開き `Status: Ready`、`License <ONLINE>` などが見えれば正常です。  
> （ライセンス/UI の表示はバージョン・環境で多少異なる場合があります。）

---

## チェックリスト

- [ ] .mzp 解凍確認（os_bipedPlus_package が見える）
- [ ] Max Listener でパス確認
- [ ] `os_bipedPlus_package` を scripts（`userScripts`）にコピー
- [ ] `scripts\startup` フォルダ確認（無ければ作成）
- [ ] `_register_path.ms` → `os_bipedPlus_path.ms` 登録
- [ ] (2025+) `_register_menu.ms` → `os_bipedPlus_menu.ms` 登録 / **2024 以下はメニュー ms 省略可**
- [ ] Max 再起動後 Macro 作成スクリプト実行（`os_bipedPlus.mcr`）
- [ ] Customize でツールバーボタン配置後 Macro 起動確認
- [ ] （任意、2025+）メニュー確認 / 必要なら `fileIn` menu.ms
- [ ] ツールバーボタンで BipedPlus ウィンドウが正常に開く

---

## 案内 — 暫定対応 / リモートサポート

この手動インストールガイドは **自動インストール失敗時の暫定対応**です。

根本原因の診断と恒久対策のため **OtakuSolutions** までご連絡ください。  
リモートサポートで確認・対応いたします。

連絡: [https://otakusolutions.com/en/contact](https://otakusolutions.com/en/contact)

OtakuSolutions