【发布时间】:2011-10-15 17:03:56
【问题描述】:
我已经用新的 DLL 更新了我的项目。我已将这些 DLL 的程序集版本和文件版本更新为新的(更高的)值。我已经重建了设置项目并增加了设置的版本,并同意更改产品代码。我已经向 app.config 添加了一个程序集绑定重定向:
<dependentAssembly>
<assemblyIdentity name="LibVlcWrapper" publicKeyToken="F2C6CD8B56B49D4C" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.9" newVersion="2.0.1.0"/>
</dependentAssembly>
.. 然而,当人们安装更新时,新的 DLL 并没有被复制到旧的 DLL 上。有人知道为什么吗?我不断收到错误报告,例如:
无法加载文件或程序集“实施,版本=2.0.1.0,文化=中性,PublicKeyToken=be745ff6cbf41b62”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)
【问题讨论】:
-
使用详细日志记录运行更新:
msiexec /i product.msi /l*vx log.txt。该日志将提供详细信息以及与您的问题相关的日志条目。 -
好的,我看到了:“MSI (s) (FC:1C) [13:35:06:947]: File: C:\Program Files (x86)\iSpy\ iSpy\LibVlcWrapper.dll;不会覆盖;不会打补丁;现有文件的版本相同" ...原来旧的 dll 已经更新到相同的版本号 - 非常感谢您的帮助!跨度>
标签: windows dll installation windows-installer version