本镜像是一个基于Debian的Docker容器,通过Wine兼容层运行WiX MSI工具集(Windows Installer XML Toolset)。其核心价值在于突破WiX工具集原生依赖Windows环境的限制,使Linux、macOS等非Windows系统也能构建Windows Installer (MSI)安装包,实现跨平台MSI构建流程的统一。
3.11、4.0),确保构建环境一致性。从Docker仓库拉取镜像(假设镜像名称为wix-msi-toolset,具体名称以实际仓库为准):
bashdocker pull wix-msi-toolset:latest
通过挂载本地WiX项目目录到容器,执行WiX工具链命令。假设本地WiX项目文件(如product.wxs)位于当前目录:
bash# 步骤1:使用candle编译.wxs文件为.wixobj目标文件 docker run --rm -v $(pwd):/workspace -w /workspace wix-msi-toolset \ candle product.wxs -o build/ # 步骤2:使用light链接.wixobj文件生成MSI安装包 docker run --rm -v $(pwd):/workspace -w /workspace wix-msi-toolset \ light build/product.wixobj -o dist/product.msi
参数说明:
--rm:容器退出后自动删除,避免残留容器实例。-v $(pwd):/workspace:将本地当前目录挂载到容器内/workspace目录,实现项目文件共享。-w /workspace:设置容器工作目录为/workspace,确保命令在挂载目录中执行。| 环境变量 | 描述 | 默认值 |
|---|---|---|
WIX_VERSION | 指定WiX工具集版本(如3.11、4.0),需镜像支持对应版本 | latest |
WINEDEBUG | 控制Wine调试输出级别(-all禁用调试输出,warn+all显示警告) | -all |
WORKDIR | 容器内默认工作目录 | /workspace |
USER_ID | 容器内运行用户ID(解决文件权限问题) | 1000 |
GROUP_ID | 容器内运行用户组ID | 1000 |
若WiX项目包含多文件结构(如引用库、资源文件),需确保所有依赖文件挂载至容器。示例项目结构:
./my-wix-project/ ├── src/ │ ├── product.wxs # 主配置文件 │ └── components.wxs # 组件定义文件 ├── resources/ # 安装包资源(图标、文档等) └── build/ # 输出目录
构建命令:
bashdocker run --rm \ -v $(pwd)/my-wix-project:/workspace \ -w /workspace \ -e WIX_VERSION=4.0 \ wix-msi-toolset \ sh -c "candle src/*.wxs -o build/ && light build/*.wixobj -o build/installer.msi"
创建docker-compose.yml简化多步骤构建:
yamlversion: '3.8' services: msi-builder: image: wix-msi-toolset:4.0 volumes: - ./wix-project:/workspace working_dir: /workspace environment: - WINEDEBUG=-all - USER_ID=${UID:-1000} - GROUP_ID=${GID:-1000} command: > sh -c "mkdir -p build && \ candle src/*.wxs -o build/ && \ light build/*.wixobj -o build/release.msi"
运行构建:
bash# 传递当前用户ID/组ID避免权限问题 UID=$(id -u) GID=$(id -g) docker-compose up
USER_ID/GROUP_ID环境变量指定容器内用户ID,避免生成文件权限异常。/workspace/resources/icon.ico)。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429