Build InstallShield创建MSI,即使生成有错误

Build InstallShield创建MSI,即使生成有错误,build,installshield,Build,Installshield,当我编译ism项目来创建MSI时,它仍然会创建MSI,即使我有构建错误 我不需要创建它的原因是为了进行构建验证。 我将只检查MSI的存在,而不是检查构建日志中的错误 有人知道我怎样才能做到吗? 编辑: 我正在使用ISCmdBld工具构建MSI。这是我正在运行的命令行,在运行此命令之前,将在其中设置环境变量: IsCmdBld -p "%FULL_PROJECT_FILENAME%" -a %BUILDMODE% -r %PRODUCT% -o "%MMSEARCHPATH%" | tee /A

当我编译ism项目来创建MSI时,它仍然会创建MSI,即使我有构建错误

我不需要创建它的原因是为了进行构建验证。
我将只检查MSI的存在,而不是检查构建日志中的错误

有人知道我怎样才能做到吗?
编辑:
我正在使用ISCmdBld工具构建MSI。这是我正在运行的命令行,在运行此命令之前,将在其中设置环境变量:

IsCmdBld -p "%FULL_PROJECT_FILENAME%" -a %BUILDMODE% -r %PRODUCT% -o "%MMSEARCHPATH%" | tee /A "%FULL_PROJECT_LOG_FILENAME%"

如果使用IsCmdBld.exe进行编译,则应添加
-x
选项,以便在发生错误时停止生成

您还可以将其与
-w
结合使用,这会使每个警告都被视为错误(因此,遇到的每个警告也会停止生成)

有关
IsCmdBld.exe
的更多信息:


我希望这有帮助。

您的构建自动化应该检查ISCmdBld.exe的退出代码。如果退出代码失败,请不要存档输出。

如何构建安装程序?您是在进行桌面构建还是有一个自动构建系统?@ChristopherPaint我正在使用ISCmdBld工具进行构建。例如:IsCmdBld-p“%FULL\u PROJECT\u FILENAME%”-a%BUILDMODE%-r%PRODUCT%-o“%MMSEARCHPATH%”tee/a“%FULL\u PROJECT\u LOG\u FILENAME%”,如果您使用的是InstallShield的MSBuild目标文件,则可以将StopOnfirsError属性设置为true。@ChristopherPaint Hi,谢谢您的回答。我熟悉第一个错误时停止。然而,它仍然在创建MSI。我不希望MSI被创建在所有的错误…你知道任何其他选项吗?再次感谢!选项取决于你对我上面问题的回答。完全正确!您甚至可以使用“-s”表示静默模式,以减少控制台输出。