Installation 如何通过.msi包修改machine.config
我正在尝试创建一个安装程序,该安装程序将部署.NET托管数据提供程序。为了使数据提供程序在应用程序下拉列表中显示为提供程序,我必须在machine.config的部分中添加该提供程序:Installation 如何通过.msi包修改machine.config,installation,windows-installer,machine.config,Installation,Windows Installer,Machine.config,我正在尝试创建一个安装程序,该安装程序将部署.NET托管数据提供程序。为了使数据提供程序在应用程序下拉列表中显示为提供程序,我必须在machine.config的部分中添加该提供程序: <system.data> <DbProviderFactories> <add name="My Data Provider" invariant="Sample.MyDataProvider" descripti
<system.data>
<DbProviderFactories>
<add name="My Data Provider"
invariant="Sample.MyDataProvider"
description="My Data Provider"
type="Eli.Sample.MyDataProvider, Sample.MyDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b9d34470b87a97f"
/>
</DbProviderFactories>
</system.data>
我该怎么做?只要一个指针就可以了。谢谢。您需要创建一个并将其添加到MSI来完成此操作(我假设您正在使用Visual Studio安装项目来完成此操作)。您需要创建一个并将其添加到MSI来完成此操作(我假设您正在使用Visual Studio安装项目来完成此操作)。如果您正在使用Wix,则可以使用该元素
如果您使用Wix,您可以使用该元素
<util:XmlConfig
Id="Machine_Config_Xml_Root"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
Action="create"
On="install"
ElementPath="//configuration/system.data/DbProviderFactories"
Name="add"
Node="element"
Sequence="1">
</util:XmlConfig>
<util:XmlConfig
Id="Machine_Config_Xml_2"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
ElementPath="Machine_Config_Xml_Root"
Name="name"
Value="My Data Provider"
Sequence="2">
</util:XmlConfig>
<util:XmlConfig
Id="Machine_Config_Xml_2"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
ElementPath="Machine_Config_Xml_Root"
Name="invariant"
Value="Sample.MyDataProvider"
Sequence="2">
</util:XmlConfig>
<util:XmlConfig
Id="Machine_Config_Xml_2"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
ElementPath="Machine_Config_Xml_Root"
Name="description"
Value="My Data Provider"
Sequence="2">
</util:XmlConfig>
<util:XmlConfig
Id="Machine_Config_Xml_2"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
ElementPath="Machine_Config_Xml_Root"
Name="type"
Value="Eli.Sample.MyDataProvider, Sample.MyDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b9d34470b87a97f"
Sequence="2">
</util:XmlConfig>
<util:XmlConfig
Id="Machine_Config_Xml_Uninstall_1"
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
Action="delete"
On="uninstall"
ElementPath="//configuration/system.data/DbProviderFactories/add[\[]@invariant='Sample.MyDataProvider'[\]]"
Sequence="1">
</util:XmlConfig>