c# - 使用 InstallShield LE 时,msi 包含一个程序集的过时版本,但包含其他程序集的当前版本

标签 c# visual-studio-2010 installation installshield

我在一个包含大约 10 个项目的解决方案上使用 Visual Studio 2010、InstallShield LE。

我已经为"file"部分选择了主 GUI 的主要项目输出,安装到 Program Files 的子目录中,非常标准。

我几周前构建了安装程序并将其安装在我的测试机器上,一切正常。从那时起,我对解决方案中的每个项目进行了更改。今天,我增加了我的程序集版本并重建了我的安装项目以继续测试。

安装后,在程序文件安装目录中,我注意到我的一个项目的程序集仍然列出以前的版本,1.0.0.0,并且文件日期是一个多月前的。目录中的其他程序集显示当前版本和当前修改日期。

我已经尝试删除我的解决方案目录和安装程序项目文件夹中的每个 bin 和 obj 文件夹。我重新安装了,但问题仍然存在。

我用 google 搜索,但由于问题很奇怪,找不到合适的搜索短语。

显然,我需要将最新版本的程序集包含在安装程序 msi 中。

感谢任何帮助或建议!

最佳答案

您需要做两件事:提取 MSI 中的实际文件以了解更新的二进制文件是否存在于 MSI 中,并获取详细的安装日志以查找 Windows Installer 对包含程序集的组件的说明有问题。顺便说一句,您将每个程序集文件作为其自身组件的关键文件,不是吗? Windows Installer 仅检查其路径的版本更新。

关于c# - 使用 InstallShield LE 时,msi 包含一个程序集的过时版本,但包含其他程序集的当前版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675367/

相关文章:

c# - 在自定义 JsonConverter 的 ReadJson 方法中处理空对象

visual-studio-2010 - 在重构期间将 VS2010/Resharper 获取到 "git move"

c++ - 如何通过 ImageMagicK 将图像数据放入数组?

eclipse - 我可以回滚我的 Eclipse Juno 更新吗?

c# - 写入 INI 文件中的某个部分

c# - 在 C# 中从 XML Writer 创建 XML 元素对象

php - 删除 php 包时出错

ruby - 安装 Jekyll 时出错 - native 扩展构建

c# - 确定事件处理程序的优先级

visual-studio-2010 - Release模式下的断点