InstallShield: как можно протестировать отдельные пользовательские действия? - PullRequest
2 голосов
/ 22 марта 2012

(я использую InstallShield2012 V.18)

В setup.rul я определил функцию для объявления prototype , включил файл с определением функции и успешно скомпилировал его (InstallShieldcompile).

Теперь я бы хотел протестировать эту функцию (только).Я не хочу запускать всю установку, даже не тестировать (Ctrl-T), потому что я хочу избежать полной перестройки, которая занимает слишком много времени, чтобы делать это часто.

Есть ли способпроверить только пользовательскую функцию в InstallShield или в командной строке?

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Не совсем, хотя я могу дать вам несколько советов.

  1. Создать фиктивную функцию с флагом выпуска DEVONLY.
  2. Создайте фиктивный компонент для этой функции.
  3. Создайте ProductConfiguration, которая создает один MSI без EXE и флаг выпуска DEVONLY.

Построение этого производстваКонфигурация будет очень быстрой.Пара секунд на моем ноутбуке с SSD.Вы можете выборочно включать другие функции с помощью флагов выпуска, если вам нужны определенные компоненты для настройки тестовой среды для вашего CA.

Другая стратегия состоит в том, чтобы разработать ваш CA в проекте для тестирования, а затем пересадитькод в ваш настоящий установщик, когда вы знаете, что все работает.

0 голосов
/ 23 марта 2012

Кристофер, спасибо за быстрый ответ. Я должен поставить свой ответ здесь, потому что комментирование было ограничено, потому что слишком долго.

Я тоже думал об использовании такого обходного пути, но сначала хотел избежать его, если это возможно. Но хорошо, теперь я попробовал эти шаги, 1 и 2 без проблем, но 3: InstallShield не позволил мне настроить конфигурацию продукта без Setup.exe в моем файле .ism (хотя у нас есть IS2012 Pro).

Затем я попытался сделать это в базовом проекте MSI (вы это имели в виду?), Который действительно собирается за очень короткое время. И теперь я вижу свои сценарии во время тестового выпуска, да :-)

Чтобы "трансплантировать" мой сценарий сейчас в основной ism, мне не хватает функции экспорта для файлов .rul, так как она существует для пользовательских действий, но есть только импорт. Поэтому мне придется копировать-вставлять при переключении между файлами ism, но не берите в голову.

...