RC in Windows Docker image, .exe installer

Hello everyone!

Has anyone successfully built a Windows Docker image with RealityCapture included?

I’ve noticed that most Windows base images lack essential tools like winget and msiexec. It seems the only installation method for RC might be using a .exe installer. Does anyone know if an .exe installer for RC is available, or if there’s an alternative approach?

Including RealityCapture in a Windows-based Docker image can be challenging, especially due to the lack of essential system tools. Here are some suggestions and a potential approach to tackle this:


1. Installation Method for RealityCapture

  • RealityCapture .exe Installer: RealityCapture typically comes with a .exe installer. If you have this file, there are several ways to include it in a Docker image.
  • Alternative Installation Methods: If no other options (e.g., .msi or winget) are available, you may need to automate the manual installation process.

2. Issues with Windows Docker Images

Windows Docker base images are often minimal, which can cause issues:

  • winget: Windows Package Manager is usually missing.
  • msiexec: The tool for installing MSI files is often included but might not be present in certain images.
  • PowerShell Commands: PowerShell can serve as an alternative to run .exe files.

3. Solution Suggestions

Step 1: Choose the Right Base Image

  • mcr.microsoft.com/windows/servercore:ltsc2022 or nanoserver: These are minimal images, but they may lack many essential tools.
  • mcr.microsoft.com/windows:latest: A more comprehensive image that includes many tools, reducing the likelihood of missing utilities.

Step 2: Install Missing Tools

  • Installing winget: You can add winget manually to your image using PowerShell, but it can be a complex process.
  • msiexec: This is generally included in Windows Server Core images. If it’s missing, you’ll need to add it manually.

Step 3: Installing RealityCapture

If you have the .exe installer:

  1. Copy the Installer to the Docker Image:

dockerfile

Copy code

COPY RealityCaptureInstaller.exe C:\
  1. Run the Installer in Silent Mode:

dockerfile

Copy code

RUN C:\RealityCaptureInstaller.exe /quiet /norestart
  • This command runs the installer in silent mode, as user interaction isn’t possible in Docker.

Step 4: Licensing and Activation

RealityCapture requires a license. When running inside a Docker container, you’ll need to manage the licensing process. Instead of embedding the license in the image, use environment variables or external files to securely pass the license information.


4. Alternative Approach: Using a Virtual Machine

If integrating RealityCapture into Docker is too complex, consider using a virtual machine (VM) instead. This can simplify licensing and compatibility issues.


Conclusion

  • Including RealityCapture in a Windows Docker Image: It’s possible with a .exe installer, but preparation is required for missing tools.
  • Handling Missing Tools: Use PowerShell commands to install necessary utilities manually if needed.
  • Licensing: Automate the licensing process using external configuration or environment variables.

Does .exe installer even exist? It’s clearly ChatGPT promt.

1 Like