私はゲームを開発しており、更新のたびに Inno Setup で作成した setup.exe を友人に送信しています。今までずっとうまくいっていた。ゲームをインストールすることはできますが、.exe を実行すると、「ゲームは動作を停止しました」というメッセージが表示されます。インストール後は問題なく動作しますが。これが原因であると考えられる唯一のことは、ストレージコンテナーを使用して保存と読み込みを追加したことです。保存する場所を選択します。
asyncResult = StorageDevice.BeginShowSelector(playerIndex, null, null);
storageDevice = StorageDevice.EndShowSelector(asyncResult);
asyncResult = storageDevice.BeginOpenContainer("Game1StorageContainer", null, null);
これにより、ファイルが次の場所に配置されます: Desktop\Libraries\Documents\SavedGames\Game\Game1StorageContainer\Player1\
これは漠然とした質問ですが、おそらく誰かが考えを持っていますか?
:: アップデート ::
わかりました、友人に XNA ランタイムを再インストールしてもらいましたが、同じ問題です。
隠しフォルダが表示されていても、ミニダンプ フォルダにはファイルがありません。
ただし、ここに Windows エラー ログがあります。
Application: My Game.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info:Microsoft.Xna.Framework.GamerServices.GamerServicesNotAvailableException
Stack:
at Microsoft.Xna.Framework.GamerServices.KernelMethods+ProxyProcess..ctor(Microsoft.Xna.Framework.GamerServices.UserPacketBuffer)
at Microsoft.Xna.Framework.GamerServices.KernelMethods.Initialize(Microsoft.Xna.Framework.GamerServices.UserPacketBuffer)
at Microsoft.Xna.Framework.GamerServices.GamerServicesDispatcher.Initialize(System.IServiceProvider)
at Microsoft.Xna.Framework.GamerServices.GamerServicesComponent.Initialize()
at Microsoft.Xna.Framework.Game.Initialize()
at My_Game.Game1.Initialize()
at Microsoft.Xna.Framework.Game.RunGame(Boolean)
at Microsoft.Xna.Framework.Game.Run()
at My_Game.Program.Main(System.String[])
そのため、以下を含む Game1.Initialize(); でクラッシュしました。
protected override void Initialize()
{
this.graphics.PreferredBackBufferWidth = 800;
this.graphics.PreferredBackBufferHeight = 600;
this.graphics.IsFullScreen = false;
this.graphics.ApplyChanges();
base.Initialize();
}
確かにそれは base.Initialize(); であり、フレームワークからいくつかの新しいライブラリを含めたためだと推測しています。どうすればいいのかわかりません。私のゲームの以前のバージョンは、彼にとっては問題なく動作します。
誰かが私に何ができるか考えていますか?
ありがとう