我们有一个NET应用程序被安装到Program Files文件夹中。 应用程序本身写入一些文件并创建一些目录到其应用程序文件夹。 但是,当一个正常的Windows用户试图使用我们的应用程序,它崩溃,因为该用户没有写入应用程序文件夹的权限。 默认情况下,所有用户都有写入权限的WinXP和WinVista中是否有任何文件夹?所有用户文件夹或类似的东西?WinXP和WinVista中是否有一个文件夹,所有用户都有写入权限?
1
A
回答
2
没有这样的文件夹中。
但是你可以创建一个。
有CSIDL_COMMON_APPDATA它在Vista将映射到%ProgramData%(C:\ ProgramData)和XP映射到c:\的Documents and Settings \ AllUsers的\应用数据
随意在里面创建一个文件夹安装程序并设置ACL,以便每个人都可以写入该文件夹。
请记住COMMON_APPDATA已在公共控件库的第5版中实现,这意味着它在Windows 2000及更高版本中可用。在NT4中,您可以在安装目录中创建该文件夹,并且在Windows 98及其之下,由于这些系统无论如何都没有权限系统,因此无论如何都无关紧要。
下面是一些示例InnoSetup代码来创建该文件夹:
[Dirs]
Name: {code:getDBPath}; Flags: uninsalwaysuninstall; Permissions: authusers-modify
[Code]
function getDBPath(Param: String): String;
var
Version: TWindowsVersion;
begin
Result := ExpandConstant('{app}\data');
GetWindowsVersionEx(Version);
if (Version.Major >= 5) then begin
Result := ExpandConstant('{commonappdata}\myprog');
end;
end;
0
我不确定是否有一个所有非管理员用户都有权写入的单一路径。
我认为正确的人会<User>\Application Data
相关问题
- 1. C#测试用户是否有写入文件夹的权限
- 2. 公用文件夹删除所有用户的所有权限
- 3. 如何拒绝对C#中所有用户的文件夹的写入权限?
- 4. Linux权限604,系统中的所有用户是否都读过该文件?
- 5. 检查是否有其他用户有权写入文件
- 6. 为我的程序文件夹的所有用户设置写入权限
- 7. Windows中的每个人都有哪些文件夹或IIS用户有权读取和写入?
- 8. 检查我们是否有写入权限的文件夹?德尔福
- 9. 递归地设置所有文件和文件夹的权限
- 10. 在Delphi中创建一个带有任何用户写入权限的文件
- 11. “所有用户”文件夹
- 12. 目录中所有文件的列表组和用户权限
- 13. 是否所有JPEG文件都是JFIF?
- 14. 打印所有用户都有阅读权限的$ d的所有子目录
- 15. 什么文件夹保证用户在Windows上有写入权限?
- 16. MySQL用户和所有权限
- 17. 您的Magento文件夹没有足够的写入权限。
- 18. 设置C++文件夹中所有文件的权限
- 19. 从Windows服务写入文件没有用户权限?
- 20. Laravel:检查用户是否有权限
- 21. 是否可以嵌入文件夹中的所有文件?
- 22. Nant - 如何检查用户是否具有对特定文件夹的写入权限。
- 23. 是否所有Perl 6引用构造都具有期限优先权?
- 24. 维克斯:如何设置文件夹的权限和所有子文件夹
- 25. 为Wix设置文件夹和所有子文件夹的权限
- 26. 我怎样才能让所有人都可以拥有写入权限
- 27. 是否有一个标志来请求所有Facebook授权的扩展权限?
- 28. 更改文件权限所有权
- 29. 是否有单一权限类型来访问所有数据
- 30. 是否有一个读取和写入.properties文件的Delphi库?
太棒了,这正是我一直在寻找。 – 2009-01-12 17:10:06