Error downloading prerequisites after publishing ClickOnce application from VS 2012

自古美人都是妖i 提交于 2019-12-19 03:57:17

问题


I published a ClickOnce application from Visual Studio 2012, and selected the .NET 4.0 runtime and Microsoft Report Viewer 2012 as prerequisites. I also selected to download the prerequisites from the vendor's website.

When I try to install the application on a client PC, I receive the following error:

Setup has detected that the file 'C:\Users\MyUsername\AppData\Local\Temp\VSD537C.tmp\DotNetFX40\dotNetFx40_Full_setup.exe' has changed since it was initially published.

The log provides no additional details.

If I manually install the .NET runtime, then I receive the same error for the report viewer when I run the Setup.exe again.

What causes this error and how do I prevent it from happening?


回答1:


The files that were downloaded from Microsoft had a different public key than what was specified in the bootstrapper configuration files (Product.xml). At least some of them had been published after VS 2012 was released and must have been signed with a different key. I had to extract the public key from the digital signature certificate and use it to replace the public key specified in the product.xml file. After this, it worked fine.

To extract the public key:

  • Right click on the installer executable and click Properties.
  • Click the Digital Signatures tab.
  • Select the signature from the list and click the Details button.
  • On the General tab, click the View Certificate button.
  • In the Certificate window, click the Details tab and locate the field called Public Key.
  • Highlight and copy the data. You will need to run a find/replace to remove the blank spaces.
  • Paste this key into the public key attribute in the Product.xml file for this installer package.


来源:https://stackoverflow.com/questions/16222109/error-downloading-prerequisites-after-publishing-clickonce-application-from-vs-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!