从VS 2012发布ClickOnce应用程序后下载先决条件时出错

时间:2013-04-25 18:31:25

标签: visual-studio-2012 clickonce prerequisites

我从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时,报告查看器会收到相同的错误。

导致此错误的原因是什么?如何防止错误发生?

1 个答案:

答案 0 :(得分:7)

从Microsoft下载的文件具有与引导程序配置文件(Product.xml)中指定的公钥不同的公钥。至少其中一些是在VS 2012发布后发布的,必须使用不同的密钥签名。我不得不从数字签名证书中提取公钥,并使用它来替换product.xml文件中指定的公钥。在此之后,它运作良好。

提取公钥:

  • 右键单击安装程序可执行文件,然后单击Properties
  • 点击Digital Signatures标签。
  • 从列表中选择签名,然后单击Details按钮。
  • General标签上,点击View Certificate按钮。
  • Certificate窗口中,点击Details标签,找到名为Public Key的字段。
  • 突出显示并复制数据。您需要运行查找/替换以删除空格。
  • 将此密钥粘贴到此安装程序包的Product.xml文件中的公钥属性中。