c# - InstallShield - 为所有用户设置目录权限

标签 c# visual-studio visual-studio-2015 windows-installer installshield

我在 Visual Studio 2015 中使用 Install Shield 2015 Limited Edition。

我正在尝试设置我的应用程序安装目录的权限,以允许所有用户:读取和执行、列出文件夹内容、读取、写入访问权限。

我找不到使用项目助手执行此操作的位置。

我查看了 .ISL,我可以看到

<col key="yes" def="s72">Directory</col>
<col def="S72">Directory_Parent</col>
<col def="l255">DefaultDir</col>
<col def="S255">ISDescription</col>
<col def="I4">ISAttributes</col>
<col def="S255">ISFolderName</col>

我假设它是 I4 属性,但不确定为其设置什么值。

也许我对此看得太多了,有一种更简单的方法。

谢谢!

最佳答案

属性是指标准文件系统属性(只读、隐藏等)。您要寻找的是权限设置。

我对LE版不熟悉所以不知道能不能用图形界面完成(在InstallShield完整版中可以完成like this)

但您始终可以执行以下操作: 在您的项目文件中找到 ISLockPermissions 表,并像这样为您的文件夹添加一行(YOURFOLDER 指的是“目录”表中的文件夹条目):

    <table name="ISLockPermissions">
    <col key="yes" def="s72">LockObject</col>
    <col key="yes" def="s32">Table</col>
    <col key="yes" def="S255">Domain</col>
    <col key="yes" def="s255">User</col>
    <col def="I4">Permission</col>
    <col def="I4">Attributes</col>
    <row><td>YOURFOLDER</td><td>CreateFolder</td><td>[%USERDOMAIN]</td><td>Users</td><td>131519</td><td>0</td></row>
</table>

131519 是您请求的合并权限。

编辑:如果它不适用于 LE,另一种方法是添加自定义操作,使用 icacls 命令设置权限。

关于c# - InstallShield - 为所有用户设置目录权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343060/

相关文章:

visual-studio - 如何使用 Visual Studio 2019 为解决方案中的多个项目指定自定义代码分析规则集?

javascript - 在 Visual Studio 2015 中,有没有办法使用 Internet Explorer 以外的浏览器调试 Javascript?

visual-studio-2015 - 如何避免立即窗口超时?

c# - 如何在 Visual Studio 中切换 .NET Core 项目的目标框架

c# - 获取 Windows Store App 中的所有媒体文件

c# - 检查按钮按下是否导致任何代码被执行

c# - ValidationMessageFor 的使用

c# - Xamarin 表单工具栏项未显示在 View 中

c++ - Visual Studio 反汇编 : losing breakpoints

c# - Visual Studio : Git Team Explorer does not show any changes