Installshield 2009, предотвратить переустановку функции во время восстановления MSI - PullRequest
2 голосов
/ 06 сентября 2011

У меня есть пакет MSI, который при первой установке установит скрипт SQL на SQL Server. Это прекрасно работает, используя функцию SQL Script в Installshield.

Во время восстановления MSI сценарий SQL перезапускается. Я хочу предотвратить это, я хочу, чтобы скрипт запускался только при установке.

Я пытался сделать несколько вещей, чтобы сделать это:

  • Условия для функции - Сбой
  • Условия для компонента - Сбой
  • Изменение локальной записи выбранной записи реестра в конце установки - Ошибка

как я могу предотвратить запуск компонента / компонента (который связан со сценарием SQL) при восстановлении?

Спасибо

1 Ответ

1 голос
/ 07 сентября 2011

Хотя SQL-скрипт в InstallShield связан с компонентом (и, следовательно, с функцией), условие относится к самому сценарию. Взгляните на закладку Runtime скрипта, и вы увидите «Условие скрипта» внизу. Это хранится в таблице ISSQLScriptFile в столбце Условие.

Кстати, вы можете подумать о том, чтобы не пытаться заставить скрипт не запускаться во время ремонта, чтобы он корректно выполнялся во время ремонта. Другими словами, если целью скрипта является создание таблицы, пусть он ничего не делает, если таблица уже существует. Таким образом, если таблица не существует, восстановление будет работать, и таблица будет воссоздана. Особенности зависят от характера рассматриваемого сценария.

...