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

DCN*_*YAM 4 clickonce prerequisites visual-studio-2012

我从Visual Studio 2012发布了ClickOnce应用程序,并选择了.NET 4.0运行时和Microsoft Report Viewer 2012作为先决条件.我还选择从供应商的网站下载先决条件.

当我尝试在客户端PC上安装应用程序时,收到以下错误:

安装程序检测到文件"C:\用户\ MyUserName输入\应用程序数据\本地的\ Temp\VSD537C.tmp\DotNetFX40\dotNetFx40_Full_setup.exe"已经改变,因为它最初发表.

日志不提供其他详细信息.

如果我手动安装.NET运行时,那么当我再次运行Setup.exe时,报告查看器会收到相同的错误.

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

DCN*_*YAM 7

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

提取公钥:

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

  • Product.xml 在哪里 (2认同)