如何从ubuntu运行Win32OLE调用?

时间:2015-05-12 04:02:02

标签: ruby ubuntu docker wine win32ole

我有一些简单的sinatra应用程序,它们利用OTA COM dll与Quality Center交谈。

我想将这些网站移动到docker镜像中,因此我可以将它们托管在我的docker服务器上。

在我看来,理论上我应该能够通过战略性地使用葡萄酒来实现这一目标。

提示:我记得在某处读取要从Linux使用Win32OLE在Ruby中工作,你可以使用wine安装windows版本的ruby,然后通过windows版本的ruby运行你的脚本。

https://www.ruby-forum.com/topic/88576

  我之前已经成功了。我安装了一键安装程序   交叉办公室和使用。另一种选择是安装   msys,在其下编译ruby,然后使用那个ruby。在任何   如果需要在交叉环境下安装/构建另一个 ruby​​。

以后

  

最后我用Crossover安装了Office 2000,然后我用了   Windows安装程序将windows ruby​​安装到同一个瓶子里   办公室。最后,我将以下bash脚本放在/ usr / bin目录中   所以我可以使用'#>运行我的ruby文件wruby some_script.rb'

   ==/usr/bin/wruby
   #!/usr/bin/env ruby
   `/opt/cxofficebeta/bin/wine --bottle myBottle --cx-app ruby.exe #{ARGV.join(" ")}`

我对葡萄酒或交叉或瓶子(?)一无所知,所以我不在自己的深度。

我该怎么做?我可以将Dockerfile用作基本图像的样子是什么?

注意:我发现了一些声称安装葡萄酒的码头图片(这可能是一个很好的起点)

http://www.perlmonks.org/?node_id=430194讨论如何在ubuntu下运行Win32 :: OLE。

1 个答案:

答案 0 :(得分:-1)

请勿忘记在Dockerfile中使用USER xx,因为在wine中使用非特权用户非常重要。您可以在registry.hub.docker.com中找到几个与此类用户相关的葡萄酒示例。