【问题标题】:catch exception on InstallUtil workflow在 InstallUtil 工作流中捕获异常
【发布时间】:2016-03-23 16:57:55
【问题描述】:

在 C# 代码中,我在使用 installUtil 安装服务时出错。 我正在使用我自己的安装程序。 安装程序上的所有代码和 installUtil 的参数都可以,因为安装在 90% 的情况下都可以正常工作。 失败的场景是在我的 CI 工作下,我正在使用相同的代码并行安装多个服务,并且我无法捕获异常。 我所拥有的只是日志中的以下消息:

在 System.Configuration.Install.AssemblyInstaller 安装程序的提交阶段发生异常。 System.InvalidOperationException:集合已修改;枚举操作可能无法执行。 在安装的提交阶段发生异常。此异常将被忽略,安装将继续。但是,安装完成后应用程序可能无法正常运行。

我已经在我自己的安装程序类上的所有阶段和方法中放置了日志,我还获得了一些 System.Configuration.Install.Installer 的源代码,我也在那里记录但什么都没有。 .

在 Install 方法之后和 Commit 之前发生异常。

就在 System.Configuration.Install.Installer 的 Commit 阶段执行之前,有一些代码带有这个输出:

日志如下:

安装阶段成功完成,提交阶段开始。 查看日志文件的内容... 提交组装.... 受影响的参数是:...... System.Configuration.Install.AssemblyInstaller 的 Commit 阶段发生异常... 提交阶段成功完成。 事务安装已完成。 在安装的提交阶段发生异常。

如您所见,异常出现在 Install 阶段之后和 Commit 阶段之前,但在我的自定义 Installer 类或 System.Configuration.Install.Installer 的所有覆盖方法上都没有

谁能给我一些提示,告诉我如何捕捉这个异常或更好地了解在服务安装期间执行的完整工作流程??

谢谢

【问题讨论】:

    标签: c# .net installutil


    【解决方案1】:

    查看 InstallUtil 源代码后,我们发现 /LogFile 参数使用得当,使用得当,可以通过运行实例来获得专用的日志文件。在我们的测试场景中,命令行没有很好地构建,并且 LogFile 参数被忽略了......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2023-03-26
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多