Прочитайте файл app.config в Installscript - PullRequest
2 голосов
/ 04 мая 2010

Я хочу знать, как читать строку подключения из app.config с помощью installshield es, хотя есть возможность импортировать XML-структуру файла app.config, но проблема в том, что раздел соединения обновляется во время выполнения.

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

Спасибо

1 Ответ

2 голосов
/ 29 ноября 2012

Вы можете использовать функцию «Изменение текстового файла», чтобы обновить строку подключения. Пожалуйста, укажите параметр foreach для текстового держателя, который вы хотите заменить. Ниже приведена справка Installshield:

Проект

Эта информация относится к следующим типам проектов:

Базовый MSI InstallScript MSI База данных MSI преобразование Эта информация не относится к проектам InstallScript; однако язык InstallScript включает строковые функции для поиска и изменения строковых переменных и литералов. Вы можете использовать эти функции в проектах InstallScript.

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

Во время выполнения установщик Windows использует MsiFormatRecord для разрешения значения свойства и использует это значение для изменения вашего текстового файла. Это позволяет вам использовать данные, которые конечные пользователи вводят в диалоговых окнах, или другую информацию о конфигурации, которая определяется во время выполнения, когда текстовые файлы вашего продукта изменяются во время выполнения.

Пример Следующая процедура демонстрирует, как позволить конечным пользователям указывать во время установки IP-адрес, который должен быть записан в файл web.config на основе XML во время выполнения. Файл web.config устанавливается вместе с продуктом в INSTALLDIR и содержит XML, например:

<appSettings> 

    <add key="IP Address" value="default" /> 

</appSettings> 

Значение по умолчанию, выделенное жирным шрифтом, должно быть заменено IP-адресом, который вводит конечный пользователь.

Обратите внимание, что жестко запрограммированное значение можно заменить свойством для следующих параметров набора замены в представлении «Изменения в текстовом файле»:

Включить файлы Исключить файлы Кроме того, в представлении «Изменения в текстовом файле» можно использовать свойство для следующих параметров элемента замены:

Найти что Заменить Свойство, указанное в любом из этих параметров, должно быть заключено в квадратные скобки, а имя свойства должно быть в верхнем регистре; например, [MYPROPERTY].

Шаг 4 процедуры немного отличается в зависимости от типа проекта, поскольку установщик Windows управляет пользовательским интерфейсом установок Basic MSI, а механизм InstallScript контролирует пользовательский интерфейс установок InstallScript MSI.

Задача

Чтобы позволить конечным пользователям указывать IP-адрес:

В списке просмотра в разделе «Конфигурация системы» нажмите «Изменения в текстовом файле». Добавьте и настройте элемент набора замены, который определяет файл, в котором вы хотите выполнить поиск установки: Щелкните правой кнопкой мыши проводник «Изменения в текстовом файле» и выберите «Добавить набор замен». InstallShield добавляет новый элемент набора для замены. Шаги 2b-2d объясняют, как настроить его параметры, которые отображаются на правой панели.

В настройках целевой папки выберите свойство каталога [INSTALLDIR]. В настройке «Включить файлы» введите следующее: web.config

Оставьте значения по умолчанию для других настроек. Добавьте и настройте элемент замены, который определяет критерии поиска и замены: В проводнике «Изменения в текстовом файле» щелкните правой кнопкой мыши элемент набора замен, созданный на шаге 2, и выберите «Добавить замену». InstallShield добавляет новый элемент для замены. Шаги с 3b по 3d объясняют, как настроить его параметры, которые отображаются на правой панели.

В настройках Find What введите следующее:

В настройке «Заменить на» введите следующее:

Оставьте значения по умолчанию для других настроек. Используйте свойство в диалоге. Эта часть процедуры зависит от того, какой тип проекта вы используете. Для базовых проектов MSI: В Списке просмотра в разделе Интерфейс пользователя нажмите Диалоги. В проводнике диалоговых окон разверните папку «Все диалоговые окна» и щелкните язык в диалоговом окне, которое должно содержать элемент управления «Имя пользователя». В качестве альтернативы вы можете добавить новый диалог. Объявлениеd Отредактируйте элемент управления Field в диалоговом окне и установите для его свойства Property следующее: MYPROPERTY

Для проектов InstallScript MSI: В списке просмотра в разделе «Поведение и логика» нажмите «InstallScript». Найдите код диалога в событии OnFirstUIBefore для диалога, который должен содержать элемент управления «Имя пользователя», и добавьте вызов функции API установщика Windows MsiSetProperty. Например, если вы хотите, чтобы конечные пользователи вводили IP-адрес в поле редактирования в диалоговом окне SdShowDlgEdit1, которое вы добавили в свой проект, вы бы добавили вызов MsiSetProperty, как показано в следующих строках кода: Dlg_SdShowDlgEdit1:

nResult = SdShowDlgEdit1 (szTitle, szMsg, szField1, svEdit1); 

MsiSetProperty (ISMSI_HANDLE, "MYPROPERTY", svEdit1); 

if (nResult = BACK) goto Dlg_SdWelcome; 

Создайте свой релиз.

...