Hello,
I need to create a setup project for a webapplication that includes a link to a ClickOnce installer (MyApp.application) and the ClickOnce installer package itself. The problem is that when I build and publish the ClickOnce application I don;t know the Install URL that will be used on the web server after the package is installed there.
In a few words, I need to manually republish the application on a series of different webservers by simply copying the files to other websites.
I found in the MyApp.application file, the section that holds this install URL:
<deploymentProvider codebase="http://installLocation/MyApp.application" />
and changed the codebase attribute in a custom action of the wrapper setup for the webapplication. After this, I created the setup and included the ClickOnce publishing package and installed it on another web server.
The only problem is that I get the following error when trying to install the ClickOnce application from the web:
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://serverName/webSite/MyApp.application resulted in exception. Following failure messages were detected:
+ Exception reading manifest from http://serverName/webSite/MyApp.application: the manifest may not be valid or the file could not be opened.
+ Manifest XML signature is not valid.
+ The digital signature of the object did not verify.
....
--- Inner Exception ---
System.Deployment.Application.InvalidDeploymentException (SignatureValidation)
- Manifest XML signature is not valid.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
--- Inner Exception ---
System.Security.Cryptography.CryptographicException
- The digital signature of the object did not verify.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)