【问题标题】:Installshield Folder Permissions not workingInstallshield文件夹权限不起作用
【发布时间】:2023-03-29 23:30:01
【问题描述】:

使用 InstallShield 2012 Professional 安装 ASP.NET 网站,以及在网络服务帐户的安全上下文中运行的自定义应用程序池。当我测试网站时,遇到权限问题(文件权限),网站失败并显示“错误:访问被拒绝。”消息。

使用 InstallShield,我为每个文件设置了权限,以便对用户“Authenticated Users”进行读取访问。我通过导航到“应用程序数据”->“文件和文件夹”在 InstallShield ISM 文件中设置权限

  • 选择“目标计算机的文件夹”中的每个文件夹
  • 右键单击“目标计算机的文件夹”中的每个文件夹
  • 选择上下文菜单“属性”
  • 点击“权限”按钮
  • 在用户“Authenticated Users”的“Name(s):”部分添加条目,域为空白(选择“Read & Execute”、“List Folder Contents”、“Read”)

...然后对每个文件夹反复执行此操作,然后对每个文件执行此操作。

一旦我测试,我发现我有问题。如果我导航到服务器上安装的实际文件并查看,它们看起来是正确的,但不能正常运行。事实上,我 - 作为经过身份验证的用户 - 没有导航文件夹结构的权限,但因为我是管理员,所以我可以调整权限并进入。如果我手动重置每个文件(和相关文件夹)的这些权限网站正常运行。这意味着应用程序池设置、文件复制和网络服务帐户都正常运行,问题与 IIS 试图访问的文件的权限密切相关。

有没有人遇到过这个问题,并克服了它?如果是这样,怎么做? (我宁愿避免使用 InstallScript 来设置权限。)

【问题讨论】:

    标签: file permissions installshield


    【解决方案1】:

    注意事项:

    在考虑“常规信息”区域中的设置时,特别是“锁定权限”属性 - InstallShield 中文件级别权限设置的行为会有所不同。选择“传统 Windows 安装程序处理”时,我从未成功添加显式权限。我注意到这样做时,文件夹上的所有继承权限都会消失。此外,虽然权限似乎是在 Windows 中设置的,但它们的行为就像没有设置一样。手动操作测试会显示它们没有正确设置。

    将“锁定权限”属性设置为“自定义 InstallShield 处理”时,我能够添加权限并且所有继承的权限保持不变。有了这个,我能够将所需的权限应用于“应用程序数据”->“文件和文件夹”区域中的根安装目录,并且因为我选择了“自定义 InstallShield 处理”,所以我能够选中“应用”复选框这些对子对象的权限”在文件夹属性的权限区域的高级区域中。

    确定和解决我的问题的步骤:

    在 InstallShield(ISM 文件)中...

    • 导航到“常规信息”(左侧窗格)
    • 将锁定权限设置为“自定义 InstallShield 处理”
    • 导航到“应用程序数据”
    • 右键单击要安装程序的根文件夹
    • 点击“属性”
    • 点击“权限”按钮
    • 在标有“姓名”的白框区域中右键单击屏幕上半部分
    • 选择上下文菜单项“新建”
    • 删除域用户将此字段留空
    • 添加了用户“Authenticated User”
    • 选中下部区域的复选框(“读取并执行”、“列出文件夹内容”、“读取”)
    • 点击“高级”按钮
    • 选中复选框“将这些权限应用于子对象”
    • 点击“确定”按钮
    • 点击“确定”按钮
    • 点击“确定”按钮

    重新编译安装程序并安装。现在可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多