lev*_*nis 66 wix ice-validation
我在本地机器上遇到了一些奇怪的问题.问题是间歇性的,但经过一些解决方案的重建后,WiX项目开始抛出ICE验证错误.
如果我进入我的AppData\Local\Temp文件夹并删除包含MSI的所有临时文件夹,解决方案将再次编译.不久之后,问题又开始发生了.必须不断清理临时文件夹并不是一个可持续或令人满意的解决方案.
还有其他人遇到过这个问题吗?验证错误代码似乎始终是ICE30,ICE38,ICE64和ICE91的组合
更新:
根据要求,以下是最近失败的条目:
错误LGHT0204:ICE38:ICE内部错误1002. API返回:1615.
错误LGHT0204:ICE38:错误2235:/OU.AppFramework.Includes.msi,_Profile,UPDATEDirectorySET_Profile= 0
错误LGHT0204:ICE64:ICE内部错误1001. API返回:1615.
错误LGHT0204:ICE64:错误2242:OU.AppFramework.Includes.msi,_Profile,ALTER TABLEDirectoryADD_ProfileSHORT TEMPORARY HOLD
错误LGHT0204:ICE91:ICE内部错误1001. API返回:1615.
错误LGHT0204:ICE91:错误2242: OU.AppFramework.Includes.msi,_Profile,ALTER TABLEDirectoryADD_ProfileSHORT TEMPORARY HOLD
有趣的是,这次失败是在我昨晚离开办公室之前发生的,当我今天早上进来时解决方案编译好了.由于它似乎以WiX构建MSI的临时目录为中心,它可能是锁定文件的构建过程吗?
更新2:
现在我们又回到600多个错误,大多数重复这个错误:
错误LGHT0204:ICE30:ICE内部错误100. API返回:1615
错误LGHT0204:ICE30:错误2235:AppFramework.Includes.msi,_ICE30SFN,SELECTDirectory_Parent,Directory,DefaultDir,_ICE30SFN,_ICE30LFNFROMDirectoryWHEREDirectory.Directory=?ANDDirectory_Parent<>?
更新3:
即使在尝试了@limpan的建议后,问题仍然存在.当灯光试图访问MSI时,由于MSI输出文件夹被锁定而导致灯光发出一些警告:
警告549目录'\ AppData\Local\Temp\2opu3hxf'正在使用中,无法删除.light.exe
小智 61
尝试添加<RunWixToolsOutOfProc>true</RunWixToolsOutOfProc>到您的WiX项目文件.
我们暂时遇到了同样的问题,并尝试了各种解决方法,包括删除临时文件和设置msbuild环境变量.这些都似乎工作了一段时间,但最终(有时几天后)问题会再次出现.
我注意到在我的机器上devenv.exe是锁定light.exe试图删除的文件的过程.我还偶然发现了一个不相关的线程,该线程提到了这个项目设置,以使WiX工具耗尽流程.我认为值得一试,它似乎已经为我们解决了问题(到目前为止......)
小智 47
我也遇到过这个问题并在我的环境中解决了这个问题.
简短回答:
添加环境变量MSBUILDDISABLENODEREUSE=1并重新启动Visual Studio
答案很长:
在构建期间有一个警告,我第一次没看到,因为我太专注于错误:
无法删除临时目录:C:\ Users [用户名]\AppData\Local\Temp\5 [uniqueFolderName] light.exe
我试图手动删除该文件夹,但它正被另一个进程使用.
事实证明,许多MSBuild.exe进程在构建期间启动,然后不再关闭.您可以阅读更多有关其原因以及如何在Stack Overflow问题中更改该行为的问题msbuild.exe保持打开状态,锁定文件.
这个帖子:它和这个帖子中的解决方案:
我希望这个答案可以帮助别人.