I have a VS2010 .NET 4.0 VSTO Outlook Addin project that I wish to migrate to VS2012 (but keep it in .NET 4.0). It compiles fine, and runs from inside the IDE just fine, but when I attempt to run the published ClickOnce installer, I get the following exception:
System.Deployment.Application.InvalidDeploymentException: Exception
reading manifest from file://MyPath/MyAddIn.vsto: the manifest may not
be valid or the file could not be opened.
---> System.Deployment.Application.InvalidDeploymentException: Manifest XML signature is not valid.
---> System.Security.Cryptography.CryptographicException: SignatureDescription could not be created for the signature algorithm
supplied.
Based on my tests and online research (here and there), it appears that just having VS2012 installed on my machine (whether I publish from VS2010 or VS2012) forces the ClickOnce installer to require a SHA1 certificate when using .NET 4.0. My existing SHA256 certificate works perfectly fine with .NET 4.0 when compiled using VS2010 (without VS2012 installed).
- I can't upgrade clients to .NET 4.5 because this is a VSTO40 project (runs on XP/Office 2007).
- I can't uninstall VS2012/.NET 4.5 on local machine because I have other projects that need it.
- I can't easily downgrade my certificate from SHA256 to SHA1.
Are there any other suggestions to allow me to move forward?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…