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

创建文件时C#XNA发布问题,c#,file,xna,clickonce,publish,C#,File,Xna,Clickonce,Publish,我已经发布了我的游戏供我和我的朋友测试,我已经开始在代码中创建一个文本文件用作错误日志,但是我遇到了一些问题,我在互联网上找不到任何帮助我的东西 我需要它,这样用户可以获得安装文件,在自定义位置安装,通过快捷方式运行,这样我就可以创建用户安装的文件,用于保存游戏、错误日志等 发生的情况是,我创建了一个clickonce应用程序,但在使用setup.exe后,快捷方式不可用,它只是说“程序已停止响应”,因为它试图创建一个文件,而我无法以管理员身份运行它。我只能将管理员设置为setup.exe,游戏

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

我需要它,这样用户可以获得安装文件,在自定义位置安装,通过快捷方式运行,这样我就可以创建用户安装的文件,用于保存游戏、错误日志等

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

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

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



但它不允许我发布它,因为它是一个clickonce应用程序,如果我在安全设置中关闭它,它只会在我尝试发布它时重新打开它。有人能告诉我我的选择吗?我只是想要一个普通的游戏安装,就像其他游戏一样。它让我发疯,我什么都找不到。

这不是对这个问题的直接回答,但它可能是你真正需要的

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

ApplicationDeployment.CurrentDeployment.DataDirectory
请注意,在更新应用程序时,此文件夹中的所有内容都将被重写,因此您应该重新创建所有日志文件以及您拥有的这些文件

编辑 事实上,请注意——本文的说法并非如此:您仍然需要安全权限才能读取和写入此文件夹

但是,它还指出,这正是用于此目的:以部分信任的方式读取和写入特定于应用程序的数据,例如使用未提升的ClickOnce应用程序:

隔离存储 独立存储提供了一个API,用于通过 使用一个简单的API。存储文件的实际位置是隐藏的 来自开发人员和用户

隔离存储适用于所有版本的.NET Framework。孤立的 存储也适用于部分受信任的应用程序,而无需 获取其他许可授予。如果需要,您应该使用隔离存储 应用程序必须在部分信任中运行,但必须维护 特定于应用程序的数据

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

ApplicationDeployment.CurrentDeployment.DataDirectory