Windows 8 所有应用程序包的权限问题

Windows 8 所有应用程序包的权限问题,windows-8,installshield,installshield-le,Windows 8,Installshield,Installshield Le,我的VS 2013项目中有一个config.txt文件。以下是其对所有应用程序包的权限: 当我通过在解决方案中编译InstallShield LE项目获得setup.exe时,当我运行setup.exe时,我会在具有以下权限的程序文件下获得此config.txt: 我希望提取setup.exe后允许所有权限。我该怎么做?谢谢出于安全目的,默认情况下,ProgramFiles文件夹以及所有子目录和文件仅具有读取和读取&执行权限。因此,复制到此文件夹的所有文件都将继承这些权限。 要在Install

我的VS 2013项目中有一个config.txt文件。以下是其对所有应用程序包的权限:

当我通过在解决方案中编译InstallShield LE项目获得setup.exe时,当我运行setup.exe时,我会在具有以下权限的程序文件下获得此config.txt:


我希望提取setup.exe后允许所有权限。我该怎么做?谢谢

出于安全目的,默认情况下,ProgramFiles文件夹以及所有子目录和文件仅具有读取和读取&执行权限。因此,复制到此文件夹的所有文件都将继承这些权限。
要在InstallShield的帮助下更改文件或文件夹权限,可以参考相应的。此外,还可以通过启动不同的工具来处理权限,如subinacl.exe、icacls.exe等,并借助自定义操作来实现

但是,正如MichaelUrman在评论中提到的,将具有写权限的配置文件放在ProgramFiles(和其他系统文件夹)下是个坏主意,因为可能存在安全问题。
因此,我还建议不要使用这种逻辑,将这些文件存储在用户配置文件文件夹中。

应该避免减少对共享位置中文件的保护。如果可能,最好将应用程序更改为使用每个用户的配置文件位置,或者从程序文件位置复制模板。Pseudo+1以获取正确信息(前两句话),因为我不能支持建议更改程序文件下权限的帖子。我理解您的顾虑,但许多应用程序使用文件夹等程序文件来存储config\temp文件。这是程序员的问题,而不是包装商的问题。从另一方面来说,您可以只提供对一个配置文件的读写访问,以防止可能的安全问题。这限制了安全问题的范围,是的,但不能防止它们。我们已经知道程序的这方面写得很差,所以谁愿意假设一个损坏或丢失的配置文件不会破坏应用程序?很可能,它会破坏应用程序。我同意你的观点——程序员使用程序文件来存储应该具有写访问权限的文件是一种不好的做法。我应该加上这样做的警告来回答。