5

I've just started to get the following error in my ClickOnce application. When installing and running the same application, after seemingly successful installation I get an error message:

Application Validation did not succeed

The error details I can see the problem to be:

Strong name signature not valid for this assembly stdole.dll.

When i click into details I get

ERROR DETAILS Following errors were detected during this operation. * [04/13/2016 11:33:22 AM] System.Deployment.Application.InvalidDeploymentException (SignatureValidation) - Strong name signature not valid for this assembly stdole.dll. - Source: System.Deployment - Stack trace: at System.Deployment.Application.ComponentVerifier.VerifyStrongNameAssembly(String filePath, AssemblyManifest assemblyManifest) at System.Deployment.Application.ComponentVerifier.VerifyComponents() at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options) at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp) at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

Kinjal Gor
  • 311
  • 3
  • 12

2 Answers2

7

Hey Not sure if you still haven't figured out the problem but please refer to this article: strong-name-signature-not-valid-for-this-assembly-stdole-dll and apply it depending on the version of Visual Studio you are using.

The Problem is that the ClickOnce application is trying to use an unsigned version of the stdole dll but you need to have that signed.

Details from the webpage:

  1. Open path “C:\Program Files (x86)\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office11” and “C:\Program Files (x86)\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12”, there is file stdole.dll wich was 16kb large and not signed

  2. Open the path “C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies”, there is file stdole.dll wich was 25kb large and signed

  3. Replaced the unsigned dlls with the signed ones and did another publish

John M
  • 12,652
  • 28
  • 84
  • 132
SLin
  • 355
  • 6
  • 17
  • Not sure when, but this is going to get locked because of me too responses. Thanks for the solution; took less than 5 mins to implement despite the oh so cryptic error log ClickOnce provided. – tobriand Feb 20 '17 at 16:50
  • Copying the larger stdole.dll from `C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies` Solve the problem for me too. Versions and folders were different (using an old VS 2013 Pro install), but the provided paths will get you close enough. – TwoFingerRightClick May 04 '21 at 22:29
1

This is a remarkably insidious problem that will sneak up on you again and again (dev boxes, build machines, etc). For whatever reason Microsoft keeps an old unsigned version of the assembly in the Visual Studio assembly search path.

Check out Why is Visual Studio 2015 adding stdole.dll and Microsoft.AnalysisServices.AdomdClient.dll to my project? for some more details and some answers which may help avoid this in the future.

Community
  • 1
  • 1
Nick
  • 3,062
  • 2
  • 21
  • 17