Installshield Installscript свойства

У нас есть Installshield 2009 для нашего продукта. Я пытаюсь запутаться, чтобы сделать некоторые обновления (очевидно, я не оригинальный автор).

Внутри есть довольно сложное расположение компонентов и файлов, плюс есть раздел сценариев для некоторой пользовательской работы.

Мне нужно выполнить следующее, не создавая пустой объект в хранилище.

  1. Один из компонентов должен создать дерево каталогов (две папки глубиной).

  2. В этом дереве (самая глубокая папка) мне нужно создать пустой файл.

Вопросы:

  1. Нужно ли создавать два компонента, по одному для каждого уровня каталога, или будет создано дерево, если я укажу [INSTALLDIR]folder1\folder2?

  2. Я думаю, что установочный скрипт будет местом для создания пустого файла, основываясь на примере CreateFile в справке. Я заметил, что на странице компонентов, что после того, как я ввел значение для свойства Destination, в начале {FOLDER2} появилась небольшая "метка". Могу ли я использовать этот тег в качестве аргумента для CreateFile и как я буду ссылаться на него?

1 ответ

Независимо от типа проекта, я бы, вероятно, предложил создать структуру папок в представлении "Файлы и папки" и добавить туда пустой файл. Это просто, и у вас будет меньше шансов на ошибку.

Что касается заданных вопросов, ни в проектах Basic MSI, ни в InstallScript не требуются компоненты для каждого уровня папок в системе. Обратите внимание, что если папка еще не существует во время ее выполнения, CreateFile Подход вряд ли создаст папки для вас.

В базовом проекте MSI, {FOLDER2} указывает на то, что FOLDER2 является именем записи каталога, и после CostFinalize будет свойство с тем же именем, которое содержит его местоположение во время выполнения. Вы можете получить его в пользовательском действии InstallScript с помощью MsiGetProperty, В чистом проекте InstallScript подход будет немного другим, в худшем случае это будет что-то вроде TARGETDIR ^ "folder1" ^ "folder2" (мой InstallScript ржавый).

Другие вопросы по тегам