Installshield在次要升级期间不替换文件

时间:2013-01-31 13:00:08

标签: windows-installer upgrade installshield

我的应用程序有一个installshield安装程序。现在我为应用程序创建了一个小的升级,并且我的一些组件中的一些文件被更改了。不幸的是,在次要升级之后,文件不会被替换,而是保留其旧内容。这些是文本文件,因此很容易验证。我还明确检查了在升级过程中我尝试覆盖的每个文件的属性中是否覆盖。

我厌倦了创建自定义操作来执行installshield应该执行的操作。你知道为什么会这样吗?如何强制installshield覆盖这些文件?

我正在使用installshield 2008,真的,真的,我真的希望我可以选择改变它。

2 个答案:

答案 0 :(得分:1)

不要粗鲁,但这是一个培训问题而不是工具问题。 Windows Installer是一种基础技术,它对Component RulesFile Versioning Rules的操作方式非常明确。如果它不起作用,那是因为你错误地实现了它。如果您正在编写自定义操作来解决问题,那么这清楚地表明您不了解自己在做什么,并且正在制造黑客来规避MSI。

现在我没有你的FOO.msi(v1)和FOO.msi(v1.1)的副本或升级版的安装程序日志,所以你的问题是无法解决的,除了给你建议研究诸如什么之类的话题组件,密钥文件和配套文件,文件成本核算/版本控制如何工作,主要和次要升级如何工作,然后将这些知识应用于您自己的安装程序。

是的,这是晦涩的,经常是迂腐的东西。但它是MSI如何运作的核心,你真的需要了解它。一旦你这样做,它就会变得更容易。相信我,我去过那里。

答案 1 :(得分:0)

我刚刚遇到过类似的问题。即使我在AssemblyInfo.cs中更改了文件的版本,Install Shield LE也没有获取新编译的文件。似乎我必须真正打开"文件"菜单在"指定应用程序数据"在构建解决方案之前。