Elixir 1.14.5 is not installing on Windows correctly.
smashedtoatoms opened this issue · 13 comments
unable to execute file elixir 1.14.5-setup.exe CreateProcess failed; code 5. Access is denied
is the error returned after installing erlang/OTP. If I choose 1.14.4 it works fine.
I cannot reproduce it. Can you try again just in case it was something incredibly temporarily?
I just noticed when I initially opened the installer, I get Internal error: ShellExecuteEx returned hProcess=0.
I have no idea what that means.
Following the Erlang install and what looks to be a 7zip run, I just got an immediate: CallSpawnServer: Unexpected response: $0.
Erlang is installed and starts, but Elixir is nowhere to be seen.
I tried to install it again and defer the Erlang install, since it is already installed. I see the elixir-v1.14.5-setup.exe
binary next to the elixir-websetup.exe
binary. I double-click it and get Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the system.
I nuke it, try to install again, and defer the Erlang install again. This time, I pick Elixir 1.14.4. I see the elixir-v1.14.4-setup.exe
binary next to my elixir-websetup.exe
binary. I double-click it, and it works as expected.
It's weird, it's behaving like the compress or decompress was bad or something.
I suspect that CallSpawnServer error is because it couldn't open the installer and it swallowed the error returned when it tried. This could be a symptom of this being my work computer and maybe the anti-virus or some other thing I am unaware of causing problems. The 1.14.4 does not seem to trigger it if that is the case. Even deleting the elixir-v1.14.5-setup.exe
is hanging windows explorer for ~20 seconds, so it really doesn't like something about that file.
I think I know what it is. Because v1.14.5 is new, Windows is more likely to block it. Once enough people run it, then it gets allowed?
That seems as feasible as anything to me. I never know what this operating system is doing.
Yeah, let’s keep this open for now and see if the issue persists with others.
I get the error message when I start the setup via double click (and permit via UAC).
But when I open a command prompt with admin rights, then it works also for 1.14.5.
Ran the windows installer, had to allow through Windows 11 bullcrap. It installed Erlang OTP fine, but no Elixir. I re-ran the installer a second time, it detected that Erlang OTP was already installed and so that radio box was unselected which is fine, I clicked next, Windows 11 popup I had to agree to, and then it installed Elixir properly with no issues. TLDR run the install twice in a row?
We are exploring an alternative approach of using CI for building an offline installer for each Elixir/OTP pairing. This way we can validate it and see if we prefer it altogether.
Thanks all. Unfortunately I can't reproduce this locally.
The web installer works by embedding Inno Setup's compiler, downloading the selected Elixir ZIP file, and compiling an offline installer on the fly. See here. My best guess is Windows (or your company's antivirus) is initially blocking execution of the compiler or constraining it somehow until it can scan it.
This is perfectly reasonable to mitigate RCE vulnerabilities. There were different security expectations when we first wrote this installer nine years ago. Building (and ideally signing) offline installers with CI is probably a better idea nowadays.
We are now building and shipping offline Elixir installers which are built as part of CI. See the up to date instructions on elixir-lang.org to learn more. :)
This now works for me. I am on latest OTP and Elixir now, and no problems. Thanks so much.