如何检查用户是否在Install Shield 2009 Basic MSI Project中的Administrator组中

时间:2009-07-08 12:36:39

标签: admin installshield-2009

Install Shield 2009,Premier,Basic MSI Projcet:[我想只允许管理员用户运行设置] 在里面 发布 - > MyProductConfiguration-> MyRelease-> Setup.exe选项卡我选择了“必需的执行级别”=“Invoker”并在 一般信息 - >产品属性我将安装条件设置为Condition =“AdminUser”Message =“要求管理员用户运行此...”

问题是主管理员只能安装它。任何其他用户说具有管理权限的“测试”无法安装并收到错误消息“要求管理员用户运行此...”

因此,如何仅允许管理员组中的用户安装和限制其他用户。

3 个答案:

答案 0 :(得分:1)

您可以通过Installscript

实现上述问题

例如: if(SYSINFO.WINNT.bWinNT)然后      if(!SYSINFO.WINNT.bAdmin_Logged_On)然后
          MessageBox(您必须以admin,SEVERE身份登录);           中止;     万一; ENDIF;

首先,这将检查哪个O.S.然后登录用户为TRUE,最终用户在具有管理员权限的NT下登录。或退出申请。

希望这可以帮助你...

答案 1 :(得分:1)

至少有两种方式:

  • 检查SYSINFO.WINNT.bAdmin_Logged_On是否为TRUE。如果是,则该用户具有管理员权限。
  • 检查Is(USER_ADMINISTRATOR,"")是否返回TRUE。如果是,则用户具有管理员权限。

你可以使用任何一个。

答案 2 :(得分:0)

这可以通过进入安装设计器在基本MSI项目中完成 - >一般信息 - >摘要信息流 - >要求管理权限=是