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:
http://cdn.m-files.com/public/M-Files_11.3/M-Files_x64_eng_11_3_4330_254.msi
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:
- The obvious: having all the ENV variables in the snippet below hard coded and skipping everything else except plain installation
- Not having -NoNewWindow flag present
- Not having the ADDLOCAL=… parameter present and testing various combinations there
- 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.
ENV MFILES_INSTALLER_URL="http://cdn.m-files.com/public/M-Files_11.3/M-Files_x64_eng_11_3_4330_254.msi" \
MFILES_INSTALLER_SHA256="1AB361E47EBACE119701DAD5EA79378C0C7DDD1FAA94A83AEA9DC2093C596DE3" \
MF_MSI_PATH="c:\setup\mf_dl.msi"
# 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!