Re: [WiX-users] Generate MSI during install
here is a method I use to consume an xml file. You could get your server application to generate an xml and let the client consume it during installation. http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!197.entry Matthew Sheets wrote: 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-tp17275539p17309706.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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Generate MSI during install
Check out the windows installer SDK there are api's to allow you to edit an MSI. I would suggest just creating the client MSI and then using a custom action to edit some properties during the server install. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Phil Sayers Sent: Friday, May 16, 2008 9:06 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Generate MSI during install I'm doing some planning for moving from our existing xcopy based deployment to msi (hopefully with wix) based installs. Our application is written in .net framework 2.0 We have a client server that need to be deployed with separate MSI's. The server side of the application consists of a bunch of dll files and an IIS hosted remoting server. 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. I'm new to Wix, but I have been lurking on this list for the last 6 months or so. Is this something i can do with Wix? Has anyone done something like this? Thanks Phil - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Generate MSI during install
Thanks for the info. I'm sure this can be done. I'm trying to work out the best way to move forwards and be able to produce a proof-of-concept that shows it. If the wix toolset will get me 80% (or more) of the way there then I can most likely hammer away at the remaining small issues until I get them worked out. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Gendelman, Yuri Sent: Friday, May 16, 2008 10:38 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Generate MSI during install Hello Phil, You can create 2 separate WiX projects, for a server, and for a client. Than add a Custom Action to the first one (server), which will launch a batch file for compiling and linking the second one (client). MBR, Yuri -Original Message- Date: Fri, 16 May 2008 10:05:47 -0400 From: Phil Sayers [EMAIL PROTECTED] Subject: [WiX-users] Generate MSI during install To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 I'm doing some planning for moving from our existing xcopy based deployment to msi (hopefully with wix) based installs. Our application is written in .net framework 2.0 We have a client server that need to be deployed with separate MSI's. The server side of the application consists of a bunch of dll files and an IIS hosted remoting server. 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. I'm new to Wix, but I have been lurking on this list for the last 6 months or so. Is this something i can do with Wix? Has anyone done something like this? Thanks Phil - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Generate MSI during install
Hello Phil, You can create 2 separate WiX projects, for a server, and for a client. Than add a Custom Action to the first one (server), which will launch a batch file for compiling and linking the second one (client). MBR, Yuri -Original Message- Date: Fri, 16 May 2008 10:05:47 -0400 From: Phil Sayers [EMAIL PROTECTED] Subject: [WiX-users] Generate MSI during install To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 I'm doing some planning for moving from our existing xcopy based deployment to msi (hopefully with wix) based installs. Our application is written in .net framework 2.0 We have a client server that need to be deployed with separate MSI's. The server side of the application consists of a bunch of dll files and an IIS hosted remoting server. 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. I'm new to Wix, but I have been lurking on this list for the last 6 months or so. Is this something i can do with Wix? Has anyone done something like this? Thanks Phil - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Generate MSI during install
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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users