I am building a docker image and want to silently install a application (of my own creation), however when i run the setup in silent mode on a docker image based on windows/server:ltsc2022 the setup executable doesnt appear to start, the powershell returns to the prompt instantaneously. I know the setup works fine outside of a container. I am assuming some dependent library is missing somewhere from the OS.
Additionally, if i copy the app executables onto the image manually from a shared volume and run some of them i also see similar behaviour.
I know the app requires latest vc_redist.exe from MS and can download / install it as part of the image build. If i install that either as part of the image build or manually running the container interactively and then try some of my executables they run ok.
That is all good however, its a bit of bind setting up the application manually by copying stuff to the right locations, so i thought, why not run the app setup silently with a response file, we do this fine out side of containers and know it works. Only problem is the InstallAnywhere generated setup doesnt run and just returns immediately back to the powershell prompt.
Interestingly the MS VC 2013 redist does the same thing downloaded from here.
I am building the example image below on windows 11, if i swap to Windows 10 and use mcr.microsoft.com/windows:ltsc2019 i also see the same behaviour.
I did fine a related question but dont think that is the same issue.
Anyone any ideas ?
Example Dockerfile which exhibits the problem:
FROM mcr.microsoft.com/windows/server:ltsc2022
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
# Download for VS17 redist
#RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"; Start-Process -filepath C:\vc_redist.x64.exe -ArgumentList "/install", "/passive", "/norestart" -Passthru | Wait-Process;
# Download VS 2013 redist
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest "https://aka.ms/highdpimfc2013x86enu" -OutFile "vcredist_x86.exe"
# Run vc redist install silently
#RUN Start-Process -filepath C:\vcredist_x86.exe -ArgumentList "/install", "/passive", "/norestart" -Passthru | Wait-Process;