C#XNA在创建文件时发布问题

时间:2012-04-23 13:38:26

标签: c# file xna clickonce publish

我一直在为我和我的朋友发布我的游戏进行测试,我已经开始在代码中创建一个文本文件用作错误日志但是我遇到了一些问题我找不到任何东西在互联网上帮助我。

我想要它,以便用户可以获取安装文件,将其安装在自定义位置,通过快捷方式运行,因此我可以创建用户安装它以保存游戏的文件,错误日志等。< / p>

我发了一个clickonce应用程序,但是在使用setup.exe后,快捷方式不可用,它只是说“程序已经停止响应”,因为它正在尝试创建一个文件而我无法运行它作为管理员。我只能将管理员设置为setup.exe,游戏的快捷方式或任何clickonce应用程序都没有选项。我不知道如何让用户选择安装目录。

我搜索了谷歌和msdn库,但我找不到任何东西。它说如果我不使用clickonce部署我需要另一个安装包但我找不到任何东西。我也尝试将app.manifest修改为:

 <requestedExecutionLevel level="asInvoker" uiAccess="false" />

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

但它不允许我发布它,因为它是一个clickonce应用程序,如果我在安全性中关闭它,它只是在我尝试发布它时重新打开它。有人可以告诉我我的选择,我只是想像其他游戏一样正常的游戏安装它让我疯狂我找不到任何东西。

1 个答案:

答案 0 :(得分:1)

这不是问题的直接答案,但可能是你真正需要的。

您应该能够在ClickOnce应用程序部署文件夹中创建和使用文件,而不受任何安全限制(无需管理员权限),您可以使用

访问
ApplicationDeployment.CurrentDeployment.DataDirectory

请注意,在更新应用程序时,将重写此文件夹中的所有内容,因此您应该重新创建任何日志文件,而不是。

修改

实际上,请注意 - 这篇msdn文章另有说法:您仍然需要安全权限才能读取和写入此文件夹。

但是,它还说Isolated Storage完全用于此目的:在部分信任中读取和编写特定于应用程序的数据,例如使用未提升的ClickOnce应用程序:

隔离存储

  

Isolated Storage提供了一个用于创建和访问文件的API   使用简单的API。隐藏存储文件的实际位置   来自开发人员和用户。

     

Isolated Storage适用于所有版本的.NET Framework。隔离的   存储也可以在部分受信任的应用程序中运行而无需   获得额外的许可。如果,您应该使用独立存储   您的应用程序必须以部分信任方式运行,但必须维护   特定于应用程序的数据。

编辑2

但是,在使用独立存储之前,请尝试使用应用程序部署目录 - 它对我来说很好用!