ClickOnceは現状では使えない

PCに詳しくない人にも3Dゲームが配布できるようにClickOnceを調べていた。結論を言うと現状ではこの方式での配布は難しそう。


まず、DirectXXNAのランタイムが配布されないと思っていたが、これはプロジェクトのプロパティーをいじれば可能だった。
「GACコンポーネントClickOnceで配布するには?[VS 2005のみ、C#VB]」
http://www.atmarkit.co.jp/fdotnet/dotnettips/472clickonegac/clickonegac.html
↑を参考に、ランタイムの発行の状況を「追加(自動)」から「追加」に変更すればプログラムと一緒にランタイムもダウンロードされた。
DirectXの場合はうまく動いた。
XNAの場合は「問題が発生したため、(プログラム名)を終了します。」と出てなぜか動かなかった。


次に、.fxなどのデータファイルをプログラムと一緒に配布したいと思うが、これが、
「方法 : ClickOnce アプリケーションにデータ ファイルを含める」
http://www.atmarkit.co.jp/fdotnet/dotnettips/472clickonegac/clickonegac.html
を参考にやってみたのだがあまりに手順が多すぎてやってられないし、手順通りやったつもりなのにFileNotFoundExceptionが出て動かなかった。


以上の2点からClickOnceXNAでのプログラム配布方法としては不適のようだ。
一応、テストで使ったClickOnceを公開しておく。
DirectX(DeviceTypeのボタンを押すと三角形がくるくる回る)
XNA(黒い三角形がただ表示される)

明日からはXNA Spotというサイトに簡単なサンプルが置いてあったのでそれで勉強しよう。
http://xnaspot.com



(2006/09/08 00:29)
データファイルもVS上で簡単に設定できた。ファイルのプロパティで「出力ディレクトリーにコピー」を設定しておけば、発行のアプリケーションファイルで表示されるようになるので、発効の状況を「追加」にすればよい。
FileNotFoundExceptionはDirectX SDKをインストールすれば出なくなるかもしれない。506MBもインストールしてられないのでXNAのランタイム待ちかな。
あと、XNAが部分的に信頼するセキュリティ設定に対応してればいいんだけど、対応してない。あまり気にする人もいないかな。

(2006/09/13)
ClickOnceはAdministratorのIDが公開されてしまうので、公開停止しました。