Windows8でEffekseer本体を動かすにはDirectXのエンドユーザランタイムが必要なのね!
Windows8 の環境でEffekseerを動かそうとすると
描画画面の生成に失敗しました。DirectXのバージョンの問題、メモリの不足等が考えられます。というエラーメッセージが出てEffekseerが起動しなかった。
ちなみに同じモジュールは Windows7 で動いていた。
なんでだ?
erroro.logが出ているから見てみよう。
System.TypeInitializationException: 'Effekseer.EffekseerNativePINVOKE' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'SWIGExceptionHelper' のタイプ初期化子が例外をスローしました。 ---> System.DllNotFoundException: DLL 'Viewer' を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E) 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper.SWIGRegisterExceptionCallbacks_EffekseerNative(ExceptionDelegate applicationDelegate, ExceptionDelegate arithmeticDelegate, ExceptionDelegate divideByZeroDelegate, ExceptionDelegate indexOutOfRangeDelegate, ExceptionDelegate invalidCastDelegate, ExceptionDelegate invalidOperationDelegate, ExceptionDelegate ioDelegate, ExceptionDelegate nullReferenceDelegate, ExceptionDelegate outOfMemoryDelegate, ExceptionDelegate overflowDelegate, ExceptionDelegate systemExceptionDelegate) 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper..cctor() --- 内部例外スタック トレースの終わり --- 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper..ctor() 場所 Effekseer.EffekseerNativePINVOKE..cctor() --- 内部例外スタック トレースの終わり --- 場所 Effekseer.GUI.DockViewer.DockViewer_Load(Object sender, EventArgs e) 場所 System.Windows.Forms.Form.OnLoad(EventArgs e) 場所 System.Windows.Forms.Form.OnCreateControl() 場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 場所 System.Windows.Forms.Control.CreateControl() 場所 System.Windows.Forms.Control.SetVisibleCore(Boolean value) 場所 System.Windows.Forms.Form.SetVisibleCore(Boolean value) 場所 System.Windows.Forms.Control.set_Visible(Boolean value) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.SetVisible() 場所 WeifenLuo.WinFormsUI.Docking.DockPane.set_ActiveContent(IDockContent value) 場所 WeifenLuo.WinFormsUI.Docking.DockPane.ValidateActiveContent() 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.SetDockState(Boolean isHidden, DockState visibleState, DockPane oldPane) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.set_DockState(DockState value) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.Show(DockPanel dockPanel, DockState dockState) 場所 WeifenLuo.WinFormsUI.Docking.DockContent.Show(DockPanel dockPanel, DockState dockState) 場所 Effekseer.GUI.GUIManager.AssignDockWindowIntoDefaultPosition() 場所 Effekseer.GUI.GUIManager.AssignDefaultPosition() 場所 Effekseer.GUI.GUIManager.LoadConfig() 場所 Effekseer.GUI.GUIManager.Initialize() 場所 Effekseer.Program.Exec(Boolean gui, String input, String output, String export, Single magnification) 場所 Effekseer.Program.Main(String[] args)
ん?
DLL 'Viewer' を読み込めません:指定されたモジュールが見つかりません。
って、同じフォルダにViewer.dllがあるんですが・・・
ここから先が分からず、別の作業をしていたら
Effekseerの制作者さんが
DirectXのEndUserRuntimeがはいってないからじゃないかと思います。
と教えてくれた!
さっそくググってみると
「Windows8にゲームなどに必要なDirectX9.0cをインストールしてみる」
という記事を発見。
サポートされるオペレーティング システムは
Windows 7, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Vista, Windows XP Service Pack 2, Windows XP Service Pack 3
となっているのでWindows8は入っていないが、使えるらしい。
「DirectX エンド ユーザー ランタイム Web インストーラ」
2016/06/19追記
上記のURLでつながらない場合、下記のリンクだとダウンロードできるかも
DirectX 9.0c End-User Runtime
2016/08/07追記
2016/06/19に追記したURLだとWindows8ではインストールできても
Windows 8.1やWindows 10だと、インストール段階で弾かれるようです。
こちらのリンクにアクセスしてください。
https://www.microsoft.com/ja-jp/download/details.aspx?id=35&
ダウンロードできたら「dxwebsetup.exe」を起動すれば
必要な環境はインストールされるみたい。
そして無事にEffekseerがWindows8でも起動できた!
Effekseerの制作者さん、情報提供ありがとうございます!
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: Windows8でEffekseer本体を動かすにはDirectXのエンドユーザランタイムが必要なのね!:
コメント
このブログの新着コメントをRSSリーダに登録する為のxml