如何点击clickonce中的Application Manifest检查应用程序是否安装在电脑上?

问题描述 投票:0回答:1

我安装了 clickonce 应用程序。

它使用的是sha1签名算法。证书过期了,我决定将其更改为 EV Sha384 证书。

我使用 Sha256 签名算法重新签名了我的库和清单。

我的应用程序不使用 clickonce 自动更新。当用户单击桌面上的 appref-ms 文件时,我以编程方式执行此操作。

更新成功,我可以看到 appref-ms 文件中的 publickey 指向新的 sha256 密钥。

但是当我更新后第一次单击 appref-ms 或部署清单文件时,它显示我单击一次安装弹出窗口。单击“安装”按钮,不安装任何内容,只需打开我已经更新的应用程序即可。

我想知道为什么要这样做?如何单击 appref-ms 或部署清单文件检查以显示安装弹出窗口?它检查注册表中有什么东西吗?

wpf clickonce
1个回答
0
投票

Clickonce 使用注册表来存储并检查它是全新安装还是更新。

更改证书时单击一次将其视为全新安装。根据微软的说法,它应该在较新的 .NET 版本中修复,但似乎围绕 clickonce 的整个基础设施并没有真正集中。

有一些方法可以缓解它,但它们不是很干净。因此建议拥有一个可以扩展的签名证书。

© www.soinside.com 2019 - 2024. All rights reserved.