如何将Erlang程序编译为独立的Windows可执行文件?

Richard在Last.fm上完成 移植他的应用程序Erlang 。 这也是由riak,couchdb和其他人完成的。 他提到提取所需的部分,或者将整个虚拟机包含在发行版中。 这里的主要特点是:程序不需要在目标机器上安装Erlang。

所以问题是, 你怎么一步一步地将Erlang程序打包到一个windows(不太重要的linux)可执行文件中?

PS我已经看到了SAE项目,我已经阅读了所有相关的问题。 没有人回答我的问题。

Solutions Collecting From Web of "如何将Erlang程序编译为独立的Windows可执行文件?"

  1. 创建一个可移植版本的Erlang(例如使用来自这个讨论组的方法: 来自USB的Windows上的Erlang )。 这个练习中最重要的部分是用正确的路径创建erl.ini文件,可以从任何想要的位置启动Erlang。
  2. 创建一个Erlang版本的应用程序和发布引导脚本。 有关说明,请参阅有关版本的Erlang文档 。
  3. 创建一个Windows命令行脚本来启动你的应用程序。 这将简单地运行Erlang与您的启动脚本作为参数(例如erl -boot someapp )。 Erlang将读取erl.ini文件,从正确的位置加载应用程序和系统库。
  4. 创建一个包含所有相关部件的Windows安装应用程序:
    • Erlang分布
    • 将所有路径作为变量的erl.ini文件由安装应用程序填充
    • 发布你的应用程序(所有的光束文件和启动脚本)
    • 命令行脚本使用启动脚本启动应用程序

从Windows安装程序的角度来看它应该如何工作:

  • 询问用户安装应用程序的位置(或在Program Files中使用一些默认位置)
  • 将Erlang发行版,应用程序和启动脚本复制到正确的位置
  • 更新erl.ini和命令行脚本以使用所选位置
  • 创建将执行命令行脚本的图标或自动启动条目

现在,当用户单击图标或以另一种方式执行命令行脚本时,他们实际上将从自定义位置运行Erlang,然后根据Erlang引导脚本启动应用程序。 这只是一个普遍的想法,因为命令行脚本应当例如检查当用户第二次启动应用程序时Erlang是否还没有运行,或者它可能需要能够卸载它。

也许这个答案你的问题 – https://github.com/dgud/wings/blob/master/BUILD.win32