我真的需要帮助。
我们使用CI build-process (Hudson)作为使用Msbuild的自动化构建系统。CI在Apache Tomcat 6中运行,在域用户(而不是本地Windows用户)凭据下运行。
每次CI尝试构建集成开发环境项目(使用isproj文件)时,我们都会收到许可证错误消息:“C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3):error:-7159:产品许可证已过期或尚未初始化。您必须启动集成开发环境来配置产品许可证才能继续。C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3):error : Exception Caught”。
如果我使用相同的域用户凭据登录到同一台计算机,并构建InstallShield项目,则会有一个许可证,并且它工作正常。
将用户添加到本地用户组无济于事(无许可证)。将用户添加到本地管理员组会有所帮助,并且它正在运行。
由于各种原因,我们不希望该用户属于本地管理员组。
我需要做些什么才能让它工作?是否需要为使用添加权限?
我们将非常感谢您的帮助。
吉拉德
发布于 2010-03-24 00:47:50
您的构建调用的是isSaBld.exe还是isCmdBld.exe?InstallShield在2010年改变了他们的策略,使得独立构建功能(isSaBld)只有在顶级许可证下才可用。在以前的版本中,它也可以在Pro中使用。也许这跟这件事有关?
我们有一个类似的构建系统-Tomcat6中的Hudson,IS2010,但使用Ant脚本-调用IsCmdBld.exe对我们来说是有效的。
发布于 2011-02-17 20:41:03
如果您使用的是Hudson as a service,请尝试以管理员身份运行该服务。但您需要确保管理员首先成功地从InstallShield集成开发环境构建项目。
发布于 2014-05-18 04:22:33
我们不希望用户属于本地管理员组
据我所知,没有办法绕过这个要求。InstallShield的产品许可运行低级系统检查,要求运行的用户必须是Administrators组中的用户才能成功。这就是当您启动UAC时出现InstallShield提示的原因。这样,他们就可以验证他们授予您的许可证是否已移动到其他计算机上。如果不了解它们是如何做到这一点的,试想一下,例如直接访问磁盘扇区、读取CPU序列号、访问硬盘固件等。如果没有管理员权限,您就不能做这些事情。
然而,为了确保每个构建都可以重现,构建机器应该是神圣不可侵犯的,并且应该只授予可信的构建用户访问它。他们的标准身份是构建机器上的管理员。
您能提供更多关于为什么需要阻止用户成为管理员的详细信息吗?这将使我们能够为您提供更好的输入。
https://stackoverflow.com/questions/2498945
复制相似问题