如何检查用户是否属于 Install Shield 2009 Basic MSI 项目中的管理员组

发布于 2024-07-27 12:40:36 字数 371 浏览 6 评论 0原文

安装 Shield 2009、Premier、Basic MSI Projcet:[我想只允许管理员用户运行安装程序] 在里面 Releases->MyProductConfiguration->MyRelease->Setup.exe 选项卡我选择了“Required Execution Level”=“Invoker”并在 一般信息->产品​​属性 我将安装条件设置为 Condition =“AdminUser”Message =“需要管理员用户运行此...”

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

那么如何仅允许管理员组中的用户安装并限制其他用户。

Install Shield 2009, Premier, Basic MSI Projcet:[I want to allow only administrator users to run setup]
In the
Releases->MyProductConfiguration->MyRelease->Setup.exe tab i chose "Required Execution Level" = "Invoker" and in
General Information->Product Properties I put a Install condition as Condition = "AdminUser" Message = "Require Admin user to run this..."

The problem is only the main Administrator can install it. Any other user say "Test" with Administrative privilege can't install and get the error message "Require Admin user to run this..."

So how to allow only those user who are in Admin group to install and restrict others.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

戈亓 2024-08-03 12:40:37

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

This can be done in Basic MSI Project by going into the Installation Designer -> General Information -> Summary Information Stream -> Require Administrative Privileges = Yes

过期以后 2024-08-03 12:40:36

上述问题你可以通过Installscript来实现

例如:
如果(SYSINFO.WINNT.bWinNT) 那么
if ( !SYSINFO.WINNT.bAdmin_Logged_On) 那么
MessageBox(您必须以管理员身份登录,严重);
中止;
万一;
万一;

首先,这将检查哪个操作系统然后登录的用户为 TRUE,最终用户以管理员权限在 NT 下登录。 或退出应用程序。

希望这对您有帮助...

the above problem you can achieve through Installscript

For example :
if(SYSINFO.WINNT.bWinNT) then
if ( !SYSINFO.WINNT.bAdmin_Logged_On) then
MessageBox(You must be logged in as admin, SEVERE);
abort;
endif;
endif;

First this will check for which O.S. then logged-in user is TRUE, the end user is logged on under NT with administator rights. or quit the application.

Hope this helps you...

眼眸印温柔 2024-08-03 12:40:36

(至少)有两种方法:

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

您可以使用任何一个。

There are (at least) two ways:

  • Check if SYSINFO.WINNT.bAdmin_Logged_On is TRUE. If so, the user has Administrator privileges.
  • Check if Is(USER_ADMINISTRATOR,"") returns TRUE. If so, the user has Administrator privileges.

You can use any one.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文