如果我将我的应用程序安装到程序文件中,它是否始终能够在其安装目录中创建和写入文件?它似乎适用于很多不同版本的Windows,但有些情况下这不会起作用吗?
主要是我使用这种方法进行日志记录。如果这不是正确的方法,是否有更好的记录位置?
注意:我的安装程序需要管理员权限才能运行,并且它会向安装目录中的所有用户授予完全权限。
答案 0 :(得分:4)
应用不以用户身份运行,用户以用户身份运行。如果您将应用程序安装到Program Files中,并假设您需要提升权限,那么当您的标准用户运行该应用程序时,即需要权限的用户。
在安装时,您的安装人员需要知道哪些它自己的文件需要对标准用户可写,并相应地设置权限。当然,用户数据不无论如何都应该在Program Files中。这通常是%appdata%和用户配置文件的用途。
如果您的应用有“global Files \ YourApp”中的globalsettings.ini或其他内容,那么当您拥有管理员权限时(即在安装时),您需要向所有用户授予对该globalsettings.ini的写入权限文件。或高级用户。或者一组。或者对你的应用程序来说是正确的。
总之,没有,用户没有对ProgFiles的默认写入权限,也不应该。
答案 1 :(得分:0)
是的,肯定会出现无法解决的问题,例如当您的应用在Windows 7上运行时,或者您的用户帐户是受限用户时。
我们始终将日志文件放在临时目录或特殊文件夹中,例如AppData。