Изменение XML (.config) во время установки (installshield 2010)

Я разрабатываю приложение installshield 2010, но «изменение текстового файла» и «изменение файла xml» не подходят для изменения файла конфигурации (включая app.config), потому что условие применения (например, выражение «если») не поддерживается и сделать элемент (атрибут ) порядок в xml файле исправлен.

Может ли кто-нибудь предложить «Рекомендации по изменению конфигурации во время установки»?


person sjuu    schedule 05.01.2011    source источник
comment
Вы можете привести пример XML до и после? Я не совсем понимаю ваш вопрос, поскольку технически порядок атрибутов не имеет значения.   -  person Christopher Painter    schedule 06.01.2011
comment
технически порядок атрибутов не имеет значения, верно. но файл .config должен легко изменяться в нашем приложении и легко просматриваться. Итак, порядок элементов исходного app.config важен. а изменения файла xml делают ненужные закрывающие теги. например, ‹a /› в исходном файле .config. но после импорта ‹a /› изменяется на ‹a› ‹/a›. во-вторых, например, следует добавить или удалить элемент или атрибут, если выбрана какая-то особая функция или флажок. Я думаю, что это невозможно сделать, используя только изменение файла xml (без скрипта).   -  person sjuu    schedule 06.01.2011
comment
В XML ‹a/› и ‹a› ‹/a› должны быть идентичными, и это не имеет значения. Теперь HTML - это совсем другая история ...   -  person Christopher Painter    schedule 16.02.2012


Ответы (1)


InstallShield использует MSXML для своих обновлений, и это поведение модели DOM. Если это для вас неприемлемо, вам придется либо притвориться, что это не XML, и использовать шаблон «Изменения текста», либо написать свои собственные действия.

Поскольку вы спрашивали о «лучших практиках», я бы сказал, что действительный XML - это действительный XML, и если вы беспокоитесь о удобочитаемости для людей, редактирующих его вручную, возможно, им не следует редактировать его вручную, если они не понимают XML должным образом.

Напоминает мне старую шутку 1990-х годов о пользователе, который знал достаточно, чтобы быть опасным, когда узнал, что такое INI-файл.

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

person Christopher Painter    schedule 08.01.2011