2019年11月03日

起動に失敗する主な理由

いまだに PMXエディタの起動に苦しんでいる姿が見受けられるので一応まとめておきました。
読むの面倒な方は "■ 初心者用セットアップ手順" まで一気にどうぞ。


原因としては、だいたい以下の 3点に絞られます。

A. ブロック解除
DLしたZIPファイルをエクスプローラで展開する前に、ファイルのプロパティから "ブロック解除" をおこなっておく必要があります。

起動時に大量のエラーが表示される現象はこのケースが該当します。ブロック解除以外に下記のような解決方法もありますが、

・ゾーンIDに対応していない古い展開(解凍) ツールを使用する
・展開時に自動的にブロック解除をおこなってくれるツールを使用する (デフォルトだとOFFになっていることが多い)

なんにしても OS標準のエクスプローラだけでは解決できない事案なので、ご注意ください。またアーカイブ(ZIP) から直接展開するタイプのプラグインや他ツールでも、同様の問題が発生する場合があります。

B. ランタイム
実行ファイル(EXE)を起動しても反応がないケースや 「〜が不足している」 といった旨のエラーメッセージが表示されるような場合が主に該当します。

readme.txt の冒頭に参考リンクが書いてあるので、各環境に合わせてセットアップしてください。

追加が必要な必須ランタイムを大別すると以下の 3種類に分類されます。
・DirectX
・.NETフレームワーク
・VisualC++ (VC++)

[DirectX]
特に問題になりやすいのが DirectX のランタイムです。よくある罠としては 「バージョン診断で DirectX 12 (現行の最新版) と書いてあったから大丈夫」 というものがあります。

PMXエディタや MMDなどで使用している DirectXのバージョンは DirectX 9 (正確には 9.0c) なんですが、残念ながら DirectXは各バージョン間に互換性がありません。

DX12に対応済みといっても、すなわち DX9もOK ではないんですね、困ったことに。
経験上、昨今の PC環境では DX9は新たにセットアップが必要になるケースがほとんどです。

※問題になった事例はあまり聞いたことがありませんが、グラフィックドライバも DirectXランタイムとの相性が出るかもしれません。一応注意しておきましょう (ドライバが問題になるのは起動時よりも実行時の方が多い)

[.NET]
.NETフレームワークは現在では OS標準の基本機能として組み込まれていますが、いくつかバージョンの違いがあります。

PMXエディタの起動だけなら .NET4世代が入っていれば十分です (64bit版の使用は .NET4.6以降が推奨)。Win10なら標準状態で .NET4.6が構築されているので、特に何かをする必要はありません。

ただし追加する各プラグインによっては .NET3.5以下が必要になるかもしれません。その場合 Win10では .NET3.5以下は "別途インストール" ではなく、コントロールパネルの 「プログラムと機能」 → "機能の有効化" から設定する必要があります。

[VC++]
VC++ランタイムは x64(vcredist_x64.exe) が64bit版用(PmxEditor_x64.exe)、x86(vcredist_x86.exe) が32bit版用(PmxEditor.exe) に対応しています。

VC++2013は DL時に同様のファイルを選択する必要があります。2010と同名ファイルのようなので間違って上書きしないようご注意を (アイコンが異なります)

その他全体的な注意点として、
・ランタイムのインストールが特定のブラウザ経由の実行ではうまく動作しない
・インストールが正常に終了しても実際は正しく構築されていない?
といったことなども、(稀に) 発生したりするかもしれません。

C. セキュリティソフト
一部のセキュリティソフトが誤った判定をしてしまうケースがあるようです。

電子署名がないとか、インストーラーを通してないだとか、プラグイン的な外部プログラムの実行機能を有しているだとか... いくつか理由は想像できますが、なんにしても "本当に危険なアプリケーションなのか正しく調査していない" というのは間違いないので、そういう判定のいい加減なセキュリティソフトは、自分の環境ではアンインストール対象にしてしまうでしょうね。

●マルウェアプラグイン
PMXエディタのプラグイン機構は OSの実行機能をそのまま流用しているだけなので、実際は個別のアプリケーションを動作させているのと変わりありません。

要するに マルウェア(ウイルス) を仕込むことや踏み台にすること自体は "さほど難しいことではない" ということです。

簡単な対応として PMXエディタ及び同梱プラグインは "ネットワークへの接続を一切おこなわない" という方針のもとで作成されています。ネットが当たりまえの昨今では既に標準機能化している 自動バージョンチェック や 更新機能 がないことなども、その方針によるものです。

もし個別のファイアウォールなどに何らかの通信が引っかかるような場合は、追加したプラグインによって引き起こされた可能性が高いです。

通信内容があらかじめ明記してあればよいですが、そうではない場合は何かしら情報が盗み出されているかもしれません (明記していても信用に足るかは別の話)

当然ながらネットワーク不使用だけではオフライン環境に悪さをするタイプは防げないので、結局のところは利用者が責任を持って 利用するorしない の選択をするしかありません。このあたりも 「タダより高いものはない」 を実感/実践するハメになる可能性があるので、(出所の怪しいブツの利用など) 気を付けて頂きたく思います。


■ 初心者用セットアップ手順

1. ダウンロードページから ZIPファイル (PmxEditor_####.zip) を DL(ダウンロード/保存)

2. エクスプローラから DLしたファイルのプロパティ(右クリックメニュー) を開き、ブロック解除
0116.jpg

3. ZIPファイルを展開

4. 実行ファイル(*.exe) をダブルクリックで起動してみる
※正常に起動 → MMD標準モデル(*.pmd) などを開いて(ファイルドロップでOK) 問題なければ完了

5. 反応がない場合や 「〜が足りない(云々)」 などのメッセージが出るような場合はランタイムが不足

6. readme.txt の冒頭部分に必須ランタイムへのリンクが書いてあるので、ブラウザなどから "DLして" 各種インストール (↓の6.1以降にページへのリンクが貼ってあります)
注意! 画像内のランタイムのURLは現在は繋がりません (下記リンク先を要参照)
0117.jpg

6.1. Win8まで (XPや7含む) の方は .NET4 (世代の最新版のみでOK) をインストール
Win10の方はそのまま次へ

6.2. VC++ランタイムを 2010:x86 → 2010:x64 → 2013:x86 → 2013:x64 の順番に入れる
※vcredist_x86.exe と vcredist_x64.exe をそれぞれDLして実行。2010と2013で同名のファイルになっているので上書きなどに注意すること(別フォルダへ分けて保存推奨)。当然ですが OSが32bit版の方は x64のインストールはできません
Microsoft Visual C++ 2010 Service Pack 1 再頒布可能パッケージ
Visual Studio 2013 の Visual C++ 再頒布可能パッケージ

6.3. DirectXランタイムのインストール
DirectX End-User Runtime Web Installer
または (通常なら↑でよいです)
DirectX End-User Runtimes (June 2010)
(うまくいかない場合は一旦グラフィックドライバを更新して再度試してみる、など)

7. これで起動確認して (4.※) 問題なければ OK

正常に起動しない場合は、
・ランタイムを DLするブラウザを変えてみる
・ランタイムを調査 (SP版がないかとか、他のインストールパッケージがないかとか)
・セキュリティソフトで実行を防がれていないか調査
などを確認してみましょう。

プラグインは本体の正常起動を確認した後に配置してください。

よくある失敗として、PMXエディタと PMDエディタ用に分けられたプラグインをそのまま全部組み込んでしまい支障が出る、といった事例があるようです。同梱の説明書はよく読みましょう。

.NET3.5以下が必要なプラグインの場合、Win10ではコントロールパネルからの有効化を選ぶ必要があります。またプラグイン(*.dll) も本体と同様に ZIP(またはDLL) のブロック解除が必要です。忘れやすい項目なので注意しておきましょう。


以上


posted by - at 12:16| PMX | 更新情報をチェックする