gpt4 book ai didi

WiX:构建服务器构建中神秘且难以诊断的 ICE 验证错误

转载 作者:行者123 更新时间:2023-12-04 02:28:36 26 4
gpt4 key购买 nike

我正在尝试使用 TFS 将 WiX 集成到我的自动构建解决方案中2010 运行于 Windows Server 2008 R2。一切似乎都很简单,然后我明白了:

light.exe: Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.".



这很奇怪。但是嘿!他们提供了一个链接。那应该有帮助吧?

Error LGHT0217
In WiX v3, Light automatically runs validation-- Windows Installer Internal Consistency Evaluators (ICEs) --after every successful build. Validation is a great way to catch common authoring errors that can lead to service problems, which is why it’s now run by default. Unfortunately, there’s a common issue that occurs on Windows Vista and Windows Server 2008 that can cause ICEs to fail. For details on the cause and how to fix it, see Heath Stewart's Blog and Aaron Stebner's WebLog.



一点也不。这些帖子只是描述了一种涉及脚本引擎注册的情况,他们描述的条件并不存在。然而,我遇到了 Re: (WiX-users) Why do I get ICE failures building from a serviceaccount? (2010-01-14) 这似乎表明如果我使用域帐户来运行 Windows Installer 服务,它将起作用。听起来值得一试。

"For whatever reason on Windows 2008 (I didn't test Vista, XP, 2003, 7, or 2008 R2) the MSI Service is only available from logins that either have administrative access or are logins that are "interactive". Logins that are from service accounts that to not have administrative privileges cannot access the msi service and thus cannot run ICE tests."



但是,当尝试使用我的构建服务帐户启动 Windows Installer 服务时:

Windows could not start the Windows Installer service on SKILLET-1. Error 1297: A privilege that the service requires to function properly does not exist in the service account configuration. You may use the Services Microsoft Management Console (MMC) snap-in (services.msc) and the Local Security Settings MMC snap-in (secpol.msc) to view the service configuration and the account configuration.



好的,Windows,所以你告诉我我的构建服务帐户缺少启动服务所需的一些不明确的权限。让它管理员应该解决这个问题吗?不,那也行不通。

因此,我为 Windows Installer 服务帐户恢复到本地系统。这次我将构建服务设置为本地管理员,瞧,成功!不过,这几乎不是一个解决方案。

我的下一个想法是尝试隔离构建服务完成此操作所需的权限集。这将是一个不错的解决方案,而不必向管理员集中添加更多帐户。步骤 1:进入本地安全策略并将构建服务帐户添加到当前授予管理员的所有权限。从理论上讲,这应该允许构建成功,从那里我可以有选择地删除权限,直到我隔离了为了成功而必须持有的所有权限。

不幸的是,即使具有所有相同的权限,除非构建服务帐户是本地管理员的成员,否则构建仍然会失败。为什么是这样?除了 LSP 之外,还有哪些其他东西依赖于我可以更改的管理员组以使我的构建服务帐户与管理员等效?

当前结论:构建服务必须是管理员才能避免 ICE 验证错误。

开放问题:
  • 为什么我的权限隔离想法不起作用?
  • 这是什么神秘Error 1297以域用户身份运行 Windows Installer 服务时被抛出?我几乎找不到关于此的文档。
  • 最佳答案

    我也面临同样的问题。经过一番挣扎和谷歌搜索后,我找到了在 WiX 项目中抑制 ICE 验证将使项目编译的解决方案。

    关于WiX:构建服务器构建中神秘且难以诊断的 ICE 验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3800958/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com