我正在使用WiX 3.5.最近,在构建服务器上经常出现以下WiX错误:
light.exe(,):错误LGHT0301:无法打开数据库.在验证期间,最常发生在尝试使用不受支持的代码页或不是有效Windows Installer数据库的文件打开数据库时.请使用Module/@ Codepage,Package/@ SummaryCodepage,Product/@ Codepage或WixLocalization/@ Codepage中的其他代码页; 或确保提供有效Windows Installer数据库的路径.
错误指的是哪个"数据库"?(没有一个WiX源文件在很长一段时间内发生了变化,所以我怀疑这是一个代码页问题.)
其他人报告此错误可能是由趋势科技Office Scan引起的,它确实安装在构建服务器上.我要求系统管理员从扫描中排除构建目录,但仍会出现此错误.如何确定病毒扫描程序是否是罪魁祸首?(错误并不总是发生,所以如果我禁用病毒扫描程序并且下一次构建成功,我仍然不知道错误是否已永久消失.)
小智 17
通过Visual Studio 2012在.Setup只是设置 - 将"禁用ICE验证"为我工作.
Mic*_*Liu 13
在研究了WiX源代码并运行Process Monitor之后,我发现从病毒扫描中排除构建目录是不够的.
说明:当light.exe运行时,它会在临时目录中创建目标MSI文件.(此文件是LGHT0301错误消息引用的数据库.)在light.exe关闭MSI文件后,ntrtscan.exe将打开MSI文件以进行读取访问和只读共享.稍后,在数据库验证步骤中,light.exe尝试重新打开MSI文件以进行读/写访问,并发生共享冲突.
解决方案:从实时病毒扫描中排除临时目录.例如,在Windows Server 2008上,此目录是C:\Users\«username»\AppData\Local\Temp.
| 归档时间: |
|
| 查看次数: |
7672 次 |
| 最近记录: |