[WiX-users] Condition on Component based on Env Variable
Hi I am using the latest v2 I want to be able to create a registry key whose value is different depending on an environment variable. I cant seem to find any info on getting an environment variable at msi install time or any examples of using a condition on a component (I figured I'd define 2 components each with the opposite condition) Any ideas appreciated Regards Simon - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] setting a local security policy
Hi Ive seen a post in the archives talking about needing to add a user into the Logon as a service policy in order to start a windows service with a local non system account. Does anyone know how to do this with WiX? - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] QuietExec error
Title: QuietExec error Can anyone give me some advice where I could schedule these custom actions, I need them to run after 2 local users have been created in the same installer, Ive tried a few places including After = ConfigureUsers but the error I get from the quiet execution suggests they havent been created yet? Property Id='CONFIGFRAMEWORKAPPPOOLUSER' Value='C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -ga [ComputerName]\UA_Framework'/ CustomAction Id=CONFIGFRAMEWORKAPPPOOLUSER BinaryKey=WIXCA DllEntry=CAQuietExec Execute=deferred Return=check/ Property Id='CONFIGQUOTESAPPPOOLUSER' Value='C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -ga [ComputerName]\UA_Quotes'/ CustomAction Id=CONFIGQUOTESAPPPOOLUSER BinaryKey=WIXCA DllEntry=CAQuietExec Execute=deferred Return=check/ Simon Burgess Senior Configuration Management Analyst The Exchange Vertex Financial Services Division Jessop House Jessop Avenue Cheltenham Gloucestershire GL50 3SH UK '+44 (0)1242 214183 The information contained in this email is intended only for the individual to whom it is addressed. It may contain privileged and confidential information. If you have received this message in error or there are any problems, please notify the sender immediately and delete the message from your computer. The unauthorised use, disclosure, copying or alteration of this message is forbidden. Neither Vertex Data Science Limited nor any of its subsidiaries will be liable for direct, special, indirect or consequential damage as a result of any virus being passed on, or arising from alteration of the contents of this message by a third party. The following Vertex companies are authorised and regulated by the Financial Services Authority: - Vertex Data Science Ltd - Exchange FS Ltd trading as The Exchange - Vertex Mortgage Services Ltd - Vertex Administration Ltd Vertex Data Science Limited (England and Wales No. 3153391) registered office Pegasus House, Kings Business Park, Liverpool Road, Prescot, Merseyside, L34 1PJ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] iis logging
Does anyone know how to change the default location and schedule of IIS logs for a website in WiX? The WebLog element seems to have very little in it, is there something else Im missing or is this functionality just not available? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] NTFS permissions for the Users Group
Hi Can anyone point me at how to add permissions to the windows temp folder for the Local Users group. I guess I need to know how I add permissions for a group to a folder Im not creating as part of my installer generally. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Sequencing issue with a major upgrade
Hi I get the following compile error with your example: The CustomAction element contains illegal inner text: 'REMOVE=ALL When you say something like the sample is thre something else I need to do, apologies Im not familiar with this syntax From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dana Gutride Sent: 13 September 2006 21:48 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Sequencing issue with a major upgrade Simon: Try something like this: Custom Action="" After=RemoveFiles![CDATA[REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE]]/Custom The UPGRADINGPRODUCTCODE property is set during the upgrade and available during the previous product removal. Dana On 9/13/06, Simon Burgess [EMAIL PROTECTED] wrote: Hi Does anyone know how I can sequence a custom action so that it is run during an uninstall (before the files are removed) but not run as part of a major upgrade when I RemoveExistingProducts? I have the following source: CustomAction Id='AlreadyUpdated' Error='[ProductName] version [ProductVersion]is already installed.' / CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' / CustomAction Id='InstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ CustomAction Id='UninstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;/uquot; quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ InstallExecuteSequence ?if $(var.BuildType) != Dev ? Custom Action='' After='FindRelatedProducts'PATCHFOUND/Custom Custom Action='' After='FindRelatedProducts'NEWERFOUND/Custom ?endif? RemoveExistingProducts After='InstallFinalize' / LaunchConditions After='AppSearch' / Custom Action="" After=InstallFinalizeNOT Installed/Custom Custom Action="" Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Currently when I author and run a major upgrade, it runs the InstallPerfCounter custom action first and at the end runs the UninstallPerfCounter custom action so I end up with no perf counters installed. Any help appreciated. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] string replacement in xml files
Thanks John thats good to know someone out there is going through the same thing ;-) Could I possibly get a peek at your WiX source that would replace a value within some XML as all I can see from the help is how to create a new element From: Crouch, John [mailto:[EMAIL PROTECTED] Sent: 14 September 2006 06:20 To: wix-users@lists.sourceforge.net Cc: Simon Burgess Subject: RE: [WiX-users] string replacement in xml files Simon, I have a very similar issue for an enterprise deployment next year. I am currently using an .ini file which keeps all data for all the deployment locations by computer name (which I know in advance). [NY-SRV-01] This-web-config=127.0.0.1 This-exe-config=127.0.0.2 [SF-SRV-02] This-web-config=721.0.0.1 This-exe-config=721.0.0.2 Then in my WiX generated msi I Look into the registry for the computer name assign that to a value Look up the computer name matching the previous value in my *.ini file Read off the values that this particular msi requires. Use XMLFile to update the key values in my web and app config files. Works fine, however, I am open to any suggestions to improve it. Kind regards, National Oilwell Varco John Crouch Software Engineer/Developer National Oilwell Norway AS Phone:+4751818181 Fax:+4751800547 [EMAIL PROTECTED] www.nov.com This message, including any attachments, is intended only for the addressee and may contain privileged or confidential information. Any unauthorized disclosure is strictly prohibited. If you receive this message in error, please notify us immediately so that we may correct our internal records. Please then delete the original message. Thank you. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Simon Burgess Sent: Wednesday, September 13, 2006 10:48 PM To: 'WiX-users' Subject: [WiX-users] string replacement in xml files I am looking into different ways to handle environment specific information in web.config files. It would seem logical if at deployment time, my installer could determine where it is being run and update a generic config file so that is fit for purpose for the environment it is being run on. I wouldnt need to create new elements exactly but just search for partular tokens within an xml file and replace them with a value I read in from the registry for example. The following is some sample xml from a config file: endpoint address=http://localhost/Configuration/ConfigurationService.svc binding=basicHttpBinding bindingConfiguration=BasicHttpBinding_IConfigurationService contract=Exchange.EnterpriseLibrary.Configuration.IConfigurationService name=BasicHttpBinding_IConfigurationService/ I would need to replace localhost with something more appropriate. Is this something the XMLFile element could handle or is there something else in WiX that could help out? - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Sequencing issue with a major upgrade
Ah yes thank you, this compiles now however when I run the new msi on top of an existing installation (major upgrade) it still runs the InstallPerfCounter custom action AND then the UninstallPerfCounter custom action as before From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dana Gutride Sent: 14 September 2006 15:52 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Sequencing issue with a major upgrade Simon: It seems that you may have put the condition inside of the wrong element. That condition should go in the Custom Action / elements in the InstallExecuteSequence not in the CustomAction / element that define the custom action and it's properties. Dana On 9/14/06, Simon Burgess [EMAIL PROTECTED] wrote: Hi I get the following compile error with your example: The CustomAction element contains illegal inner text: 'REMOVE=ALL When you say something like the sample is thre something else I need to do, apologies I'm not familiar with this syntax From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Dana Gutride Sent: 13 September 2006 21:48 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Sequencing issue with a major upgrade Simon: Try something like this: Custom Action="" After=RemoveFiles![CDATA[REMOVE=ALL AND NOT UPGRADINGPRODUCTCODE]]/Custom The UPGRADINGPRODUCTCODE property is set during the upgrade and available during the previous product removal. Dana On 9/13/06, Simon Burgess [EMAIL PROTECTED] wrote: Hi Does anyone know how I can sequence a custom action so that it is run during an uninstall (before the files are removed) but not run as part of a major upgrade when I RemoveExistingProducts? I have the following source: CustomAction Id='AlreadyUpdated' Error='[ProductName] version [ProductVersion]is already installed.' / CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' / CustomAction Id='InstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ CustomAction Id='UninstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;/uquot; quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ InstallExecuteSequence ?if $(var.BuildType) != Dev ? Custom Action='' After='FindRelatedProducts'PATCHFOUND/Custom Custom Action='' After='FindRelatedProducts'NEWERFOUND/Custom ?endif? RemoveExistingProducts After='InstallFinalize' / LaunchConditions After='AppSearch' / Custom Action="" After=InstallFinalizeNOT Installed/Custom Custom Action="" Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Currently when I author and run a major upgrade, it runs the InstallPerfCounter custom action first and at the end runs the UninstallPerfCounter custom action so I end up with no perf counters installed. Any help appreciated. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Sequencing issue with a major upgrade
Hi Does anyone know how I can sequence a custom action so that it is run during an uninstall (before the files are removed) but not run as part of a major upgrade when I RemoveExistingProducts? I have the following source: CustomAction Id='AlreadyUpdated' Error='[ProductName] version [ProductVersion]is already installed.' / CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' / CustomAction Id='InstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ CustomAction Id='UninstallPerfCounter' FileKey ='installservice.bat' ExeCommand='quot;/uquot; quot;[INSTALLDIR]Exchange\Enterprise Library\Caching\binquot;' Return='check'/ InstallExecuteSequence ?if $(var.BuildType) != Dev ? Custom Action='' After='FindRelatedProducts'PATCHFOUND/Custom Custom Action='' After='FindRelatedProducts'NEWERFOUND/Custom ?endif? RemoveExistingProducts After='InstallFinalize' / LaunchConditions After='AppSearch' / Custom Action="" After=InstallFinalizeNOT Installed/Custom Custom Action="" Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Currently when I author and run a major upgrade, it runs the InstallPerfCounter custom action first and at the end runs the UninstallPerfCounter custom action so I end up with no perf counters installed. Any help appreciated. - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] string replacement in xml files
I am looking into different ways to handle environment specific information in web.config files. It would seem logical if at deployment time, my installer could determine where it is being run and update a generic config file so that is fit for purpose for the environment it is being run on. I wouldnt need to create new elements exactly but just search for partular tokens within an xml file and replace them with a value I read in from the registry for example. The following is some sample xml from a config file: endpoint address=http://localhost/Configuration/ConfigurationService.svc binding=basicHttpBinding bindingConfiguration=BasicHttpBinding_IConfigurationService contract=Exchange.EnterpriseLibrary.Configuration.IConfigurationService name=BasicHttpBinding_IConfigurationService/ I would need to replace localhost with something more appropriate. Is this something the XMLFile element could handle or is there something else in WiX that could help out? - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] WebDirProperties
Hi Im using WiX 2.0.3719 In IIS, for a Website, there are 3 options for Execute permissions (none, script only and scripts and executables). The Execute attribute in WebDirProperties is YesNo Type yes sets scripts and executables no sets to none. As luck would have it, Im after the middle one. Any ideas? Also in my website I want to disable Default Documents. There is a DefaultDocuments attribute on WebDirProperties but that only seems to be for specifying a list of documents, does anyone know how to disable this option in WiX (there is a checkbox in IIS settings Many thanks in advance Simon - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] MSBuild Tasks
This email touches on a problem I'm having. I'm also using MSBuild (via TeamBuild) to talk to WiX to generate msi's. There is mention here of support for incremental build as '(a task will only run if source files have changed)'. Presumably this concerns changes to the .wxs source files, but what about changes to the files that the msi is packaging up? Is there any support in WiX to identify if any of the File elements have a src attribute that has changed since the last time the msi was built? If not does anyone know how else this might be achieved (with MSBuild perhaps or otherwise) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Sleightholm Sent: 14 August 2006 20:41 To: WiX-users Cc: [EMAIL PROTECTED] Subject: Re: [WiX-users] MSBuild Tasks Would it be possible for this version of wix.targets to be adopted by the team as the one that is currently distributed doesn't work with multiple wsx files? Neil PS Thanks Michael Luke you saved me lots of time! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Luke Sent: 12 May 2006 09:22 To: [EMAIL PROTECTED]; 'Francis Kam'; 'Michael F. Collins, III' Cc: 'WiX-users' Subject: RE: [WiX-users] MSBuild Tasks Hi Rob, I made lots of changes to the MSBuild wix.targets a while back to fix a few bugs, but got stymied by the (to me) ridiculous requirement of downloading a pdf, printing it out, filling it in in ink and posting it thousands of miles to Seattle, just so I could submit the changes to the project. I've worked on many open source projects, and this is the first one I've seen with such a requirement. Anyway, I'm not going to sign and post the contributor's agreement, because it's way too much hassle. Attached is the modified .targets file, and I relinquish all rights blah di blah for my changes. This .targets file fixes the following issues: - Made incremental builds work correctly (a task will only run if source files have changed) - Allowed multiple wxs files to be used in one msi - Added BeforeXXX and AfterXXX targets for each action to allow for build custom tasks. This is consistent with Microsoft's existing Team Build targets. - Moved the path to $(MSBuildExtensionsPath)\Windows Installer XML\Wix.targets (c:\program files\MsBuild\Windows Installer XML) to be consistent with MsBuild standards. The wixtasks.dll and wix.targets files should both be installed to this location. To use it, you simply create an MsBuild project file (such as the MsBuild.proj attached) and pass that to MsBuild. Michael Luke [EMAIL PROTECTED] wrote: Quick piece of information. The MSBuild tasks were written by somebody quickly and just handed to us. There hasn't been any more maintenance on the code since then. At this point in time, I expect you know more about how MSBuild works than anyone on the core WiX development team. Your bugs and suggestions would be much appreciated. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Francis Kam Sent: Thursday, May 11, 2006 3:52 PM To: Michael F. Collins, III Cc: WiX-users Subject: Re: [WiX-users] MSBuild Tasks Thanks for the reply. I've modified the wix.targets for multiple output support and it seems to be working fine. I'm rather inexperienced with MSBuild, so maybe I'm just missing something, but isn't the only way to get an array of strings to use item groups instead of properties? You really should be able to define more than one preprocessor variable from the commandline and it seems to me the only way is to change DefineConstants to an item group. I've done this with minimal negative side-effects so far. Anyhow, it's good to see I'm not crazy, and this is a path that others have considered and followed before me. Just in case someone else is interested, what I ended up doing for multiple output support was changing CompileObjOutput to an ItemGroup, and then including: @(Compile-'$(IntermediateOutputPath)%(filename)$(IntermediateExt)') The Compile target's output of course then becomes: @(CompileObjOutput) Then I changed OutputFile in the call to Candle in that Compile target to: $(IntermediateOutputPath) Instances of $(CompileObjOutput) in the other targets were changed to @(CompileObjOutput) as well. -Francis - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] MSBuild Tasks
No its not that, its just that in my organization I have a large number of msi's and each time there is a build I only want to subsequently release what has changed since the last build and release. If only certain msi's get built as part of my build process I know that is all that needs to be released. -Original Message- From: Derek Cicerone [mailto:[EMAIL PROTECTED] Sent: 14 August 2006 21:48 To: 'Simon Burgess'; 'Neil Sleightholm'; 'WiX-users' Cc: [EMAIL PROTECTED] Subject: RE: [WiX-users] MSBuild Tasks That kind of incremental support is not currently there. Are you finding that build times are unacceptably long? Derek -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Simon Burgess Sent: Monday, August 14, 2006 1:07 PM To: 'Neil Sleightholm'; 'WiX-users' Cc: [EMAIL PROTECTED] Subject: Re: [WiX-users] MSBuild Tasks This email touches on a problem I'm having. I'm also using MSBuild (via TeamBuild) to talk to WiX to generate msi's. There is mention here of support for incremental build as '(a task will only run if source files have changed)'. Presumably this concerns changes to the .wxs source files, but what about changes to the files that the msi is packaging up? Is there any support in WiX to identify if any of the File elements have a src attribute that has changed since the last time the msi was built? If not does anyone know how else this might be achieved (with MSBuild perhaps or otherwise) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Sleightholm Sent: 14 August 2006 20:41 To: WiX-users Cc: [EMAIL PROTECTED] Subject: Re: [WiX-users] MSBuild Tasks Would it be possible for this version of wix.targets to be adopted by the team as the one that is currently distributed doesn't work with multiple wsx files? Neil PS Thanks Michael Luke you saved me lots of time! -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Luke Sent: 12 May 2006 09:22 To: [EMAIL PROTECTED]; 'Francis Kam'; 'Michael F. Collins, III' Cc: 'WiX-users' Subject: RE: [WiX-users] MSBuild Tasks Hi Rob, I made lots of changes to the MSBuild wix.targets a while back to fix a few bugs, but got stymied by the (to me) ridiculous requirement of downloading a pdf, printing it out, filling it in in ink and posting it thousands of miles to Seattle, just so I could submit the changes to the project. I've worked on many open source projects, and this is the first one I've seen with such a requirement. Anyway, I'm not going to sign and post the contributor's agreement, because it's way too much hassle. Attached is the modified .targets file, and I relinquish all rights blah di blah for my changes. This .targets file fixes the following issues: - Made incremental builds work correctly (a task will only run if source files have changed) - Allowed multiple wxs files to be used in one msi - Added BeforeXXX and AfterXXX targets for each action to allow for build custom tasks. This is consistent with Microsoft's existing Team Build targets. - Moved the path to $(MSBuildExtensionsPath)\Windows Installer XML\Wix.targets (c:\program files\MsBuild\Windows Installer XML) to be consistent with MsBuild standards. The wixtasks.dll and wix.targets files should both be installed to this location. To use it, you simply create an MsBuild project file (such as the MsBuild.proj attached) and pass that to MsBuild. Michael Luke [EMAIL PROTECTED] wrote: Quick piece of information. The MSBuild tasks were written by somebody quickly and just handed to us. There hasn't been any more maintenance on the code since then. At this point in time, I expect you know more about how MSBuild works than anyone on the core WiX development team. Your bugs and suggestions would be much appreciated. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Francis Kam Sent: Thursday, May 11, 2006 3:52 PM To: Michael F. Collins, III Cc: WiX-users Subject: Re: [WiX-users] MSBuild Tasks Thanks for the reply. I've modified the wix.targets for multiple output support and it seems to be working fine. I'm rather inexperienced with MSBuild, so maybe I'm just missing something, but isn't the only way to get an array of strings to use item groups instead of properties? You really should be able to define more than one preprocessor variable from the commandline and it seems to me the only way is to change DefineConstants to an item group. I've done this with minimal negative side-effects so far. Anyhow, it's good to see I'm not crazy, and this is a path that others have considered and followed before me. Just in case someone else is interested, what I ended up doing for multiple output support was changing CompileObjOutput to an ItemGroup, and then including: @(Compile-'$(IntermediateOutputPath)%(filename
Re: [WiX-users] GAC and call Custom Action
I am using the Enterprise Library in this way as well. I decided to install the assembly into the GAC, also install the assembly to somewhere on the file system and finally install a batch file which is executed via a custom action after InstallFinalize that runs installutil I know its not a particular elegant solution but its what I have right now From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Hidey Sent: 27 July 2006 18:04 To: John Vottero; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] GAC and call Custom Action This was not my decision. This is how the Microsoft enterprise library 2.0 does it. We have signed the msentlib 2.0 and are putting in the gac and want to get all the instrumentation installed for it also with the installer. From: John Vottero [mailto:[EMAIL PROTECTED] Sent: Thursday, July 27, 2006 1:03 PM To: John Hidey; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] GAC and call Custom Action I don't think it's a good idea to put Installer classes in the same assembly that they're installing for. This is one of the reasons. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of John Hidey Sent: Wednesday, July 26, 2006 1:51 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] GAC and call Custom Action Here is my problem everyone. I have a msi that installs several files into the gac. I DO NOT create a shadow copy of these files on the file system until my property called CREATESHADOW has a value of 1. These assemblies have installers in them that I need to call. (I know managed installers in not recommended but have to get done quickly) When I put my custom action in and call InstallUtilLib the file isnt actually on the file system. Is there a way to have InstallUtilLib refer the file via its temporary location that is used by the installer? Thoughts? Thanks everyone in advance. John - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Making Use Of Properties In Cutom Actions
I am trying to run a batch file post install. In my Custom Action I specify the location of the batch file using the FileKey attribute. I then want to pass a parameter (file system location) into the batch file, so I use the ExeCommand attribute. When I hard code this parameter, everything works fine, however I really want to use a property value read in from the registry but I cant the Custom Action to use the property which is working fine in other parts of my installer: Property Id='INSTALLDIR' RegistrySearch Id='IDRegistry' Type='directory' Root='HKLM' Key='Software\Exchange FS\Exweb' Name='InstallDir' / /Property CustomAction Id='TestBat' FileKey ='batch' ExeCommand='[INSTALLDIR]' Return='check'/ Any Ideas? Can I not use properties in this way in custom actions? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] InstallUtil and GACing the same assembly
What I was trying to do therefore was to author one Component to install the dll to an arbitrary location on the file system and run installutil on it there, then a second Component to install the dll to the GAC . Should deferred custom actions be able to use the assemblies I have installed to the file system? From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: 11 July 2006 15:38 To: Simon Burgess Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] InstallUtil and GACing the same assembly Simon Burgess wrote: As both the GACing of the assembly and running InstallUtil on the same assembly using the above WiX source code works fine when only one operation is carried out independently, I can only assume it is some kind of sequencing issue. Correct. Assemblies are installed to the GAC after InstallFinalize so deferred custom actions can't use those assemblies. The best solution is to figure out what the assembly is doing to install the perf counters and replace it with stock MSI functionality. -- sig://boBhttp://bobs.org - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] InstallUtil and GACing the same assembly
And that is what I have tried in my example but for some reason while the installutil actions are being performed (see InstallUtilFail.txt) the assemblypath value changes from this location on the file system to a GAClike location (when as you say the GACing of the assembly should come later on) and the installutil operation fails because it is not in the GAC yet From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: 11 July 2006 16:52 To: Simon Burgess Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] InstallUtil and GACing the same assembly Simon Burgess wrote: What I was trying to do therefore was to author one Component to install the dll to an arbitrary location on the file system and run installutil on it there, then a second Component to install the dll to the GAC . Should deferred custom actions be able to use the assemblies I have installed to the file system? Yes. In that case, they're just files. -- sig://boBhttp://bobs.org - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix Fragment Template That Invokes InstallUtil.exe
Hi All I have tried taking the approach below for installing Performance Counters (Im working with Microsofts Enterprise Library code), however in our organization we want to run InstallUtil against a dll to install the performance counters as well as register the same dll in the GAC. The trouble is the wix syntax for installing to the GAC means the file is not actually installed to the file system anywhere and consequently InstallUtil cannot be run on it. Has anyone else who has used this InstallUtil hack come up against this problem? Ive tried having two Component elements, one to install the file to the GAC and 1 to install to the file system and run installutil as below, but the installer seems to get itself in a right muddle and fails. Any insights appreciated. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pavel Repin Sent: 01 May 2006 20:38 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix Fragment Template That Invokes InstallUtil.exe Hi, Here's a hack we use at work, to invoke InstallUtil.exe as part of MSI Install Execute sequence. The hack doesn't rely on embedding binaries that know how to run installer classes. We just assume that one of the appropriate .NET framework runtimes is present on the target system (in my organization it's a bullet-proof assumption, your mileage may vary). You tell it which .NET runtime to use. You can tell it to emit a log file when InstallUtil is run. It uses CAQuietExec action from wixca.dll, which is part of WiX toolchain, to run InstallUtil.exe of your choice. The WiX Fragment Template (it has some terse documentation in the comment block at the top): http://repin.com/wix/InstallUtilFragment.wxs.xml Usage in your WiX file may look like so: ... Binary Id=wixca src="">wixca.dll / FragmentRef Id=daemon.exe.InstallUtilFragment / ... Directory ... Component Id= daemon.exe.Component DiskId=1 Guid=8E44A97D-9FDF-414E-B2E7-58BFB1ED9A3F File Id=daemon.exe.File Name= daemon.exe src="" KeyPath=yes / File Id=log4net.dll Name= log4net.dll src="" / /Component ... /Directory ... The snippet above assumes that you edited the WiX fragment and replaced @FILE@ tokens with daemon.exe, @CLR_VERSION@ tokens with v2.0.50727 (or whatever version of .NET framework you need), @WIXCA@ tokens with wixca. Hope this helps. -- Pavel Repin PS: Let's not turn this thread into discussion of InstallUtil.exe being evil (it well might be evil). Instead it it should be a thread that helps some of us who have to live with InstallUtil for whatever reasons. ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users