2

根据这里的这个问题,我已经开始成为一个好公民:

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

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

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

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

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

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

针对第一个响应进行编辑:我正在使用 WiX 安装程序,并且可以将任何文件添加到那里的安装程序中。我不知道该怎么做,所以请用 WiX 安装程序魔术词回答。

4

1 回答 1

2

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

于 2009-07-06T23:39:28.377 回答