COTS产品中的捆绑Erlang OTP

COTS产品中的捆绑Erlang OTP,erlang,installation,rabbitmq,Erlang,Installation,Rabbitmq,我们希望在产品中包括RabbitMQ,这进一步需要Erlang OTP。我们不希望我们的客户在安装我们的产品之前安装Erlang,而是希望找到在我们自己的产品安装程序中包含Erlang的方法 有哪些策略可以做到这一点?我们希望支持Windows和Linux。目前我的理解是Windows上没有ZIP版本的Erlang。这就是我的想法 包括Erlang OTP安装程序,并在产品安装程序运行时启动它 安装Erlang OTP,压缩安装目录,并让我们的产品安装程序在客户的机器上解压缩它 . . . ?

我们希望在产品中包括RabbitMQ,这进一步需要Erlang OTP。我们不希望我们的客户在安装我们的产品之前安装Erlang,而是希望找到在我们自己的产品安装程序中包含Erlang的方法

有哪些策略可以做到这一点?我们希望支持Windows和Linux。目前我的理解是Windows上没有ZIP版本的Erlang。这就是我的想法

包括Erlang OTP安装程序,并在产品安装程序运行时启动它 安装Erlang OTP,压缩安装目录,并让我们的产品安装程序在客户的机器上解压缩它 . . . ? 谢谢你的建议

于10月21日编辑

我想出来了。当erl.exe启动时,它会为分布式erlang启动一个名称解析程序守护进程epmd.exe。此exe的位置硬编码为/otp/install/path/bin/erl.ini

将otp安装从C:\Program文件复制到我选择的目录后,我必须更新erl.ini文件以反映empd进程路径的更改。之后,我从c:\Program文件中卸载了OTP,并能够从复制它的目录启动erlang


Ranjit

另一个标准发布方式是使用。这捆绑了OTP,它比复制已安装的windows二进制文件和更改erl.ini或在linux中更改erl脚本更干净。

我认为wings3d应用程序是按照您所期待的方式制作的,因为它不使用OTP,而是从头开始安装,您可以在这里查看源代码:我安装了wings32,看到安装程序只是提取erl.exe和一堆编译过的erlang程序。我将安装erlang otp并观察它是否/写入了什么注册表项。很抱歉,我花了这么长时间才做出响应。到目前为止,在我有限的阅读中,rebar似乎是用erlang编写的应用程序的构建和依赖关系管理工具。它还假定在机器上安装Erlang OTP。我试图找到一种将Erlang OTP捆绑到COTS产品中的方法,使其成为RabbitMQ的依赖项。我会读更多关于钢筋的内容,看看它是否符合要求。我不会有任何自定义的Erlang代码。本质上,在安装我们的产品时,我希望进行设置,以便RabbitMQ能够在Windows和Linux上解析到erl的路径。