【问题标题】:Installshield 2009, prevent reinstall of feature during MSI repairInstallshield 2009,防止在 MSI 修复期间重新安装功能
【发布时间】:2011-09-07 23:22:27
【问题描述】:

我有一个 MSI 包,它在首次安装时会将 SQL 脚本安装到 SQL Server 上。使用 Installshield 中的 SQL 脚本功能可以正常工作。

在修复 MSI 期间,重新运行 SQL 脚本。我想防止这种情况发生,我只希望脚本仅在安装时运行。

我已经尝试了很多方法来做到这一点:

  • 功能条件 - 失败
  • 组件条件 - 失败
  • 在安装结束时修改本地功能选择的注册表项 - 失败

如何防止功能/组件(链接到 SQL 脚本)在修复时运行?

谢谢

【问题讨论】:

    标签: installation windows-installer installshield


    【解决方案1】:

    虽然 InstallShield 中的 SQL 脚本与组件(因此也与功能)相关联,但条件取决于脚本本身。查看脚本的 Runtime 标签页,您会在底部看到“Script Condition”。这存储在 Condition 列的 ISSQLScriptFile 表中。

    顺便说一句,您可能需要考虑而不是尝试在修复期间强制脚本不运行,以使其在修复期间正常执行。换句话说,如果脚本的目的是创建一个表,如果表已经存在,则让它什么都不做。这样,如果表不存在,修复将起作用并且表将被重新创建。具体取决于相关脚本的性质。

    【讨论】:

      猜你喜欢
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多