Click Once の検証
Na-7 さんが Click Once の検証を行っています。
Click Once は ひにけにXNA さんの記事(その1、その2)にあるとおり XNA で製作したゲームをPCにインストールするときに必要なランタイムを一緒にインストールしてくれますが、途中で中止すると再度インストールすると異常終了してインストールできなくなるようです。
ゲームを動かすには以下のような方法をとっています。
‘プログラムの追加と削除’からXNA Framework3.0とゲームを自分で削除し、セットアップを実行すると、セットアップは正常に動作し、インストールが完了しました。
これで直ったかな、と思いつつゲームを実行すると…何故か動きません。興味本位でキャンセルテストなんかやらなきゃ良かった…。
試しに、ゲームプログラム開発元の\bin\x86\ReleaseフォルダをサブPCにコピーしてexeファイルを実行すると、正常に動作しました。ランタイムは問題無くインストールされたようですね。
スタートメニューに登録されたゲームの呼び出し元(先?)を確認すると、最初の発行時に作成した「~.application」が呼び出されてました。つまり「ClickOnceは、Releaseフォルダの~.exeファイルとは別のものを配布する」ということです。
Na-7さんの結論は以下のようになっています。
結局、ClickOnceで配布したゲームは未だに動きませんが、これは「セットアップの中断処理がたまたま誤動作したため」と思い込むことにしますw
まぁ、セットアップ中にキャンセルするケースなど稀でしょうから、その点はあまり心配していません。
しかし1つ覚えておきたいのは「何かトラブって一度ゲームが起動しなくなると、削除&再インストールでも動かないケースがある」ということです。
もしユーザからこのような報告を受けた場合は、下手にレジストリや配置マニフェスト(詳細はこちら)の修正を図るよりも、exeファイルを個別に配信した方が賢明と思います。
必要なランタイムをインストールしてくれる Click Once ですが、このような欠点もあるので注意が必要です。
情報元:ゲーム製作の舞台裏




