To expand on some of the earlier suggestions, I would offer the following:
 * As suggested earlier, create two WiX projects--one for the server and one
for the client.
 * Create the client so that all options (or at least a many as possible)
will be used as properties.  To get the client WiX project to compile, you
may need to define default properties and values in your WiX source files.
 * As was also suggested, take a look at the Windows Installer SDK. 
Specifically, I would take a look at the "%ProgramFiles%\Microsoft
SDKs\Windows\v6.1\Samples\SysMgmt\Msi\scripts" directory if you have the
lastest Windows SDK installed.  In this folder, you will find a number of
"Wi" prefixed VBScript files for interacting with Windows Installer.  Of
particular interest might be WiRunSQL.vbs.  There are a few caveats, but you
can essentially perform basic queries against an MSI file.  If you have
defined all your configurable options as properties, you can simply UPDATE
the Properties table with the custom values.  If you adapt the WiRunSQL
vbScript file and embed it in the MSI to use as a VBScript CustomAction, you
can use Session.Property("PropertyName") to set and/or retrieve property
values from the currently-running setup process.  Feed those values to your
MSI queries, and you should be able to update the client MSI file.
 * There are some quirks in VBScript while running under Windows Installer. 
For example, from my experience, timed dialog boxes always seem to spike the
CPU and then just hang.  So, just forewarning you that a VBScript that
behaves one way as a standalone script might behave differently under
Windows Installer.
 * Install Orca.msi from the "%ProgramFiles%\Microsoft
SDKs\Windows\v6.1\bin" directory if you have not done so already.  This will
allow you to view the MSI "database" structure and view/edit table contents,
which can be helpful in verifying that an MSI file was configured correctly.

Though your desired process is a little different, I am essentially doing
other steps similar to those describe above to achieve a similar result.


Hope this helps,
Matthew


Phil Sayers wrote:
> 
> I'd love to be able to "touch" or "generate" the client MSI as part of the
> server installation, based on information entered by a network admin as
> part of the server MSI install.
> 
> This way the client side of the application would already have server
> name, ip address, remoting endpoints written into it's config file and the
> end user woudln't need to enter that info as part of the client install.
> 

-- 
View this message in context: 
http://www.nabble.com/Generate-MSI-during-install-tp17275539p17283646.html
Sent from the wix-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to