我已经开始成为一名好公民,按照这里的这个问题:

域兼容性:共享数据应该写在哪里?

我的用户信息现在已写入环境变量:

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

然后在那里附加一个目录。如果该目录不存在,则程序会自动创建它,然后所有跨用户信息(日志文件、捕获的数据、设置选项等)都存储在该文件中。我对该文件的理解是,无论机器的设置如何,它都应该是完全用户可写的。

在 Windows XP 上,当附加到域时,没有问题;该文件被检测到并正确写入。在 Windows 7 上,该程序无法运行。用户的目录现在是 C:\ProgramData\MyFolder,并且该文件夹被创建为只读(天才!为什么不将其设置为只读,毕竟没有人愿意写入 CommonApplicationData 位置!)。

我应该使用什么目录?该“特殊文件夹”是专门用于我需要的任务的文件夹,但该文件夹似乎用户不可写入。

编辑回应第一个回复:我正在使用 WiX 安装程序,并且完全可以将任何文件添加到安装程序中。我不知道如何去做,所以请用 WiX 安装程序魔咒来回答。

有帮助吗?

解决方案

根据 Vista 兼容性指南, ,您的应用程序应该在安装程序中的 CommonApplicationsData 下为其内容创建一个文件夹(我是否提到它还必须有一个安装程序?),并为该文件夹分配适当的权限。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top