写入可执行文件所在的文件夹

时间:2011-11-08 08:21:12

标签: windows security

我有一个程序和一个位于同一文件夹中的Windows服务。它们可以在不同的用户帐户下运行。他们是否总是能够写入.exe所在的文件夹,或者这还取决于他们运行的特定帐户的权限?如果没有,那么我可以使用哪个文件夹来共享公共数据?

2 个答案:

答案 0 :(得分:3)

没有。通常,可执行文件安装在\Program Files\CSIDL_PROGRAM_FILES)中。您需要CSIDL_COMMON_APPDATA下的特定于程序的子目录。 (根据您的情况创建具有适当ACL的子目录。)

答案 1 :(得分:1)

在大多数情况下(例如,对于大多数不是管理员的帐户),如果已安装应用程序(或服务)将无法写入\ Program Files文件夹(默认情况下已完成) 。

要在应用程序之间共享数据,您可以使用FOLDERID_ProgramData文件夹并使用SHGetFolderPath获取其路径。