[erlang-questions] FYI: Rewriting Playdar: C++ to Erlang, massive savings

Antoine Koener antoine.koener@REDACTED
Fri Oct 23 11:07:52 CEST 2009


> "...We’ll put together a Windows installer soon that’ll probably be around
> the same size. A 10MB download
> isn’t so bad nowadays, and I expect we can optimize the packaging process
> some more. Linux users will get
> a package that depends on the erlang VM in their package manager. Seems
> like shipping Erlang apps to the
> desktop isn’t so hard after all."
>
>
Thanks, interesting read


I'm now building a windows installer to deploy some erlang application, and
here's problems that takes a lot of time
to fix.

 Erlang for windows (R13B) needs some versions of the VC++ 2005 Runtime.
(msvcr80.dll)
Unfortunately the only way the find which one is to read the last part of
the file "erl.exe" for example and extract information related to its
"manifest".
There you will find that you need the VC++ 2005-SP1 runtime.
(And I think that with R12B this was not the case)


The crypto_drv.dll needs the openssl "ssleay32.dll" to be installed. If it's
not the case you won't be able to use anything
related to crypto... And thanks to windows dll Hell problem, you need to put
this dll in \windows\system32 [ SystemFolder ],
making the package uninstallation not really "nice" because you may remove
this file, breaking other apps...

 Erlsrv is not really efficient, since your service may no longer be in
place but still in the erlsrv registry key, you won't be able
to reinstall it. Windows XP comes with tools like 'sc' that is able to set
and configure a service.
Erlsrv with "cmd.exe loves to break your double quotes" is absolutely not
convenient.
(I know that there's a new version of it, I didn't tested it for the moment,
so maybe this part is no longer valid)

There's two "bin" directories, which one is the "one" ?
Same question with erl.ini.
erl.ini: should contains good directory names but you can't use the single
'\' because your path will not be valid :(


While using the NSIS installer version is nice to install erlang for testing
purpose, massively deploying it, is not possible using
what windows admins are used to i.e. group policy and .msi files. (providing
silent or "unattended" deployments)

I'm using makemsi[1] to build a .msi package to deploy my windows app, while
difficult to use, it works almost flawlessly.
I'll be glad to share my experience with anyone.

Finally my point is that under windows Erlang is difficult to repackage.
May be we should take time to make it completely autonomous ? ( including
every dependencies needed )
Then you may say, what about dependencies upgrades ?  ( openssl
vulnerability or else )
I will say that I've no good answers to this question :p

I'm not pushing for massive adoption of Erlang but I think that if anyone is
able to repackage its erlang app for windows and
making it full automatic deployment compatible, erlang and erlang based apps
may spread a lot quicker...



[1] http://dennisbareis.com/makemsi.htm


More information about the erlang-questions mailing list