Excel VSTO ClickOnce安装从Apache服务器抛出错误“dll.manifest,具有与清单中指定的不同的计算哈希值”。

时间:2013-11-12 16:27:11

标签: git excel apache2 vsto clickonce

首先,我意识到这个问题已被问过很多次。我已经回顾了无数的解决方案,但没有一个解决了我的错误。

所以我有一个已发布的ClickOnce Excel加载项,它将从本地目录安装时安装正常(因此在同一文件夹而不是网站中查找.vsto)。但是我希望我的加载项检查来自服务器的更新,因此我将安装路径设置为http:// [subdomain]。[domain] .com / exceladdin /。

我将我的文件放在git目录中并将它们推送到我的远程存储库。然后我将更改提取到我的Apache2服务器(“setup.exe”,“。vsto”和“Application Files”文件夹都在public / exceladdin目录中)。然后我重启我的Apache2服务器。

当我从Internet Explorer访问.vsto时,它会启动安装,但随后会中断以下消息:

Name: 
From: http://<subdomain>.<domain>.com/exceladdin/<filename>.vsto

************** Exception Text **************
System.Deployment.Application.InvalidDeploymentException: Application manifest has   either a different computed hash than the one specified or no hash specified at all.  --->
System.Deployment.Application.InvalidDeploymentException: File, <filename>.dll.manifest, has a different computed hash than specified in manifest.
   at System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, Hash hash)
   at System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, HashCollection hashCollection)
   at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath)
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.GetManifests(TimeSpan timeout)
   at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()

如果我下载setup.exe并运行它,会发生同样的事情。

我正在使用的东西:

  • 用于创建和发布加载项的Visual Studio 2013

  • 我的远程存储库的GitHub

  • Apache2运行我的服务器

我已经完成/试图解决这个问题的事情:

  • 根据this

  • 设置MIME.types
  • 清理我的构建/解决方案并删除obj和bin文件夹,然后重新发布文件

  • 根据this

  • 使用Mage和MageUI重新签名清单
  • 我还使用自定义测试证书

  • 对我的加载项进行签名

我一直在努力解决这个问题,所以任何疑难解答提示都会非常感激!

提前致谢

1 个答案:

答案 0 :(得分:3)

问题与Github有关,它正在改变我的文件,从而导致哈希码不匹配。

为了解决这个问题,我按照this教程添加了一个带有

的.gitattributes文件
*.vsto binary
*.deploy binary
*.manifest binary

让Github不要更改我的文件。