Installshield文件夹权限不起作用

bar*_*ker 3 permissions installshield file

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

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

  • 选择"目标计算机的文件夹"中的每个文件夹
  • 右键单击"目标计算机的文件夹"中的每个文件夹
  • 选择上下文菜单"属性"
  • 点击"权限"按钮
  • 在"名称:"部分为用户"已验证用户"添加条目,并且域为空(选择"读取和执行","列出文件夹内容","读取")

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

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

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

bar*_*ker 6

备注:.

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

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

完成并修复问题的步骤:

在InstallShield(ISM文件)中......

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

重新编译安装程序并安装.现在有效.