Managed DirectXをClickOnceで


XNAのベータ版まであと数日なので、予習のためにと思ってDirectX9 SDKをダウンロードしてみた。基本はGDIと同じ感じでOnPaint()でDeviceContext的なものに描画するようだ。しかし3Dの基本が分かってないのでクラスの意味が分からない。Vertex, Mesh, Matrix, Sprite, Framework, Projectionなどなど。本買わないとダメそうだ。


Managed DirectXで作って、Click Onceで公開できるかと思ってやってみたが、結果的にダメ。まずアプリをクリックすると、
「Unable to install or run the application. The application requires that assembly Microsoft.DirectX.Direct3D Version 1.0.2902.0 be installed in the Global Assembly Cache(GAC) first.」というエラーになる。
DirectXの再配布用のパッケージをインストール(再起動が必要!!)してみると、今度はアプリ側でDirectXの初期化に失敗する様子。「Error in the application. -2005530516 (D3DERR_INVALIDCALL) at Microsoft.DirectX.Direct3D.Device..ctor(...」という内容。
多分、サンドボックスのセキュリティー制限に引っかかってるんじゃないだろうか。ということはManaged DirectXでもClick Onceでの公開は無理っぽい。XNAも公式の掲示板を読んでみるとClick Onceに積極的な対応はしてないようなので、基本はEXEでの公開になるのかなあ。
でも、ローカルでは実行できたからセキュリティーじゃないのかなあ。眠いから明日。