安装到Program Files的应用程序是否有权修改其文件夹?

时间:2011-12-07 23:56:44

标签: windows program-files

如果我将我的应用程序安装到程序文件中,它是否始终能够在其安装目录中创建和写入文件?它似乎适用于很多不同版本的Windows,但有些情况下这不会起作用吗?

主要是我使用这种方法进行日志记录。如果这不是正确的方法,是否有更好的记录位置?

注意:我的安装程序需要管理员权限才能运行,并且它会向安装目录中的所有用户授予完全权限。

2 个答案:

答案 0 :(得分:4)

应用不以用户身份运行,用户以用户身份运行。如果您将应用程序安装到Program Files中,并假设您需要提升权限,那么当您的标准用户运行该应用程序时,即需要权限的用户。

  1. 使用提升的权限安装应用程序(例如,用户:管理员)
  2. AppName文件夹的所有权限可能都是“管理员:完整,用户:已阅读”
  3. 用户运行应用,因此无法更改任何文件
  4. 在安装时,您的安装人员需要知道哪些它自己的文件需要对标准用户可写,并相应地设置权限。当然,用户数据无论如何都应该在Program Files中。这通常是%appdata%和用户配置文件的用途。

    如果您的应用有“global Files \ YourApp”中的globalsettings.ini或其他内容,那么当您拥有管理员权限时(即在安装时),您需要向所有用户授予对该globalsettings.ini的写入权限文件。或高级用户。或者一组。或者对你的应用程序来说是正确的。

    总之,没有,用户没有对ProgFiles的默认写入权限,也不应该。

答案 1 :(得分:0)

是的,肯定会出现无法解决的问题,例如当您的应用在Windows 7上运行时,或者您的用户帐户是受限用户时。

我们始终将日志文件放在临时目录或特殊文件夹中,例如AppData。