带有许可证的 InstallShield 2010 - 作为 Windows 服务的自动构建系统 (CI) 无需许可证

发布于 2024-08-26 08:55:50 字数 647 浏览 8 评论 0原文

我真的需要帮助。

我们使用 CI 构建过程 (Hudson) 作为使用 Msbuild 的自动构建系统。 CI 在 Apache Tomcat 6 中运行,并在域用户(而不是本地 Windows 用户)的凭据下运行。

每次 CI 尝试构建 InstallShield 项目(使用 isproj 文件)时,我们都会收到一条许可证错误消息: " C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): 错误: -7159: 产品许可证已过期或尚未初始化。您必须启动 IDE 才能在以下位置配置产品许可证命令继续进行。 C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): error : Exception Caught"。

如果我使用相同的域用户凭据登录到同一台计算机并构建 InstallShield 项目,则会有一个许可证并且

将用户添加到本地用户组没有帮助(没有许可证)。 将用户添加到本地管理员组会有所帮助并且它正在工作。

出于各种原因,我们不希望用户位于本地管理员组中。

我需要做什么才能让它发挥作用? 需要添加使用权限吗?

我们将非常感谢您的帮助。

吉拉德

I really need help here.

We are using CI build-process (Hudson) as an automated build system using Msbuild.
The CI run in Apache Tomcat 6 that run under the credentials of a domain user (not a local Windows user ).

Every time the CI try to build an InstallShield project (using isproj files) we get a license error message:
" C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): error : -7159: The product license has expired or has not yet been initialized. You must launch the IDE to configure the product license in order to proceed.
C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): error : Exception Caught".

If I log in to the same machine with the same domain user credentials and build the InstallShield project there is a license and it is working well.

Adding the user to the local Users group doesn't help (no license).
Adding the user to the local Administrators group helps and it is working.

We do not want the user to be in the local Administrators group - for various reasons.

What do I need to do to make it work?
Do I need to add permissions to the use?

Help will be highly appreciated.

Gilad

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

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

发布评论

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

评论(3

红墙和绿瓦 2024-09-02 08:55:50

您的构建是否调用 isSaBld.exe 或 isCmdBld.exe? InstallShield 在 2010 年更改了策略,因此独立构建功能 (isSaBld) 仅可通过顶级许可证使用。在以前的版本中,它也可以在 Pro 中使用。也许这有什么关系?

我们有一个类似的构建系统 - Tomcat 6、IS2010 中的 Hudson,但使用 Ant 脚本 - 并且调用 IsCmdBld.exe 对我们有用。

Is your build calling isSaBld.exe or isCmdBld.exe? InstallShield changed their policy in 2010 so that the standalone build functionality (isSaBld) is only available with a top-tier license. In previous versions it was usable in Pro too. Maybe this has something to do with it?

We have a similar build system - Hudson in tomcat 6, IS2010, but with Ant scripts - and calling IsCmdBld.exe is working for us.

心头的小情儿 2024-09-02 08:55:50

如果您使用 Hudson 作为服务,尝试以管理员身份运行该服务。但您需要确保管理员首先成功从 InstallShield IDE 构建项目。

If you are using Hudson as a service, try running the service as an administrator. But you need to make sure the administrator succees to build the project from the InstallShield IDE first.

所谓喜欢 2024-09-02 08:55:50

我们不希望用户位于本地管理员组中

据我所知,没有办法绕过此要求。 InstallShield 的产品许可运行低级系统检查,要求运行用户位于管理员组中才能成功。这就是为什么当您启动 InstallShield IDE 时会出现 UAC 提示符的原因。这样他们就可以验证他们授予您的许可证是否已移动到另一台计算机。如果不知道他们到底是如何做到这一点的,想象一下,例如直接磁盘扇区访问、CPU 序列号读取、硬盘驱动器固件访问等。如果没有管理员权限,您就无法执行这些操作。

然而,为了确保每个构建都可以重现,构建机器应该是神圣不可侵犯的,并且只能将其访问权限授予受信任的构建用户。他们的标准是成为构建机器上的管理员。

您能否详细说明为什么需要阻止用户成为管理员?这将使我们能够为您提供更好的意见。

We do not want the user to be in the local Administrators group

To my knowledge there is no way around this requirement. InstallShield's product licensing runs low-level system checks that require that the running user be in the Administrators group to succeed. That's why when you start the InstallShield IDE the UAC prompt appears. That way they can verify that the license they granted you hasn't been moved to a different machine. Without being privy to exactly how they do this, imagine e.g. direct disk sector access, CPU serial number reads, hard drive firmware access, etc. You just can't do those things without Admin rights.

However to ensure that every build can be reproduced, a build machine should be sacrosanct, and access to it should only be granted to trusted build users. It's standard for them to be Administrators on the build machine.

Can you give more details about why you need to keep the user from being an Administrator? That would enable us to give you better input.

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