游戏在Win7上工作但不是Vista吗?

时间:2012-07-30 14:42:31

标签: c# windows-7 xna windows-vista inno-setup

我一直在开发游戏,每次更新后我都会向我的朋友发送一个setup.exe来使用我用Inno Setup制作的。到目前为止,它一直很好用。他能够安装游戏,但当他运行.exe时,他得到“游戏已停止工作”。虽然安装后它对我来说很好。我能想到的唯一可能导致这种情况的是我使用存储容器添加了保存和加载。我选择保存位置:

 asyncResult = StorageDevice.BeginShowSelector(playerIndex, null, null);

 storageDevice = StorageDevice.EndShowSelector(asyncResult);

 asyncResult = storageDevice.BeginOpenContainer("Game1StorageContainer", null, null);

这将文件放入:Desktop \ Libraries \ Documents \ SavedGames \ Game \ Game1StorageContainer \ Player1 \

这是一个模糊的问题,但也许有人有想法?

:: UPDATE ::

好的,我让我的朋友重新安装XNA Runtime,同样的问题。

即使显示隐藏文件夹,他的minidump文件夹中也没有文件。

但是我在这里有一个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();,我猜是因为我在框架中包含了一些新的库。所以我不知道该怎么做,我之前的游戏版本适合他。

有人知道我能做什么吗?

由于

1 个答案:

答案 0 :(得分:1)

  1. 他是否安装了XNA Runtime
  2. 检查Windows事件日志,它应该有详细的崩溃条目
  3. 当应用程序崩溃时,会创建minidump。您应该能够将其加载到visual studio中并查看它崩溃的位置。