Как можно добавить несколько элементов в файл конфигурации XML с помощью wix?

Я пытаюсь отредактировать файл XML с помощью Wix. Я использую WixUtilExtension в комплекте с Wix 3.7. XML-файл - это файл настроек, созданный в Visual Studio 2010 для приложения C #. В этом файле я использую элемент, который используется для хранения нескольких строковых значений в массиве. Это содержимое неизмененного файла настроек:


    
        
            
                
                    
                    
                
            
        
    

я хочу добавить элементы к элемент в этом файле. Один из способов сделать это с помощью элемент из пространства имен wix / UtilExtension. Я добавил этот элемент в компонент, который содержит конфигурационный файл следующим образом:


    
    

Это приводит к добавлению одного элемент к элемент. Добавить еще элемент в файл настроек, другой элемент XmlConfig должен быть добавлен в элемент проекта установки с другим атрибутом Id и более высоким значением для атрибута Sequence, например:


После установки MSI, Элемент в файле настроек выглядит так:


My valueMy second value

Я обнаружил, что можно установить атрибут Value приписать значение свойства, как это:



Это хорошо. Я хотел бы, чтобы пользователь мог динамически добавлять несколько значений в процессе установки, чтобы переменное количество элементы могут быть добавлены в файл настроек. Мой первый подход состоял в том, чтобы использовать утверждение как это:



    

Есть несколько проблем с этим подходом:

Оператор foreach использует переменную препроцессора, для которой нельзя установить значение свойства.Значение атрибута Sequence остается неизменным.

Я хотел бы, чтобы пользователь сохранил значения для строковых элементов в свойстве, которое разделяет значения точкой с запятой, а затем анализирует их в выражении foreach, например:



    

Это приводит к следующей ошибке:

The util:XmlConfig/@Id attribute's value, 'String[VALUES]', is not a legal identifier. 
Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). 
Every identifier must begin with either a letter or an underscore.

Можно ли каким-либо образом создать переменное количество элементов с помощью элемента XmlFile или XmlConfig? Является ли единственным решением этой проблемы CustomAction?

Ответы на вопрос(3)

Ваш ответ на вопрос