如何在安装过程中修改.NET配置文件?

时间:2008-11-14 10:59:04

标签: .net configuration installer

我使用app.config文件存储一些值(映射数据库的路径,数据连接选择)。这些设置在用户计算机上有所不同,我希望安装程序将它们设置正确。是否有安装程序可以在安装过程中使用.NET配置文件,并允许我创建一些可以帮助我填写这些值的对话框?

我知道这个问题可能类似于:Initializing user.config or app.exe.config during install,但我不仅限于VS 2008安装项目,我想更改配置文件中的设置。

编辑:我看到使用WIX是一种选择,但我觉得用大锤开核桃。它可能是唯一的解决方案,但我仍然希望有一些简单的方法。

5 个答案:

答案 0 :(得分:58)

我们使用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进行了抨击。

答案 1 :(得分:3)

如果您使用的是VS安装项目,是否创建了自定义操作?我已经将它们用于从挖掘XML值到部署数据库的所有内容。

答案 2 :(得分:1)

我已经使用WIX工具集生成了一个msi。该工具允许您以声明方式指定安装期间对app.config等XML文件的更改。问题是虽然有一个重要的学习曲线。搜索wix的sourceforge。

答案 3 :(得分:1)

我使用带有XML插件的NSIS来执行此操作。

答案 4 :(得分:0)

我知道这是一个老问题,但我们并不想将WIX用于一个非常简单的小安装程序。我发现这篇文章详细解释了如何做到这一点。它对我们来说非常有效。

http://www.c-sharpcorner.com/UploadFile/ddoedens/CustomUI11102005042556AM/CustomUI.aspx