我一直在開發一款遊戲,每次更新之後,我都會向我的朋友發送一個setup.exe以使用我用Inno Setup進行的設置。直到現在,它總是運行良好。他能夠安裝遊戲,但是當他運行.exe時,他會得到「遊戲停止工作」。雖然它安裝後可以正常工作。我能想到的唯一的原因可能是由於我使用存儲容器添加了保存和加載。我選擇要保存的位置在:遊戲在Win7上工作,但不是Vista?
asyncResult = StorageDevice.BeginShowSelector(playerIndex, null, null);
storageDevice = StorageDevice.EndShowSelector(asyncResult);
asyncResult = storageDevice.BeginOpenContainer("Game1StorageContainer", null, null);
這地方在文件中:桌面\圖書館\文檔\ SavedGames \遊戲\ 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 ();我猜是因爲我已經包含了框架中的一些新庫。所以我不知道該怎麼做,我以前的版本對他來說效果不錯。
有人知道我能做什麼嗎?
感謝
在全局異常處理程序中顯示更多詳細信息 - 特別是消息,類型和堆棧跟蹤。或者(更好,但需要朋友更多的工作)捕獲異常處理轉儲。有關獲取和使用轉儲的更多信息,請參見生產調試的最新C9系列:http://channel9.msdn.com/Series/-NET-Debugging-Stater-Kit-for-the-Production-Environment/Diagnosing-Application-Issues -01 – Richard 2012-07-30 14:49:02
所以這不是InnoSetup相關我猜... – TLama 2012-07-30 14:54:59
記錄和轉儲,然後記錄更多的東西,試着抓住最後的一切,然後告訴你的朋友發送任何出來給你。或者,在他的鑽機上進行調試。 – Alex 2012-07-30 15:25:07