vista programdata命令行访问

时间:2011-03-05 03:35:03

标签: delphi windows-vista

我有一个将数据(original.dat)存储到文件夹C:\ ProgramData的应用程序 (我使用SHIDetFolderPath()和CSIDL的CSIDL_COMMON_APPDATA。来访问该文件夹)

还需要使用参数调用命令行执行文件(myexecute.exe) c:\ program files \ myname \ appname \ myexecute.exe original.dat outputfile.dat(outputfile.dat将在C:\ ProgramData中) 它适用于xp,但它在vista上报告错误“访问被拒绝”。 它看起来好像是在文件夹中创建outputfile.dat。

欢迎任何评论

由于

果渣

1 个答案:

答案 0 :(得分:7)

CSIDL_COMMON_APPDATA适用于所有用户,并且由于UAC而无法为非管理员用户写入。在安装过程中,它对管理员来说是可写的,但不应该在之后使用。

您应该使用CSIDL_APPDATA代替当前用户的数据。