Properties, Configuration questions

Jan 21, 2009 at 10:25 PM
I have a question about using WiX Edit with WAI and possibly some issues to point out.

I see two ways to configure settings: change what's listed in Properties, or configure a Property/Value under a Dialog item. I figure that it would be preferable to set as many properties as possible under Properties, where settings are easily viewed/edited. I understand that it will still be useful to change some settings when clicking certain buttons or running certain scripts, but for at least configuring defaults I thought Properties to be the obvious choice. I try to leave as much as possible unchanged on the Dialogs, their associated events/properties, and the scripts. Am I correct in this approach?

I ran into a certain issue that caused me to think this over. I was trying to configure defaults for the DBHOST, SQLADMINUSERNAME, and SQLADMINUSERPASSWORD under Properties in WiX Edit. These changes did not affect DBHOST or SQLADMINUSERNAME when I ran the MSI however. The SQLADMINPASSWORD setting worked. After searching the .wxs source file I found there are Publish events on the WelcomeDlg that will override the SQLADMINUSERNAME and DBHOST settings. I found that removing these events, or pointing back to the setting itself (Property: DBHOST; Value: [DBHOST]) will let me use the settings I configured under Properties. They're no longer being overwritten. Is there any reason to have these set on the Welcome dialog, or is that a remnant of an older version?

Also, thank you very much for an excellent tool. Creating a web installer was a nightmare until I found this project. It truly deserves more attention.
Jan 23, 2009 at 11:18 AM
Hi Will,

thanks for your feedback.

"...I try to leave as much as possible unchanged on the Dialogs, their associated events/properties, and the scripts. Am I correct in this approach?..."
->that is how we thought it should be used -  to create your installer fast. However sometimes it might be useful to change/add the dialogs (e.g. to add special password strength checking, or when the web application's first admin user is hardcoded and should be changed when the web application is run the first time,...).

Regarding DBHOST:
Your are perfectly fine with removing these very publish events. The reason why we did this was as we wanted to create a single template for MYSQL and MS Sql and we wanted to display a reasonable default DB host value to the user -> we needed a mechanism to decide what to display to the user as default value. Alternatively would be 2 properties MSSQLDBHOST and MYSQLDBHOST. Using only one property to do this is much easier e.g. when it comes to change DB connection strings in config files later on. We could have skipped this and leave it up to the Dev- Just like you did.

thanks - love to see dudes using it.