Wix: сохранить значения из ListBox в конфигурационный файл - PullRequest
1 голос
/ 26 января 2012

У меня есть установщик с кнопками ListBox и Add / Remove в одном из диалогов.Элементы в ListBox добавляют и удаляют через мои CA.

Microsoft.Deployment.WindowsInstaller.View listBoxView = session.Database.OpenView("select * from ListBox where Property = '" + listBoxProperty + "'");
            listBoxView.Execute(null);
            int count = 0;
            while (listBoxView.Fetch() != null)
                count++;

            Record newListBoxRecord = new Record(4);
            newListBoxRecord[1] = listBoxProperty;
            newListBoxRecord[2] = ++count;
            newListBoxRecord[3] = listItemValue;
            newListBoxRecord[4] = listItemValue;

            ICollection<ValidationErrorInfo> errors = listBoxView.ValidateNew(newListBoxRecord);
            if (errors == null)
                listBoxView.Modify(ViewModifyMode.InsertTemporary, newListBoxRecord);

Элементы успешно добавляются и удаляются, но позже мне нужно сохранить их в файле конфигурации приложения.Отложенное действие не имеет доступа к базе данных установщика, поэтому я использовал немедленное действие после InstallFinalize.Но когда я читаю таблицу ListBox, она пуста.Я полагаю, это происходит из-за режима модификации InsertTeorary.Режим вставки дает мне «Функция не выполнена во время выполнения. База данных: Ошибка обновления таблиц».ошибка.

1 Ответ

0 голосов
/ 27 января 2012

Когда вы покидаете эту страницу мастера, сохраните список в свойстве с символом-разделителем.

Отложенные действия имеют доступ к специальному свойству CustomActionData, чтобы вы моглизапишите их в файл конфигурации во время фазы установки.

Использование немедленных действий после того, как InstallFinalize имеет обратную сторону, что вы не можете записывать в защищенные системные области, такие как Program Files.Только отложенные действия могут выполняться с повышенными правами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...