我正在开发基于Windows的c ++应用程序。我使用Visual Studio 2012为此项目创建了安装程序。此项目还有一些配置文件,这些文件被复制到安装文件夹(c:\ program files \)中。应用程序启动时,还会在此安装目录中创建一个日志文件。 现在问题是当我在具有管理员权限的Windows 7系统上安装应用程序时,一切正常。但是,当我在一个没有管理员权限的系统上安装它时,我的应用程序既不能读取当前目录中的配置文件,也不会生成日志文件。
如何在安装期间设置/更改此安装目录的权限,以便我可以修改/读取配置文件以及创建日志文件。
答案 0 :(得分:1)
您需要决定是否希望您的应用程序具有管理员权限,因为只有具有管理员权限的应用程序才能修改/读取配置文件并在" Program Files&#的子目录中创建日志文件34。
如果您对此感觉良好,则创建一个应用程序,该应用程序将在启动时打开UAC提示,请求管理员权限。为此,打开项目属性页面并转到" Linker-> Manifest File",然后设置" UAC执行级别"的值。到requireAdministrator
。另一方面,如果您认为这是一种矫枉过正,我建议您更改您的应用程序以在用户文件夹中创建目录。该文件夹将用于存储配置文件和日志文件。最常见的方法是在C:\Users\some_user\AppData\Local
。
请注意我建议使用后一种方法,不需要授予应用程序管理员权限,只需将配置和日志文件保存在" Program Files"中。但是,我对您的应用程序不太熟悉,也许UAC提示是更好的解决方案。这取决于你决定。