Installshield 2009,防止在 MSI 修复期间重新安装功能

发布于 2024-12-03 12:17:12 字数 302 浏览 1 评论 0原文

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

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

我已经尝试了很多方法来执行此操作:

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

如何阻止功能/组件(已链接) SQL 脚本)是否已运行修复?

谢谢

I have a MSI package which on first install will install an SQL script onto an SQL Server. This works fine using the SQL Script feature within Installshield.

During a repair of the MSI, the SQL script is re-run. I want to prevent this from occurring, I only want the script to run on install only.

I have tried a number of things to do this:

  • Conditions on the Feature - Failed
  • Conditions on the component - Failed
  • Modifying the local feature selected registry entry at the end of the install - Failed

how can I prevent a feature / component (which is linked to the SQL Script) from been ran on a repair?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平定天下 2024-12-10 12:17:12

虽然InstallShield 中的SQL 脚本与组件(因此也是功能)相关联,但条件取决于脚本本身。查看脚本的“运行时”选项卡页,您将在底部看到“脚本条件”。这存储在 ISSQLScriptFile 表的 Condition 列中。

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

While a SQL Script in InstallShield is associated to a component ( and therefore a feature ) the condition is on the script itself. Take a look at the Runtime tab page of the script and you'll see "Script Condition" at the bottom. This is stored in the ISSQLScriptFile table in the Condition column.

BTW, you might want to consider instead of trying to force the script to not run during a repair to get it to execute gracefully during the repair. In other words, if the purpose of the script is to create a table, have it do nothing if the table already exists. This way if the table didn't exist the repair would work and the table would get recreated. Specifics depend on the nature of the script in question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文