Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > Help on signing/manifests
 

Help on signing/manifests

Im trying to deploy a clickonce application on a server other than localhost. On localhost everything works fine, i'm trying to x-copy files to a server and couldn't manage to get it working on other machines (on mine it works fine).

I read about signing and generating the manifests. I did it through mage, and mageui. No sucess.

I coudn't manage to find any concise and direct information, or any working walkthrough about it. It seems that im having problems mainly with signing and setting assemblies manifests (The error log of clickonce points me toward this direction).

Anyone canhelp on how to properly sign and set manifests of the build?
Any points,or directions on a working sample?

Thanks in advance,
Felipe

The error log description is shown above:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


RESUMO DOS ERROS (ERROR SUMMARY)
Um resumo dos erros pode ser encontrado a seguir. Os detalhes desses erros são relacionados posteriormente no log.
* Exceção na ativação dehttp://i.com.br/d/tra/Tra.application. As seguintes mensagens de erro foram detectadas:
+ Exceção ao ler o manifesto dehttp://i.com.br/d/tra/Tra.application: talvez o manifesto não seja válido ou o arquivo não pôde ser aberto. (The manifest may be invalid, or can't be opened)
+ A assinatura XML do manifesto não é válida. (Invalid Manifest XML signing)
+ Nenhuma assinatura estava presente na entidade.(No signature was present on Entity)


RESUMO DA FALHA DA TRANSAÇÃO DE ARMAZENAMENTO DO COMPONENTE
Nenhum erro de transação foi detectado.

AVISOS
Não houve avisos durante esta operação.

STATUS DO ANDAMENTO DA OPERAÇÃO
* [2/3/2009 13:02:11] : A ativação de http://i.com.br/d/tra/Tra.application foi iniciada.

DETALHES DOS ERROS
Os erros a seguir foram detectados durante esta operação.
* [2/3/2009 13:02:11] System.Deployment.Application.InvalidDeploymentException (ManifestParse)
- Exceção ao ler o manifesto de http://i.com.br/d/tra/Tra.application: talvez o manifesto não seja válido ou o arquivo não pôde ser aberto.(The manifest may be invalid, or can't be opened)
- Origem: System.Deployment
- Rastreamento de pilha:
em System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
em System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
em System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
em System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension)
em System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
--- Exceção interna ---
System.Deployment.Application.InvalidDeploymentException (SignatureValidation)
- A assinatura XML do manifesto não é válida.(Invalid Manifest XML signing)
- Origem: System.Deployment
- Rastreamento de pilha:
em System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
em System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
--- Exceção interna ---
System.Security.Cryptography.CryptographicException
- Nenhuma assinatura estava presente na entidade. (No signature was present on Entity)

- Origem: System.Deployment
- Rastreamento de pilha:
em System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
em System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)

DETALHES DA TRANSAÇÃO DE ARMAZENAMENTO DO COMPONENTE
Nenhuma informação de transação está disponível.





>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Felipe A. J. Torres  Tuesday, March 03, 2009 8:55 PM

To sign your deployment with a "test certificate" (i.e. something other than Verisign or Thawte), just go to the Signing tab under the project properties. Check the checkbox that says "Sign the Click Once manifests", and click on "Create Test Certificate".

This will create a certificate that will be good for a year. When the user installs the app, it will say it is coming from an unknown publisher. You have to actually purchase a certificate to have it say it is published by your company. But it will work. (Unless you are deploying a VSTO application, which pretty much requires a purchased certificate).

You can't xcopy the files to the server unless you set the installation URL equal to what the users will use to access the files. So you can deploy the application to a file location, setting the installation url (like http://mycompany.com/myapp"), then copy it over to the server. Be sure you get it in the right formation (look on your localhost to see). It's easier to just deploy it directly to the server, and you can do that with FTP or with HTTP.

Let me know if you have any other questions.

RobinS.
GoldMail.com
Ts'i mahnu uterna ot twan ot geifur hingts uto.
RobinDotNet  Wednesday, March 04, 2009 12:24 AM

To sign your deployment with a "test certificate" (i.e. something other than Verisign or Thawte), just go to the Signing tab under the project properties. Check the checkbox that says "Sign the Click Once manifests", and click on "Create Test Certificate".

This will create a certificate that will be good for a year. When the user installs the app, it will say it is coming from an unknown publisher. You have to actually purchase a certificate to have it say it is published by your company. But it will work. (Unless you are deploying a VSTO application, which pretty much requires a purchased certificate).

You can't xcopy the files to the server unless you set the installation URL equal to what the users will use to access the files. So you can deploy the application to a file location, setting the installation url (like http://mycompany.com/myapp"), then copy it over to the server. Be sure you get it in the right formation (look on your localhost to see). It's easier to just deploy it directly to the server, and you can do that with FTP or with HTTP.

Let me know if you have any other questions.

RobinS.
GoldMail.com
Ts'i mahnu uterna ot twan ot geifur hingts uto.
RobinDotNet  Wednesday, March 04, 2009 12:24 AM

You can use google to search for other answers

Custom Search

More Threads

• VisualStudio 2008 setup project adds allways HKEY_CURRENT_USER Software [Manufacturer] [Productname]
• Setup Project and Prerequisites
• ClickOnce installed app not found in Program Files
• ClickOnce deployment to multiple sites
• bootstraping .NET redistributable with ClickOnce
• MSI and Installshield
• Major Smart Client Deployment issues
• Reference Paths in publish screen
• how to publish my windows application with its own database
• Multiple scripts in Post-Build event