如何在Windows中使用长节点名称来运行Erlang服务?

我试图让一个erlang应用程序作为一个Windows服务与长节点名称运行,但erlsrv名称标志似乎不工作。 该服务似乎运行,但不显示在与net_adm:names() 。 但是,当我使用-sname标志,而是似乎工作。

我正在使用钢筋生成我的发行脚本。 以下是安装服务的脚本部分:

 :install @set description=Erlang node %node_name% in %node_root% @set start_erl=%node_root%\bin\start_erl.cmd @set args= ++ %node_name% ++ %node_root% @%erlsrv% add %service_name% -c "%description%" -name %node_name% -args "%args%" -w "%node_root%" -m "%start_erl%" -stopaction "init:stop()." @goto :EOF 

我怎样才能得到这个服务使用长节点名称?

事实证明,vm.args文件也指定了一个名字,这个名字可能与erlsrv命令中指定的名字冲突。 我通过在没有-name参数的情况下创建一个新的win_vm.args修复它,并且通过改变start_erl.cmd来查找文件的windows版本。 我还更改了应用程序cmd脚本中的所有-sname-name选项。