【问题标题】:How to ignore some features in updatemode in an InstallScript project?如何在 InstallScript 项目中忽略 updatemode 中的某些功能?
【发布时间】:2014-03-07 15:13:52
【问题描述】:

我正在开发一个 InstallShield InstallScript 项目(不是 MSI),目前正在处理 setup.exe 程序的 "updatemode" 行为。

我想知道是否可以忽略一个特定功能的更新而仍然更新其他功能。

问题是程序在执行过程中需要判断是否需要更新特征,也就是说必须将特征嵌入到更新程序中。

我已经尝试使用 InstallScript 函数FeatureSetItem,但是当我将我的功能设置为 false 时,该功能不会被忽略,而是被我的更新程序卸载。

任何想法都会有所帮助。

【问题讨论】:

    标签: installshield updates installscript installshield-2012


    【解决方案1】:

    不确定您不想更新的内容或原因,但如果只是文件,则将该功能的组件设置为“按日期覆盖”或“按版本覆盖”。

    【讨论】:

    • 这个我已经考虑过了,但是问题是组件里有很多脚本文件,日期不是一个可靠的标准……
    • @gruntzy:请解释为什么日期在您的情况下不是一个可靠的标准。
    • 好吧,假设我们的组件包含一个“FileA.txt”,由 Installshield 在 Date1 日期安装。然后,在 Date2 上,生成了另一个 setup.exe,但由于某些原因(并且发生了这种情况),该安装程序目前没有安装。现在,在 Date3 上,在我们使用新的 setup.exe 之前,在目标机器上修改了“FileA”……我猜 installshield 不会替换那个文件,即使我们应该……
    【解决方案2】:

    在 InstallShield 中,转到“版本”。创建一个新的“发布”,然后通过发布向导。
    发布向导中的一个窗口允许您选中/取消选中该版本的功能。只需取消选中您不想更新的功能即可。这样,当您构建特定的发布配置时,这些功能将不会包含在内。如果您使用原始发布配置进行构建,它们仍将包含在内。

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 2022-07-26
      • 2013-12-22
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多