MSI installation fails with 1603

I am experiencing problems with installing a piece of software called M-Files to a windows server core container. I am proceeding with this nicely but the single missing piece is actually getting MSI to install unattended.

Instructions for unattended installation found from this PDF:

An example of the settings I would want to use are here:

msiexec /package M-Files_x64_eng_11_0_4210_0.msi /quiet ADDLOCAL=Server,ServerTools

The actual installer can be downloaded from M-Files CDN:

This works nicely on my local Windows 10 machine. However, when using verbose logging flag of “/l*v install.log” in a docker image, I just get a generic 1603 error indicating a fatal error.

Any tips on what gives? Can anyone else get this to install in a test bench?

Here’s the Dockerfile snippet I am using. Here are a couple of attempted fixes I’ve tried without success:

  1. The obvious: having all the ENV variables in the snippet below hard coded and skipping everything else except plain installation
  2. Not having -NoNewWindow flag present
  3. Not having the ADDLOCAL=… parameter present and testing various combinations there
  4. Replacing the “/package …” attribute with just “/i”

Here’s the Dockerfile snippet:

FROM microsoft/windowsservercore
SHELL ["powershell", "-command"]

# M-Files installer specs and SHA256 for security verification.

# Download the installer, test the SHA to verify security, install and delete installer.
RUN Invoke-WebRequest -OutFile $env:MF_MSI_PATH -Uri $env:MFILES_INSTALLER_URL; \
if ((Get-FileHash $env:MF_MSI_PATH -Algorithm sha256).Hash -ne $env:MFILES_INSTALLER_SHA256) {exit 1}; \
Start-Process 'msiexec.exe' -ArgumentList '/package', $env:MF_MSI_PATH, '/quiet', 'ADDLOCAL=Server,ServerTools' -Wait -NoNewWindow; \
Remove-Item $env:MF_MSI_PATH 

Appreciate the help!

OK so found the answer from a closed M-Files developer community. I had to disable automatic updates for the app using a registry setting before attempting the installation. It works now.

Here’s the setting:

# Disable M-Files Automatic Update Client. Otherwise, the installation will fail.
New-Item -Path HKLM:\SOFTWARE\Motive
New-Item -Path HKLM:\SOFTWARE\Motive\M-Files
New-ItemProperty -Path HKLM:\SOFTWARE\Motive\M-Files -Name StartMFAUClient -Value 0 -PropertyType DWORD