【发布时间】:2011-09-11 00:30:57
【问题描述】:
我有一个可与 MS Word(2007 版)配合使用的插件程序。它位于 C:\Program Files 位置。我安装了 Windows 7,然后对我在这个位置的文件进行了例行更改,它只会显示一个只读文件。如何授予自己写入自己程序的权限?我无法更改此位置或使用任何其他解决方法。我将这个产品提供给 25 家不同的公司,我无法更改编程以在任何其他位置工作。谢谢
【问题讨论】:
我有一个可与 MS Word(2007 版)配合使用的插件程序。它位于 C:\Program Files 位置。我安装了 Windows 7,然后对我在这个位置的文件进行了例行更改,它只会显示一个只读文件。如何授予自己写入自己程序的权限?我无法更改此位置或使用任何其他解决方法。我将这个产品提供给 25 家不同的公司,我无法更改编程以在任何其他位置工作。谢谢
【问题讨论】:
假设您在修改配置时这样做(而不是在您的应用程序为普通用户运行时)...
您的用户帐户可能没有正确的权限来写入/修改文件。假设您的帐户是管理员帐户,右键单击该文件,选择“属性”。单击“安全”选项卡。单击编辑并授予您的用户帐户完全控制权。
如果您不能这样做,可能是因为文件的所有权不允许您这样做。如果是这种情况,请单击“高级”,转到“所有者”选项卡,然后单击“编辑”。
但是,如果它在运行时需要这些权限,您应该改用 %AppData% 文件夹。
【讨论】:
您还可以在您的 EXE 中嵌入 清单,使您的程序在 Windows 7 / Vista 上需要管理员权限。
【讨论】:
在 Windows Vista 上,UAC 意味着用户在没有管理员权限的情况下运行,并且没有对程序文件目录的写入权限。
正确的解决方案是写入标准用户确实具有写入权限的文件夹。
您正在寻找的解决方案是使程序文件中的应用程序文件夹对所有用户都可写。您可以通过在安装时添加 DACL 来做到这一点。允许标准用户在程序文件目录中写入是非常糟糕的做法,我建议您改为重新编码您的应用程序,以便它不需要在那里写入。
【讨论】: