Reputation: 1194
hi i'm trying make a setup msi for my application with wix v3 I have a problem about this task; I need a user input that will be stored in my application's config file (for example i need a dialog for sql connection string and the user input will be written in application config file.)
I tried to google but got nothing worked
Any help is greatly appreciated.
Upvotes: 8
Views: 5785
Reputation: 33270
You'll need to do three things:
Create a custom property:
<Wix>
<Product ...>
<Property Id="SQLSERVER" /> ...
</Product>
</Wix>
Add a custom dialog to your Wix UI to capture the user input and store it to a property. This tutorial should help you with that.
In the component that installs your web.config file, use the XmlFile element to update your web.config with the value of your property:
<util:XmlFile Id="UpdateConnectionStringInConfigSection" File="[ROOT_DRIVE]inetpub/wwwroot/$(var.ProductName)/web.config" Action="setValue" ElementPath="/configuration/connectionStrings/add[\[]@name="ConnectionString"[\]]/@connectionString" Value="[SQLSERVER]" Permanent="yes" />
Upvotes: 8