【问题标题】:InstallShield creates MSI even though build has errors即使构建有错误,InstallShield 也会创建 MSI
【发布时间】:2014-07-08 02:43:19
【问题描述】:

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

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

有人知道我该如何实现吗?
编辑:
我正在使用 ISCmdBld 工具来构建 MSI。这是我正在运行的命令行来构建在运行此命令之前设置环境变量的位置:

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

【问题讨论】:

  • 您如何构建安装程序?您是在进行桌面构建还是有自动构建系统?
  • @ChristopherPainter 我正在使用 ISCmdBld 工具进行构建。例如: IsCmdBld -p "%FULL_PROJECT_FILENAME%" -a %BUILDMODE% -r %PRODUCT% -o "%MMSEARCHPATH%" | tee /A "%FULL_PROJECT_LOG_FILENAME%"

标签: build installshield


【解决方案1】:

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

您也可以将它与-w 结合使用,这使得每个警告都被视为错误(因此,遇到的每个警告也会停止构建)。

更多关于IsCmdBld.exe的信息:http://helpnet.installshield.com/installshield16helplib/ISCmdBldParam.htm

我希望这会有所帮助。

【讨论】:

  • 如果您使用的是 InstallShield 的 MSBuild Targets 文件,您可以将 StopOnFirstError 属性设置为 true。
  • @ChristopherPainter 您好,感谢您的回答。我熟悉第一个错误时停止。但是它仍在创建 MSI。我根本不希望在出现错误时创建 MSI...您知道其他选项吗?再次感谢!
  • 选项取决于您对我上面问题的回答。
【解决方案2】:

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

【讨论】:

  • 没错!您甚至可以将“-s”用于静默模式以减少控制台输出。
猜你喜欢
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多