Как изменить файлы конфигурации .NET во время установки?
Я использую файл app.config для хранения некоторых значений (путь к базе данных сопоставления, выбор подключения к данным). Эти настройки отличаются на пользовательских машинах, и я хотел бы, чтобы установщик установил их правильно. Есть ли установщик, который может работать с файлами конфигурации .NET во время установки и разрешить мне создавать некоторые диалоги, которые помогут мне заполнить эти значения?
Я знаю, что этот вопрос может быть похож на: Инициализировать user.config или app.exe.config во время установки, но я не ограничиваюсь проектом VS 2008 и Я хочу изменить настройки в файлах конфигурации.
EDIT: Я вижу, что использование WIX - это один из вариантов, но я чувствую, как взломать грецкий орех кувалдой. Это может быть единственное решение, но я все еще надеюсь на что-то простое.
Ответы
Ответ 1
Мы используем WIX для изменения файла конфигурации приложения. Он работает очень хорошо, вам нужно добавить wixUtilExtension.dll в ссылку.
Пример WIX:
<Component Id="ChangeConfig" Guid="[YOUR_GUID_HERE]">
<File Id="App.config" Name="MyApplication.exe.config" Vital="yes" KeyPath="yes" Source="[Path to project dir]\app.config" />
<util:XmlFile Id="AppConfigSetConnStr" Action="setValue" Permanent="yes" File="[#App.config]"
ElementPath="/configuration/connectionStrings/add[\[]@name='MyDatabaseName'[\]]" Name="connectionString"
Value="Your Connection string values here" />
</Component>
На самом деле это зависит от того, что вы используете для создания установщика, что вы используете?
Примите участие в WIX Tutorial.
Ответ 2
Если вы используете проект настройки VS, вы создали собственное действие? Я использовал их для всего, от выталкивания XML-значений до развертывания баз данных.
Ответ 3
Я использовал набор инструментов WIX для создания msi. Инструмент позволяет декларативно указывать изменения файлов XML, таких как app.config, во время установки. Проблема в том, что есть значительная кривая обучения. Искать исходный код для wix.
Ответ 4
Я использовал NSIS с плагином XML для этого.
Ответ 5
Я знаю, что это старый вопрос, но мы не хотели использовать WIX для очень простого маленького установщика. Я нашел эту статью, которая подробно объясняет, как это сделать. Он отлично работал для нас.
http://www.c-sharpcorner.com/UploadFile/ddoedens/CustomUI11102005042556AM/CustomUI.aspx