Docker - 运行exe,显示来自powershell文件的对话框/表单导致错误

时间:2018-04-11 15:28:21

标签: powershell docker docker-windows windows-container

我有一个.exe程序,我需要在启动时在docker中运行它。我可以从容器的powershell运行它,没有任何错误,但不是来自powershell脚本文件。

  • 容器名称:base
  • exe文件名:abc.exe

.exe运行没有任何错误,并且符合预期:

  • docker-compose ecex base powershell
  • PS C:\> abc.exe -someParam xyz

但是当我从powershell脚本文件中调用它时,它会出现以下错误:

runexe.ps1文件:

# run 
abc.exe -someParam xyz

错误:

Unhandled Exception: System.InvalidOperationException: Showing a modal dialog 
box or form when the application is not running in UserInteractive mode is not a 
valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to
display a notification from a service application.
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)

那么,我该如何克服这个问题呢? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

使用Start-Process powershell cmdlet控制Docker构建中EXE的执行,它可以更好地控制进程生存期