WIX0094错误:无法找到Binary:Wix4UtilCA_X86标识符求助
解决WIX0094错误及WixUtilExtension引用问题
针对你遇到的问题,按以下步骤逐一排查解决:
1. 修正Wix 4扩展的引用参数
Wix 4.x不再沿用Wix 3时代的WixUtilExtension.dll作为扩展参数,而是采用NuGet包标识。构建命令的扩展参数应修改为:
-ext WixToolset.Util.wixext
如果是基于本地编译的Wix源码构建,需要指定编译生成的扩展DLL完整路径,示例如下:
-ext "D:\YourWixSource\src\WixToolset.Util\bin\Debug\net472\WixToolset.Util.dll"
(路径请根据你的实际编译输出目录调整)
2. 核对CustomAction的BinaryRef标识符
你当前使用BinaryRef="Wix4UtilCA_X86",但如果目标系统是64位,且调用的是WixQuietExec64,应对应使用Wix4UtilCA_X64作为Binary引用ID,避免因架构不匹配导致标识符找不到的问题。
3. 确保项目正确引用扩展(MSBuild场景)
如果通过MSBuild构建.wixproj项目:
- 若使用官方NuGet包,在项目文件中添加或确认以下引用:
<PackageReference Include="WixToolset.Util.wixext" Version="4.x.x" /> - 若使用自行编译的Wix源码,替换为本地项目引用:
<ProjectReference Include="..\WixToolset.Util\WixToolset.Util.csproj" />
4. 验证编译后的扩展是否正确生成
检查Wix源码编译的输出目录,确认WixToolset.Util.dll(或对应版本的扩展文件)已成功生成且路径无误。如果源码编译过程存在报错,需先解决编译问题,再进行后续安装包构建。
内容的提问来源于stack exchange,提问作者Michael Kiesel
相关产品推荐
相关产品推荐

