使用Azure可信签名签署Wix Bootstrapper失败及安装异常求助
Wix引导程序签名后安装失败及Azure可信签名适配问题
背景
用Wix工具集构建安装程序,生成了4个MSI文件和一个包含这些MSI的bundle,未签名时安装运行正常。通过dotnet sign工具结合Azure可信签名(工件签名),已成功签署所有内嵌的DLL和EXE文件,签名命令如下:
sign code artifact-signing --verbosity warning --timestamp-url http://timestamp.acs.microsoft.com --artifact-signing-endpoint https://weu.codesigning.azure.net --artifact-signing-account MY_ACCOUNT --artifact-signing-certificate-profile MY_PROFILE $unsignedFiles # $unsignedFile 为待签名文件,以空格分隔
问题表现
签署bundle安装包后,安装流程出现异常:运行时弹出“文件打开”对话框,关闭对话框后安装直接终止。查看安装日志,报错内容如下:
[1A34:1EA4][2026-03-28T13:04:01]e311: Failed to acquire container: WixAttachedContainer to working path: C:\Users\WDAGUtilityAccount\AppData\Local\Temp\...
测试环境为Windows Sandbox,使用WDAGUtilityAccount账户。
排查尝试
根据Wix相关签名规范,引导程序(Bootstrapper)需要特殊签名流程:先分离engine,签署后重新附加,再签署引导程序。
- 分离engine的执行命令:
$enginePath = "C:\baustatik\installer\bundle-complete\bin\x64\Release\engine.exe" wix burn detach $bundlePath -engine $enginePath
- 用签署其他文件的方式签署
engine.exe时,可信签名工具返回错误:
fail: Sign.Core.IDataFormatSigner[0] Das Signieren ist mit Fehler -2147024703 fehlgeschlagen.
- 提升日志级别后仍未获取更多有效信息,目前不确定签署engine是否能解决安装失败的根本问题。
- 尝试在MSBuild流程中通过
<Target Name="SignBundleEngine">和SignBundle目标完成签名,依然出现相同错误。
待解决问题
- 安装失败的根本原因是什么?
- 如何正确使用Azure可信签名完成Wix引导程序的签名?
内容的提问来源于stack exchange,提问作者Thomas Woelfer
相关产品推荐
相关产品推荐

