我认为我在InstallShield 2010中发现了多行注释和SQL脚本的错误。
要重现该错误,请创建一个基本的MSI项目。转到安装设计器 - > SQL脚本,创建SQL连接,然后添加包含以下脚本的新脚本:
/*
USE [master]
GO
*/
USE master
GO
构建MSI并尝试安装它,您将收到以下MSI错误:
错误27506.执行SQL脚本sqlscript.sql的错误。第3行。失踪 结束评论标记'* /'。 (113)
将多行注释更改为 - 表单将解决此问题。此外,如果结束注释标记前面没有GO语句,则安装不会失败。例如:
/*
THIS
WILL
NOT
FAIL
*/
有人遇到过此错误吗?有什么方法可以“修复”吗?
PS:我将把这个发布到Flexara的论坛。
答案 0 :(得分:2)
这听起来像我已知的行为。我相信解析会查找GO
的行,而不考虑其他任何行,因此多行注释不会影响它。请参阅hidenori在帖子Install Shield is trashing SQL Scripts上的第二个回复。
您似乎已经确定了解决方法 - 将GO
更改为--GO
。