В настоящее время я пытаюсь изменить установщик Wix (V3.5), чтобы отредактировать настройки Web.config приложения .NET, которое я хочу установить. Это нормально для обычных приложений ASP.NET, но теперь я пытаюсь применить мой проект Wix для проекта Entity Framework .NET, который, как вы знаете, имеет более сложную настройку строки подключения с параметрами модели .csdl и .ssdl.Редактирование настроек строки подключения Web.Config с помощью Wix
Так что, если моя web.config установка строки соединения выглядит somehting следующим образом: (где [DBSERVER] & [DBNAME] являются свойства retrived из диалога)
<connectionStrings>
<add name="SSITacticalSolutionEntities" connectionString="metadata=res://*/Model.TacticalSolutionModel.csdl|res://*/Model.TacticalSolutionModel.ssdl|res://*/Model.TacticalSolutionModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=True;MultipleActiveResultSets=True" />
</connectionStrings>
И я редактировать мой Web.config в моем Product.Wsx файл с somehting так:
<util:XmlFile Id="ModifyConnectionString" Action="setValue" Permanent="yes" File="[INSTALLLOCATION]Web.config"
ElementPath="/configuration/connectionStrings/add[\[]@name='!(loc.EntityName)'[\]]" Name="connectionString"
Value="Data Source=[DBSERVER];Initial Catalog=[DBNAME];Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True"" Sequence="5"/>
я строка соединения, как это:
<connectionStrings>
<add name="SSITacticalSolutionEntities" connectionString="Data Source=sd-sql2008r2;Initial Catalog=SsiTacticalSolution1.2.4;Integrated Security=true;providerName=System.Data.EntityClient;MultipleActiveResultSets=True""/>
</connectionStrings>
Что, конечно, имеет смысл, так как им предлагается заменить текущий атрибут строки соединения на то, что я определил в значении.
Но мне действительно нужно здесь отредактировать определенные части строки подключения и оставить оставшуюся часть (есть ли какое-то действие замены, которое я могу использовать здесь), т. Е. оставьте все мои настройки модели на месте и просто замените сервер базы данных и имя и т. д., как мне нужно. Раньше я делал это с установщиками Visual Studio без проблем, и это было так просто в использовании.
Так что мой вопрос заключается в том, может ли это быть выполнено с использованием util.XMLFile или, может быть, использовать: XmlConfig? Я пробовал оба без везения.
Или это не возможно сделать с util.XMLFile, и нужно ли мне это делать вместо CustomAction? Любые идеи были бы очень полезны, спасибо заранее ...
Necro но ... лучше практиковать замену своих настоящих GUID на «PUT-GUID-HERE» в примерах. – Izzy
Спасибо за отзыв Izzy – Alicia