Hi,
I am a newbie to WiX, so I apologise in advance if some of these questions are basic! I am trying to create an installer for a program that will include a number of logical modules. One of the "Features" the installer should present is an option to install the database for the application. Once this feature has been selected, the installation UI should provide a dialog for configuring the database details: server name, instance name, authentication type, and SQL user/password if SQL authentication is selected. However, what I would ideally like is to be able to make the database configuration UI a reusable library (so not sure whether this means it should be a WiX library or a merge module). This would allow for installers that required to install a number of databases to just re-use the library and present in the UI as a distinct feature. This seems to me like it would be a common scenario for many applications, so I hope I'm not trying to re-invent the wheel with this. Anyway, I have a number of questions regarding this. Sorry to pile in so many questions into a single post but assistance with any is appreciated! 1. Has this already been done and I can just use a publicly available WiX library? 2. How do you generally handle SQL scripts that have information embedded in them that is to be provided by the user during installation? E.g. Scripts that contain strings such as the database name, such as an ALTER DATABASE script. We would ideally like to keep them in a .sql file that is source controlled and include the .sql file in the installer. Are we able to use variables within the script files referenced by the SqlScript.BinaryKey? 3. How would you handle a CREATE ASSEMBLY T-SQL call, which needs to be provided with the assembly bits (an encoded string representing the assembly). A file reference can't be provided as the script may be executing from a remote server. Should this be done via a custom MSBuild task which takes the output from the assemblies that are to be deployed to SQL and updates the script file (possibly just using a find/replace or regex)? Or is this another scenario that has already been thought about? 4. How do I disable the DB installation when the user does not select that feature? Is this simply a matter of adding conditions to the <Publish Dialog... entries in the UI section of the msi's wsx file to direct to the correct dialog based on whether the feature was selected or not? If so, how do you detect if a particular feature has been selected? 5. For the UI to configure the database, how can the main application msi include the UI for the DB configuration library (either msm or WiX library)? For example, if I wanted the installer UI experience to be the same as the "WixUI_FeatureTree" except for the addition of the DB config UI before the "Ready to intall..." dialog. Can this be done via a custom InstallUISequence element or something? 6. If you disable a groupbox, is it supposed to disable the controls within it? Or is it simply a visual container but not a logical one? Thanks very much, Bardo ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users