我从Visual Studio 2012发布了ClickOnce应用程序,并选择了.NET 4.0运行时和Microsoft Report Viewer 2012作为先决条件。我还选择从供应商的网站下载先决条件。
当我尝试在客户端PC上安装应用程序时,收到以下错误:
安装程序检测到该文件 'C:\ Users \用户名为myUsername \应用程序数据\本地\ TEMP \ VSD537C.tmp \ DotNetFX40 \ dotNetFx40_Full_setup.exe' 自最初发布以来发生了变化。
日志不提供其他详细信息。
如果我手动安装.NET运行时,那么当我再次运行Setup.exe时,报告查看器会收到相同的错误。
导致此错误的原因是什么?如何防止错误发生?
答案 0 :(得分:7)
从Microsoft下载的文件具有与引导程序配置文件(Product.xml)中指定的公钥不同的公钥。至少其中一些是在VS 2012发布后发布的,必须使用不同的密钥签名。我不得不从数字签名证书中提取公钥,并使用它来替换product.xml文件中指定的公钥。在此之后,它运作良好。
提取公钥:
Properties
。Digital Signatures
标签。Details
按钮。General
标签上,点击View Certificate
按钮。Certificate
窗口中,点击Details
标签,找到名为Public Key
的字段。Product.xml
文件中的公钥属性中。