我有一个MSI软件包,首次安装时会将SQL脚本安装到SQL Server上。使用Installshield中的SQL Script功能可以正常工作。
在修复MSI期间,将重新运行SQL脚本。我想防止这种情况发生,我只希望脚本只在安装时运行。
我尝试过很多方法:
如何防止功能/组件(链接到SQL脚本)在修复时运行?
由于
答案 0 :(得分:1)
当InstallShield中的SQL脚本与组件(以及某个功能)相关联时,条件就在脚本本身上。看一下脚本的Runtime标签页,你会在底部看到“Script Condition”。它存储在Condition列的ISSQLScriptFile表中。
BTW,您可能需要考虑而不是尝试强制脚本在修复期间不运行,以使其在修复期间正常执行。换句话说,如果脚本的目的是创建表,如果表已经存在则不执行任何操作。这样,如果表不存在,则修复将起作用,并且将重新创建表。具体取决于相关脚本的性质。