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

Reply via email to