C
C#15mo ago
Brady Kelly

✅ MSIEXEC fails to install without any error message or log

I am trying to install Vagrant, the development environment manager. I downloaded the installer file vagrant_2.3.4_windows_amd64.msi and when I double clicked it, except for a few milliseconds pause, absolutely nothing happened. No install, no error message. I ran the installer using msiexec on the command line with flags to produce a log file. All that happened was that a 0 byte log file was produced and an msiexec.exe process was left running doing nothing until I killed it. Then I tried Chocolatey, which has very thorough and verbose logging, and choco said vagrant v2.3.4 already installed, but when I tried to use it I only got, The term 'vagrant' is not recognized etc. Then I used the force and debug switches on choco and but all that the reams of logging told me was that eventually choco was: Elevating permissions and running ["C:\Windows\System32\msiexec.exe" /i "C:\Users\kellyb\AppData\Local\Temp\chocolatey\vagrant\2.3.4\vagrant_2.3.4_windows_amd64.msi" /qn /norestart ]. The only difference between running msiexec itself is that it returns without doing anything, where choco hangs when it runs msiexec. My intent with this post is to try and garner some help in debugging what is going on with this installer. Maybe somebody has had a similar experience and can advise, or maybe I will have to delve into the internals of the .msi file and or attach a debugger to msiexec.exe. I will probably need quite some more help with the latter option.
6 Replies
mtreit
mtreit15mo ago
msiexec /i vagrant_2.3.4_windows_amd64.msi /lvoicewarmup installer.log
msiexec /i vagrant_2.3.4_windows_amd64.msi /lvoicewarmup installer.log
Then check installer.log
Brady Kelly
Brady Kelly15mo ago
Thank you, I didn't even need the log, the install worked fine with your command line, and produced a pretty decent log file. That is quite strange though, because the following command I found in some help somewhere did nothing but create an empty log file:
msiexec.exe /I C:\Downloads\vagrant_2.3.4_windows_amd64.msi /L*V "vagrant-install.log"
msiexec.exe /I C:\Downloads\vagrant_2.3.4_windows_amd64.msi /L*V "vagrant-install.log"
And Chocolatey hung after executing this one:
"C:\Windows\System32\msiexec.exe" /i "C:\Users\kellyb\AppData\Local\Temp\chocolatey\vagrant\2.3.4\vagrant_2.3.4_windows_amd64.msi" /qn /norestart
"C:\Windows\System32\msiexec.exe" /i "C:\Users\kellyb\AppData\Local\Temp\chocolatey\vagrant\2.3.4\vagrant_2.3.4_windows_amd64.msi" /qn /norestart
It seems the working directory of msiexec is important, because before I ran your command I changed directory to C:\Downloads, because your relative path to the .msi file only has the filename and not a path that points to C:\Downloads, so I assumed I should run your command in the same directory as the .msi file. It also seems the * option for logging didn't work for some reason, because it's supposed to Log all information, except for v and x options, and I did specify the v option. In contrast, you explicitly used every logging option except x, so effectively both my command and your command should at least produce the same log info because the voicewarmup option set for logging should be equivalent to the * logging option.
mtreit
mtreit15mo ago
/lvoicewarmup is muscle memory from when I worked with Windows Installer every day during Windows 2000 development.
Brady Kelly
Brady Kelly15mo ago
But, yay! I can now resume playing around with Vagrant. I last played with it a few years ago, and it was fantastic, and it really looks like it's grown a lot since then. It's a great tool for managing different VM configurations - it has a .vagrantfile which is similar to a Dockerfile, but it's for a VM instead of a container, so you can have lots of VM configs that you can easily spin up with a single Vagrant command.
mtreit
mtreit15mo ago
Have fun 🙂
Brady Kelly
Brady Kelly15mo ago
Thanks, I'm sure I will. <:6118_blobthanks:942112745510289478>
Want results from more Discord servers?
Add your server
More Posts