-----Original Message----- From: Peter Shirtcliffe Sent: 22 October 2012 16:15 To: 'General discussion for Windows Installer XML toolset.' Subject: RE: [WiX-users] ServiceInstaller for harvested file
You shouldn't user ServiceInstaller to install a service unless Wix provides no way to do everything you need to. Use the Wix ServiceInstall element instead. You do have to be careful to separate configuration from (the unchanging aspects of) installation. You must ensure that you're obeying Component Rules if you're generating component definitions. In case you weren't aware, you don't have to put all the files that comprise a service into a single component, nor should you. Stick to one file per component. Would your physical service vary so often that a component consisting of 1 file element and 1 service install element would need to change ? I'd expect the physical architecture to change often during the early days of a project, but it ought to settle down in time. The answer to your question is that you can use <?include?> to insert a .wxi comprising a single file element inside an include, but you possibly shouldn't :) See the Preprocessor section of the wix help. An alternative solution that is widely applicable is to apply XSL transformations to your .wxs files. Heat even has a command line argument to make it easy to apply one if you can live with XSLT version 1.0. -----Original Message----- From: Johann A. Hough [mailto:[email protected]] Sent: 22 October 2012 15:31 To: [email protected] Subject: [WiX-users] ServiceInstaller for harvested file Hi all I've started the arduous process of recreating a new installer using WiX to replace our existing VS2010 Setup Projects. Unfortunately it's not been smooth sailing, because to be able to create some basic installation capabilities like dependencies discovery, website installation, content harvesting, etc. has taken a lot of time and research. I've bridged most of those with various solutions from the web, but have now struck out with the installation of a service. Specifically we harvest content and dependencies using heat (during Build Event) because website projects, and other projects have content that regularly change) and it's simply not feasible to manually update the .WXS file for those changes. One of those projects for installation is a Windows service (in fact it's a .NET Service with a ServiceInstaller implemented). The frustration I'm having is being able to point <ServiceInstall ... /> to the service executable, without having to place the <ServiceInstall /> for it inside the generated (harvested) .WXS file (within in the same <Component ... /> for the <File />). Given my relatively basic understanding of WiX I'm wondering if there is a way to reference that component in a fragment or something so that the <ServiceInstall ... /> can find the service it needs to install. Stating the same problem differently, the <File /> pointing to the Service executable is located in one .WXS (a generated one) and the <ServiceInstall /> for it is located in another .WXS file (manually maintained) - how can I marry the Service Install to make it work? I also have another question regarding some of the properties for Service Install - and I'm not sure why they are there, for example DisplayName, Description, Account, etc. - these are already defined in the .NET ServiceInstaller code and should just be used not so? Thanks all Johann ----------------------------------------------------------------------------- - Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ WiX-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ WiX-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wix-users

