2

我使用简单的文件 IO 在 C# XNA 中创建了一个游戏来处理保存游戏数据,但是当我打包我的游戏并让其他人运行它时,这会产生问题。经过几次测试,我发现游戏可以在管理员中运行,但是如果不这样做会抛出 UnauhorizedAccessExceptions(并且在没有被捕获时只是挂起无响应)。这对我来说确实很有意义,因为我记得在我尝试使用文件 IO 时看到了这个异常。

我可以简单地捕获异常并且什么都不做,让游戏本身响应......但保存功能不起作用,除非以管理员权限运行。

所以我的问题是,有没有一个我可以保存到的地方不是用户侵入,但没有管理员访问权限就可以访问?这甚至是可访问位置的问题还是更多?有什么体面的方法可以解决这个问题吗?如果我需要提供代码或任何更多细节,请告诉我。

4

2 回答 2

5

用户配置文件中的某处,例如 AppData 或 My Documents。

获取 AppData 的路径如下:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

Environment.GetFolderPath 的文档在这里:

http://msdn.microsoft.com/en-gb/library/system.environment.getfolderpath.aspx

于 2013-03-25T13:52:58.217 回答
1

您要在哪里保存文件?

根据您要保存的内容,我会说保存到ApplicationData是一个不错的选择。

于 2013-03-25T13:55:11.787 回答