Delphi 12.2 Provisioning无法保存签名配置问题咨询
Delphi 12.2 Windows应用自动签名失效问题排查与解决
可能的配置遗漏项
- 确认配置与平台匹配:修改Provisioning设置前,先确认「项目选项」顶部的**目标平台(64位)和编译配置(Debug/Release)**是你实际使用的组合,避免修改了未启用的配置导致无效。
- 开启链接器签名开关:进入「项目选项>链接器>Windows」,勾选「签署PE文件」,并选择「使用配置文件中的设置」——若手动指定签名参数,会覆盖Provisioning的配置。
- 验证PFX文件可用性:将PFX导入本地证书存储(当前用户/本地计算机),确认证书具备代码签名权限且未过期。IDE可能因PFX读取权限不足,自动重置构建类型为Normal。
- 检查项目文件冲突:用文本编辑器打开
.dproj文件,搜索<ProvisioningType>和<BuildType>字段,排查是否存在不同配置节点的参数冲突(比如Debug配置强制设为Normal),手动修正后保存。
IDE已知问题与临时修复
Delphi 12.2存在Provisioning配置保存失效的已知Bug,可尝试以下操作:
- 修改设置后先点击「应用」,再点击「确定」,避免直接确认导致配置未写入。
- 关闭IDE,删除项目目录下的
.local缓存文件夹,重新打开项目后再配置签名参数。 - 安装Embarcadero发布的12.2最新补丁,官方通常会修复这类配置保存类问题。
替代自动签名方案
若上述方法无效,可通过后构建事件自动调用signtool:
- 进入「项目选项>构建事件>后构建事件」
- 添加命令(替换为你的实际参数):
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" sign /f "C:\你的证书路径\xxx.pfx" /p "证书密码" /t "http://timestamp.digicert.com" "$(OUTPUTPATH)"
内容的提问来源于stack exchange,提问作者SteveS
相关产品推荐
相关产品推荐

