Я разрабатываю приложение .NET WinForms, которое полагается на user.config для хранения различных полезных параметров, таких как URL-адреса веб-служб интрасети. Мы хотели бы сделать возможным импортировать пользовательские начальные настройки как часть установки. Вариант использования для этого заключается в том, что в компании есть 100 машин, на которых они хотят установить программное обеспечение, и все они должны иметь ссылку на веб-службу интрасети, о которой идет речь, поэтому ее не нужно настраивать вручную на всех машинах.Инициализация user.config или app.exe.config во время установки
В настоящее время мы используем проект установки VS2008 для создания пакета установки.
Наша идея до сих пор заключалась в том, чтобы позволить установщику создать пользовательский исходный файл .config с информацией (из шаблона), а затем поместить его вместо стандартного, установленного проектом установки.
Однако, я не могу видеть способ сделать это, кроме этих немногих:
- жестко закодировать имя исполняемого в действие пользовательского установщика (вытекающие из System.Configuration.Install.Installer), для того, для использования класса ConfigurationManager для определения пути файла .config. Для изменения исполняемого файла потребуются ручные изменения установщика.
- Сгруппируйте наши собственные классы конфигурации или иерархию файлов/папок, чтобы сохранить настройки. Это в основном лишает нас преимуществ механизма изоляции (что также является препятствием здесь), которое .NET обеспечивает, если я правильно понимаю.
Кто-нибудь знает о каких-либо альтернативах или о способах сделать вышеуказанные два приемлемых?
Я боюсь, что ответ может быть «не делайте этого, он побеждает дух механизма, рулон вашего механизма импорта настроек».
.net так xcopy, что «серьезные» установщики кажутся отходами. Мы писали наш собственный скриптовый установщик XML примерно через два дня, и он делает все, что нам нужно, плюс мы можем легко его расширить. – Bill 2008-10-02 18:16:19