我创建了一个自定义安装包来在客户端机器上安装一些字体,并将其部署到C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\FontsInstaller
. 一切都很好,将它作为 Visual Studio 2010 中的先决条件进行引用,我能够毫无问题地发布应用程序。
另一方面,客户端在哈希验证期间收到错误:
验证文件哈希
错误:安装程序检测到文件“C:\Users\RMORAN~1\AppData\Local\Temp\VSD4684.tmp\FontsInstaller\fontsinstaller.msi”自最初发布以来已更改或可能已损坏。
我尝试使用 Bootstrapper Manifest Generator 包含哈希并排除它,我总是在客户端上得到相同的结果。一旦哈希验证失败,文件就会立即被删除(出于安全原因)。
现在,我发现一个Microsoft Connect 错误报告说:
“我安装了一个自定义引导程序包作为我的应用程序的先决条件。当我在安装了 Visual Studio 2012 的系统上构建它时,安装失败并出现以下错误:
安装程序检测到文件“...”自最初发布以来已更改或可能已损坏。
我在 Visual Studio 2010 中构建,对包或项目没有任何更改。当未安装 Visual Studio 2012 时,这将按预期工作。”
我尝试在另一个未安装 VS2012 的工作站上构建此安装程序,并且它通过了客户端上的哈希验证(我遇到了签名问题,但那是另一回事)。这确实是具有 VS2012 的构建机器的问题,而不是客户端,因为在我原来的工作站上构建的包在没有 VS2012 的机器上也失败了。
有没有其他人遇到过这个问题,如果是这样,除了没有安装VS2012之外,您是否找到了解决方法?