Re: [WiX-users] restore a registry value
Nothing built in to do that. In general, I would discourage trying to do that. There will be a fair number of scenarios that will not work correctly. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bei Liu (Volt) Sent: Friday, May 18, 2007 11:52 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] restore a registry value Is there a way that can change a already exist registry value when install and restore its original value when uninstall? Thanks, - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] public properties can be read inside the merge module?
Sure. Just remember the Properites have the Module Id appended to them as described in the MSI SDK. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Amit Srivastava (Tata Consultancy Services) Sent: Sunday, May 20, 2007 4:30 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] public properties can be read inside the merge module? Hi, I have created a merge module using wix and I am trying to read the public properties which is defined outside of merge module(i.e. inside the MSI file). Can we read that properties? That merge module is included in the main wix file file for creation the MSI. I am trying to read the properties from the merge module but I am not getting success? If we can then how we can read that properties..? Thanks Amit srivastava - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build
Although Rob et al, don't recommend this approach we have been using Heat, and it's predecessor, as part of our automated build process for over a year with Wix3. The main things to be wary of are the spurious entries generated by Heat, for example VB6 entries which should not be there. However this is where XML shines, using both Xpath and tranforms, you can sanitise the output from heat directly into compilable code. We use Ant as our main build tool and xmltask a contributed package for ant works very well for the substitions and removal. I am unaware if Nant has a similar package. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch failure when using non-whole files
Thanks for your comments, but with the single file, the patch is 3 times bigger when including whole files. When you factor in the other patching files from the real case (which all make much smaller binary differences) the final patch is closer to 4 times bigger. Do you not think there's a bug in this somewhere or any better workaround? Regards, Gareth -- View this message in context: http://www.nabble.com/Patch-failure-when-using-non-whole-files-tf3778936.html#a10716259 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
Is WiX designed to be used in an automated build process? If so, is there any guidance anywhere on how to do so? I need an installer, and I need it to be generated as part of an automated build process. The code based that it needs to be generated from is a moving target...changes on a ~weekly basis. If WiX isn't what I'm looking for, that's fine, I can move on. I just need to know that. __ // YEX // From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: Friday, May 18, 2007 10:23 PM To: Scott Palmer; Yexley, Robert (LNG-CON) Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Using heat.exe as part of an automated build process Heat isn't designed to be used in an automated build process. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Palmer Sent: Friday, May 18, 2007 7:10 PM To: Yexley, Robert (LNG-CON) Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Using heat.exe as part of an automated build process Not exactly. If you use Heat on a COM DLL, Heat inserts PUT-GUID-HERE for the GUID so you can do a search/replace as part of the automated build to keep the GUID correct and always the same for that component. Other issues are with the directory structure that Heat uses and the fact that it's output doesn't compile anyway. It seems Heat isn't ready for real use yet.. to be expected I guess. Scott On 5/18/07, Yexley, Robert (LNG-CON) [EMAIL PROTECTED] wrote: I'm still learning the ins and outs of WiX. I'm working on trying to integrate the generation of an MSI into our automated build process, and was wondering about the possibility of using heat.ext to harvest the files needed for the features and components for the MSI. I've read a few archived messages from the list that suggested that doing something like this could potentially be problematic, and isn't recommended, but if I understand correctly the reasons why, I'm not sure it would really cause us a problem for what we're wanting to accomplish. So, I'd like to try to confirm whether or not I understand what the issue is with using heat, describe why I don't think its an issue for us, and it'd be great if someone could confirm whether my thinking is correct or not. So, if I understand correctly, the issue with using heat.exe to generate source files for me as part of an automated build process is that for each build, the GUID for each component would be different on each build, which causes problems for the installer if you want it to be able to upgrade a product installation. Is that right? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
But it obviously should be. I hope this can be fixed, since we are stuck with having to deal with all the problems of COM and for some silly reason (I haven't seen a good argument against it yet) SelfReg is not supported and officially broken for dynamically linked DLLs on Vista. Microsoft also has the option of supporting some other method of registering COM components in the tools that are used to create them (Visual Studio). Or they could just deprecate COM.. but I doubt they will admit what a blunder it is, so I'll settle for a build process that is usable in the real world. Excuse the rant, but having to put up with all these things (WiX, MSI, COM, Vista) that work so hard against me is frustrating. Scott On 5/18/07, Rob Mensching [EMAIL PROTECTED] wrote: Heat isn't designed to be used in an automated build process. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
Scott stated [Heat] obviously should be [usable in an automated build process] To which I would reply, Should it really? From my point of view, using Heat (or its WiX V2 predecessor Tallow) is akin to using a radio controlled rifle from several hundred miles away without the benefit of a video feed as well. Sure, it can be made to work, but the consequences if something goes wrong could be fatal (to your end user's machine, or your ability to appropriately support your product). I know there are people out there who are using some form of automated WiX authoring. As long as you truly understand what you are doing (and are prepared for the consequences if you have messed up) that's fine. I, for one, strongly support Rob and the rest of the WiX developers in their decision to only supply the rope. Choosing to make a noose out of it should be entirely your own choice! Oh, and in response to Robert Yexley's question, I have used (and will continue to use) WiX as part of an automated build process, even though I have to go through the pain of re-authoring some of the installation source files when COM GUID's change. As to how appropriate a tool it is for your specific needs - that depends on what you want to use it for, and the stability of the files that make up your product. Regards, Richard From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Palmer Sent: Monday, May 21, 2007 9:49 AM To: Rob Mensching Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Using heat.exe as part of an automated build process But it obviously should be. I hope this can be fixed, since we are stuck with having to deal with all the problems of COM and for some silly reason (I haven't seen a good argument against it yet) SelfReg is not supported and officially broken for dynamically linked DLLs on Vista. Microsoft also has the option of supporting some other method of registering COM components in the tools that are used to create them (Visual Studio). Or they could just deprecate COM.. but I doubt they will admit what a blunder it is, so I'll settle for a build process that is usable in the real world. Excuse the rant, but having to put up with all these things (WiX, MSI, COM, Vista) that work so hard against me is frustrating. Scott On 5/18/07, Rob Mensching [EMAIL PROTECTED] wrote: Heat isn't designed to be used in an automated build process. * C O N F I D E N T I A L I T Y N O T I C E * --- The content of this e-mail is intended solely for the use of the individual or entity to whom it is addressed. If you have received this communication in error, be aware that forwarding it, copying it, or in any way disclosing its content to any other person, is strictly prohibited. Peek Traffic Corporation is neither liable for the contents, nor for the proper, complete and timely transmission of (the information contained in) this communication. If you have received this communication in error, please notify the author by replying to this e-mail immediately and delete the material from any computer. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
Yexley, Robert (LNG-CON) wrote: Is WiX designed to be used in an automated build process? The WiX tools, of course. The subject of this thread is your setup *authoring*. The code based that it needs to be generated from is a moving target...changes on a ~weekly basis. Because the WiX tools can be part of your product's build process, everybody making changes can keep the setup current. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch failure when using non-whole files
Gareth at Serif wrote: Do you not think there's a bug in this somewhere or any better workaround? Yes, there's likely a bug. I don't know of a workaround. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch failure when using non-whole files
So, do you think it's a bug in MsiMsp.exe that I can report to M$ or with the Candle/Light stages prior to it? -- View this message in context: http://www.nabble.com/Patch-failure-when-using-non-whole-files-tf3778936.html#a10721753 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Setting Folder ACL Permissions
Is this something that is not supported in wix 2 or a limitation of Windows? If that is the case, what are others using to solve this? Thanks, John more specifically, what ACL options should I be using to enable ALL users on the computer to write and read files from this folder? The permission element has a user attribute. What should I be passing to this? Any code snippets in v2 will be appreciated. Regards, John - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
WiX is intended to be used in an automated build system. It fits in extremely well with every automated build process that I've been introduced to. What you appear to be looking for is an automated code generation process. Code generation is a completely different problem than building. Code generation is about divining what a developer is thinking (or at least should be thinking) and writing the code for him or her. The WiX toolset does not include any good automated code generation tools. There are tools (namely heat.exe, and dark.exe if you start with an MSI) to help developers capture large amounts of data and translate that into .wxs code. But those tools are designed to be guided by a developer, not run blindly in an automated build process. Of course, the results of the tools can be checked into source control and then operated on in an automated build system. Note that writing a automated code generation process requires significant amount of domain specific knowledge. I had a conversation just this last week with a developer from a company where significant amounts of IDL and VB code is generated by the build process. In that company analysts can only write code into some well known named functions and the rest of the structure was provided for them. Because the system was so structured (and strict) he was able to automatically generate the .wxs code in much the same way the IDL and VB code was generated (for example he was already handling breaking interface changes and there is no resource sharing). Another very large company has strict development guidelines and provides their developers with a complete template of .wxs code that adheres to those guidelines. If the developers need to stray from the company development guidelines then they can tweak/extend the template .wxs code as necessary. However, the generated template code no longer applies. That company likes the WiX toolset because it provides both a solid starting point and the flexibility when needed. I have yet to see an automated code generation tool that can just point at any application of any complexity and go, Oh, that's a FizzlyBear and it needs to be installed, uninstalled, upgraded, patched, and handle rollback like this. Oh, and it needs to be per-user/per-machine and store state in this location and... and... and... Today the WiX toolset provides a solid foundation for your automated build system. We're still dabbling in tools to help make it easier to work with the .wxs code but Code Divination is still a skill I haven't mastered at Hogwarts yet. From: Yexley, Robert (LNG-CON) [mailto:[EMAIL PROTECTED] Sent: Monday, May 21, 2007 6:19 AM To: Rob Mensching; Scott Palmer Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Using heat.exe as part of an automated build process Is WiX designed to be used in an automated build process? If so, is there any guidance anywhere on how to do so? I need an installer, and I need it to be generated as part of an automated build process. The code based that it needs to be generated from is a moving target...changes on a ~weekly basis. If WiX isn't what I'm looking for, that's fine, I can move on. I just need to know that. __ // YEX // From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: Friday, May 18, 2007 10:23 PM To: Scott Palmer; Yexley, Robert (LNG-CON) Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Using heat.exe as part of an automated build process Heat isn't designed to be used in an automated build process. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Palmer Sent: Friday, May 18, 2007 7:10 PM To: Yexley, Robert (LNG-CON) Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Using heat.exe as part of an automated build process Not exactly. If you use Heat on a COM DLL, Heat inserts PUT-GUID-HERE for the GUID so you can do a search/replace as part of the automated build to keep the GUID correct and always the same for that component. Other issues are with the directory structure that Heat uses and the fact that it's output doesn't compile anyway. It seems Heat isn't ready for real use yet.. to be expected I guess. Scott On 5/18/07, Yexley, Robert (LNG-CON) [EMAIL PROTECTED]mailto:[EMAIL PROTECTED] wrote: I'm still learning the ins and outs of WiX. I'm working on trying to integrate the generation of an MSI into our automated build process, and was wondering about the possibility of using heat.ext to harvest the files needed for the features and components for the MSI. I've read a few archived messages from the list that suggested that doing something like this could potentially be problematic, and isn't recommended, but if I understand correctly the reasons why, I'm not sure it would really cause us a problem for what we're wanting to accomplish. So, I'd like to try to confirm
Re: [WiX-users] Patching a mergemodule or forcing an install
Uhh, do I understand correctly that you want to install the Merge Modules where they say they can't be installed? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Pseudonymic Wannabe Sent: Monday, May 21, 2007 2:15 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Patching a mergemodule or forcing an install Our application is dependent on some MS Merge-modules which we have in our installer, they are added via the Merge and MergeRef tags. Problem is the mergemodules have a condition VersionNT = 500 or Version9X, this is a problem because we need the mergemodules to install on Windows2000. Now making our application not dependent on them is not an option, and the merge-modules install just fine standalone via the MS installer but as I said we want them in our MSI package. Editing out the conditionals with ORCA seems to break the upgrade/backwards compatibility of the merge-modules (Cannot update the systemfile C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.cpl with Windows Installer because the file is protected by Windows). So I'm a bit at a loss here, how to get those merge-modules to install even though they have a VersionNT = 500 condition. I'm starting to think putting the MS installer into our bootloader would be better. _ More photos, more messages, more storage-get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-usocid=TXT_TAGHM_migration_HM_mini_2G_0507 - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Problem with SQL custom actions.
Hey all, I am having a problem with SQL custom actions. This is what I am getting in the log: MSI (s) (9C:C0) [10:10:21:781]: Doing action: ConfigureSql Action 10:10:21: ConfigureSql. Configuring SQL Server Action start 10:10:21: ConfigureSql. MSI (s) (9C:98) [10:10:21:796]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIF9.tmp, Entrypoint: ConfigureSql ConfigureSql: Error 0x80070057: Failed to allocate WCHAR string of size '640923' ConfigureSql: Error 0x80070057: failed to read SqlScripts table Action ended 10:10:21: ConfigureSql. Return value 3. This is a snippet of my project file: Include xmlns=http://schemas.microsoft.com/wix/2006/wi; xmlns:sql=http://schemas.microsoft.com/wix/SqlExtension; xmlns:iis=http://schemas.microsoft.com/wix/IIsExtension; xmlns:util=http://schemas.microsoft.com/wix/UtilExtension; Binary Id=Sql_ServerInstall SourceFile=Components\Data\ERS\Database\ERSServer.sql / !--Execute SQL Scripts-- sql:SqlDatabase Id=LocalDbServer Server=[SQLSERVER] Database=master / !--Server-- DirectoryRef Id=INSTALLDIR Component Id=SqlErsServerInstall Guid=da6e0c89-2cfd-4bf4-92ae-40c8568bfd83 KeyPath=no sql:SqlScript Id=InstallBaseScript SqlDb=LocalDbServer BinaryKey=Sql_ServerInstall ContinueOnError=no ExecuteOnInstall=yes / Condition![CDATA[NOT ERS_VERSION]]/Condition /Component /DirectoryRef A search on Google did not bring up any useful information. My target machine is Server 2003 SP2 Standard and Enterprise with SQL Express / Enterprise SP2. The result is the same on both machines. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] FW: public properties can be read inside the merge module?
Any help on this...? From: Amit Srivastava (Tata Consultancy Services) Sent: Monday, May 21, 2007 12:28 AM To: Rob Mensching Subject: RE: public properties can be read inside the merge module? Thanks for your quick response.. If we describe the properties inside the merge module then we can read it outside from the merge module(i.e. from wix project file that contain that merge module using module id) but if we define the properties inside the wix project(outside of merge module) and trying to read it inside the merge module can we do it? As we know merge module can be included in the project file now suppose that project file contains some properties and try to read that properties inside from the merge module( merge module also included as part of project), can we do that? Thanks in Advance Amit From: Rob Mensching Sent: Sunday, May 20, 2007 11:07 PM To: Amit Srivastava (Tata Consultancy Services); wix-users@lists.sourceforge.net Subject: RE: public properties can be read inside the merge module? Sure. Just remember the Properites have the Module Id appended to them as described in the MSI SDK. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Amit Srivastava (Tata Consultancy Services) Sent: Sunday, May 20, 2007 4:30 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] public properties can be read inside the merge module? Hi, I have created a merge module using wix and I am trying to read the public properties which is defined outside of merge module(i.e. inside the MSI file). Can we read that properties? That merge module is included in the main wix file file for creation the MSI. I am trying to read the properties from the merge module but I am not getting success? If we can then how we can read that properties..? Thanks Amit srivastava - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build process
Thanks Rob. But the code divination that you speak of is not really what I'm looking for. I'm not looking for some voodoo that will get me out of doing my job, I'm just looking for a way to do it more efficiently and effectively. The *actual* situation that I have is that the files that make up the web application that I'm trying to create an installer for change, at least slightly, from week-to-week. ASPX pages get added, js files get removed, etc. The file system is a moving target. I've discussed the maintenance of .wxs files with the development team and the general consensus seems to be that having to update/change a .wxs file to add or remove a component whenever a file is added or removed from the codebase is not really feasible. The hope, then, was that there might be some way, some tool that I could use, to automatically generate a .wxs source file with all of the components needed by simply pointing it at a given directory. I can setup my automated build process to take the raw code directory and copy only the files needed to a staging directory (remove all files with the following extensions: .cs, .csproj, etc)...that directory then becomes a mirror image of what I want the target machine to look like after having run the installer. I have no problem with creating a main .wxs source file with all of the custom UI logic and stuff like that in it, but having to manually maintain files for each and every single file that makes up an application is tedious at best (more colorful ways of describing that process come to mind as well). The other major consideration here is the fact that I don't really have a requirement to deploy to a large user base, nor is there a requirement for component upgrades either. We're developing an installer to simplify the process of internal deployment. Within the company that I work, there is a completely separate organization that maintains our server environments, and the deployment of applications to those servers. The idea of simplifying that process for them by creating a simple installer is very appealing to everyone. So, for our purposes, an upgrade would really just be a matter of checking to see if the application is already installed and if it is, uninstall it before continuing with the current installation. There are a few custom actions that I would want to perform as part of the process, but again, I can write that into the installer source and handle that myself. I simply want something that is capable of looking at a directory and generating a source file with a component for each of the files and directory structures in the given directory. I hope that clears some things up. I also hope that makes what I'm wanting/hoping/trying to do fairly easy. I just need some guidance as to how to do that, whether it involves the use of heat.exe or something else. If nothing else exists, fine...I'll write my own tool to do it. I just wanted to at least ask the question because my scenario seemed to me to be a common enough one that someone was bound to have faced this challenge before me, and hoped that someone had already figured out a solution for it. Thanks. __ // YEX // From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: Monday, May 21, 2007 1:16 PM To: Yexley, Robert (LNG-CON); Scott Palmer Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Using heat.exe as part of an automated build process WiX is intended to be used in an automated build system. It fits in extremely well with every automated build process that I've been introduced to. What you appear to be looking for is an automated code generation process. Code generation is a completely different problem than building. Code generation is about divining what a developer is thinking (or at least should be thinking) and writing the code for him or her. The WiX toolset does not include any good automated code generation tools. There are tools (namely heat.exe, and dark.exe if you start with an MSI) to help developers capture large amounts of data and translate that into .wxs code. But those tools are designed to be guided by a developer, not run blindly in an automated build process. Of course, the results of the tools can be checked into source control and then operated on in an automated build system. Note that writing a automated code generation process requires significant amount of domain specific knowledge. I had a conversation just this last week with a developer from a company where significant amounts of IDL and VB code is generated by the build process. In that company analysts can only write code into some well known named functions and the rest of the structure was provided for them. Because the system was so structured (and strict) he was able to automatically generate the .wxs code in much the same way the IDL and VB code was generated (for example he was already handling
Re: [WiX-users] Using heat.exe as part of an automated build process
I've just built a similar tool today, to help me copy a set of sample files to the installation, because I never want to do that by hand, and heat's output was just too messy for my liking. What I've done is taken all of the files in a tree, and created a component for each file, with a unique GUID, automatically generated. In addition, the files are relative to a folder elsewhere. The file looks more or less like this: ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; ?define SampDir=C:\projects\business\artgallery\sample_src\? ?define SampDiskId=1? ?define SampParentDir=INSTALLLOCATION? Fragment DirectoryRef Id=$(var.SampParentDir) Directory Id=D0 Name=sample !-- more directories nest here, containing file/component groups as below-- Component Id=C00 Guid=81f9ff04-e26a-45e6-ba24-6cd1466b4f3f File Id=F00 Name=404.htm KeyPath=yes Source=$(var.SampDir)\sample\templates\404.htm DiskId=$(var.SampDiskId) / /Component !-- lots more components go here for each file in the folder-- /Directory /DirectoryRef ComponentGroup Id=CGSamp ComponentRef Id=C / /ComponentGroup /Fragment /Wix As you can see, I've marked each of the files as KeyPath=yes and also automatically generated ID's for each file, component and folder. Then I've wrapped the whole lot up inside a fragment, which also contains a component group, so I can link the whole file into my build, and then just add a simple Feature that uses a ComponentGroupRef. My intention was to build this as the initial listing of all of the files in my folder, and then manually add any additions, but your post made me question whether that was necessary. Is there a downside of just redoing all of the GUID's each time I do an update, apart from installation speed? Anthony Wieser Wieser Software ltd - Original Message - From: Yexley, Robert (LNG-CON) To: Rob Mensching ; Scott Palmer Cc: wix-users@lists.sourceforge.net Sent: Monday, May 21, 2007 8:21 PM Subject: Re: [WiX-users] Using heat.exe as part of an automated build process Thanks Rob. But the code divination that you speak of is not really what I'm looking for. I'm not looking for some voodoo that will get me out of doing my job, I'm just looking for a way to do it more efficiently and effectively. The *actual* situation that I have is that the files that make up the web application that I'm trying to create an installer for change, at least slightly, from week-to-week. ASPX pages get added, js files get removed, etc. The file system is a moving target. I've discussed the maintenance of .wxs files with the development team and the general consensus seems to be that having to update/change a .wxs file to add or remove a component whenever a file is added or removed from the codebase is not really feasible. The hope, then, was that there might be some way, some tool that I could use, to automatically generate a .wxs source file with all of the components needed by simply pointing it at a given directory. I can setup my automated build process to take the raw code directory and copy only the files needed to a staging directory (remove all files with the following extensions: .cs, .csproj, etc)...that directory then becomes a mirror image of what I want the target machine to look like after having run the installer. I have no problem with creating a main .wxs source file with all of the custom UI logic and stuff like that in it, but having to manually maintain files for each and every single file that makes up an application is tedious at best (more colorful ways of describing that process come to mind as well). The other major consideration here is the fact that I don't really have a requirement to deploy to a large user base, nor is there a requirement for component upgrades either. We're developing an installer to simplify the process of internal deployment. Within the company that I work, there is a completely separate organization that maintains our server environments, and the deployment of applications to those servers. The idea of simplifying that process for them by creating a simple installer is very appealing to everyone. So, for our purposes, an upgrade would really just be a matter of checking to see if the application is already installed and if it is, uninstall it before continuing with the current installation. There are a few custom actions that I would want to perform as part of the process, but again, I can write that into the installer source and handle that myself. I simply want something that is capable of looking at a directory and generating a source file with a component for each of the files and directory structures in the given directory. I hope that clears some things up. I also hope that makes what I'm wanting/hoping/trying to do fairly easy. I just need some guidance as to how to do that, whether it involves the use of heat.exe or something else. If nothing else exists, fine...I'll
[WiX-users] Getting disk cost from a property
Is there a property that stores the disk cost required, or some way of obtaining that information. The people I work for don't want a disk cost dialog anymore, but instead what to display the current cost in my Custom UI. It here a way to grab the disk cost from MSI with a function call, or property. -- View this message in context: http://www.nabble.com/Getting-disk-cost-from-a-property-tf3792511.html#a10725951 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] How do you copy a folder along with its files and subdirectories.
Hi, Can anyone provide me a simple way of copying a folder and its contents including its subdirectories in wix. Do I need to use CreateFolder and Copyfile for each file and directory? Thanks Sreenivas. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Is there a WiX element that will perform a FindWindow ?
I'd like to find out if an application is running. I don't want to close the application. This is more of a boolean action that I am looking for. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem with SQL custom actions.
What exact version of the WiX toolset are you using? E.g. what does the light.exe banner say? Is your script in ANSI or Unicode text? 640KB is a fairly large script, but there should be plenty of virtual address space in the custom action worker process to allocate that much memory, unless there's a phenomenally small amount of space left in the page file. Error code 0x80070057 maps to ERROR_INVALID_PARAMETER, The parameter is incorrect, which isn't a normal error code for a memory allocation failure. You may get more data that's useful for debugging by turning on verbose logging (msiexec /l*v). -- Mike Dimmick _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Aaron Shurts Sent: 21 May 2007 19:43 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Problem with SQL custom actions. Hey all, I am having a problem with SQL custom actions. This is what I am getting in the log: MSI (s) (9C:C0) [10:10:21:781]: Doing action: ConfigureSql Action 10:10:21: ConfigureSql. Configuring SQL Server Action start 10:10:21: ConfigureSql. MSI (s) (9C:98) [10:10:21:796]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIF9.tmp, Entrypoint: ConfigureSql ConfigureSql: Error 0x80070057: Failed to allocate WCHAR string of size '640923' ConfigureSql: Error 0x80070057: failed to read SqlScripts table Action ended 10:10:21: ConfigureSql. Return value 3. This is a snippet of my project file: Include xmlns= http://schemas.microsoft.com/wix/2006/wi http://schemas.microsoft.com/wix/2006/wi; xmlns:sql=http://schemas.microsoft.com/wix/SqlExtension; xmlns:iis= http://schemas.microsoft.com/wix/IIsExtension http://schemas.microsoft.com/wix/IIsExtension; xmlns:util=http://schemas.microsoft.com/wix/UtilExtension; Binary Id=Sql_ServerInstall SourceFile=Components\Data\ERS\Database\ERSServer.sql / !--Execute SQL Scripts-- sql:SqlDatabase Id=LocalDbServer Server=[SQLSERVER] Database=master / !--Server-- DirectoryRef Id=INSTALLDIR Component Id=SqlErsServerInstall Guid=da6e0c89-2cfd-4bf4-92ae-40c8568bfd83 KeyPath=no sql:SqlScript Id=InstallBaseScript SqlDb=LocalDbServer BinaryKey=Sql_ServerInstall ContinueOnError=no ExecuteOnInstall=yes / Condition![CDATA[NOT ERS_VERSION]]/Condition /Component /DirectoryRef A search on Google did not bring up any useful information. My target machine is Server 2003 SP2 Standard and Enterprise with SQL Express / Enterprise SP2. The result is the same on both machines. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using heat.exe as part of an automated build
Apportioning blame where required: the spurious entries are generated by the VB6 DllRegisterServer code, not by Heat. Heat does not know what the DllRegisterServer code does, it simply captures the changes the DLL made to the registry. The sterile environment supplied by Heat for the DLL to inject its changes into sometimes does cause the DLL to do too much (or to fail to run outright). If you get weird output, crashes, unexplained message boxes, debug the DllRegisterServer function. The sterile environment does not include the registry entries needed for side-by-side DLLs to work (last I checked), so anything dynamically linked to the version 7.0 or later C runtime won't load and run. If you can avoid having to capture the output, you should do so. It *is* possible (though not fun) to work out what VB6 DLLs will do by studying the embedded type library; use the OLE/COM Object Viewer (oleview.exe) from Visual Studio (ships with all versions - VS6 adds a shortcut to the Start menu, VS7 and later in Common7\Tools\Bin - you may need to install some optional components). To reduce the amount of change required in your WiX script, use one of the COM compatibility options in VB - Project Compatibility or Binary Compatibility. That will keep GUIDs stable until you make a change to your interface. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dyson, Peter Sent: 21 May 2007 10:58 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Using heat.exe as part of an automated build Although Rob et al, don't recommend this approach we have been using Heat, and it's predecessor, as part of our automated build process for over a year with Wix3. The main things to be wary of are the spurious entries generated by Heat, for example VB6 entries which should not be there. However this is where XML shines, using both Xpath and tranforms, you can sanitise the output from heat directly into compilable code. We use Ant as our main build tool and xmltask a contributed package for ant works very well for the substitions and removal. I am unaware if Nant has a similar package. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem with SQL custom actions.
Thanks for the reply Mike. I am using version 3.0.2911.0. A colleague of mine pointed out what the problem might be on the bug tracker, but apparently the fix hasn't been pushed up to v3 yet. http://sourceforge.net/tracker/index.php?func=detailaid=1653864group_id=105970atid=642714 I decided to go with v3 because I didn't feel like re-writing all the deprecated tags when v3 is released. I think we have a fix for it in the meantime, but it sure would be nice if the fixes were propagated in to the v3 code branch. btw...that is an l*v log, not much happening there. :-) //aj On 5/21/07, Mike Dimmick [EMAIL PROTECTED] wrote: What exact version of the WiX toolset are you using? E.g. what does the light.exe banner say? Is your script in ANSI or Unicode text? 640KB is a fairly large script, but there should be plenty of virtual address space in the custom action worker process to allocate that much memory, unless there's a phenomenally small amount of space left in the page file. Error code 0x80070057 maps to ERROR_INVALID_PARAMETER, The parameter is incorrect, which isn't a normal error code for a memory allocation failure. You may get more data that's useful for debugging by turning on verbose logging (msiexec /l*v). -- Mike Dimmick -- *From:* [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] *On Behalf Of *Aaron Shurts *Sent:* 21 May 2007 19:43 *To:* wix-users@lists.sourceforge.net *Subject:* [WiX-users] Problem with SQL custom actions. Hey all, I am having a problem with SQL custom actions. This is what I am getting in the log: MSI (s) (9C:C0) [10:10:21:781]: Doing action: ConfigureSql Action 10:10:21: ConfigureSql. Configuring SQL Server Action start 10:10:21: ConfigureSql. MSI (s) (9C:98) [10:10:21:796]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIF9.tmp, Entrypoint: ConfigureSql ConfigureSql: Error 0x80070057: Failed to allocate WCHAR string of size '640923' ConfigureSql: Error 0x80070057: failed to read SqlScripts table Action ended 10:10:21: ConfigureSql. Return value 3. This is a snippet of my project file: Include xmlns= http://schemas.microsoft.com/wix/2006/wi; xmlns:sql=http://schemas.microsoft.com/wix/SqlExtension; xmlns:iis= http://schemas.microsoft.com/wix/IIsExtension; xmlns:util=http://schemas.microsoft.com/wix/UtilExtension; Binary Id=Sql_ServerInstall SourceFile=Components\Data\ERS\Database\ERSServer.sql / !--Execute SQL Scripts-- sql:SqlDatabase Id=LocalDbServer Server=[SQLSERVER] Database=master / !--Server-- DirectoryRef Id=INSTALLDIR Component Id=SqlErsServerInstall Guid=da6e0c89-2cfd-4bf4-92ae-40c8568bfd83 KeyPath=no sql:SqlScript Id=InstallBaseScript SqlDb=LocalDbServer BinaryKey=Sql_ServerInstall ContinueOnError=no ExecuteOnInstall=yes / Condition![CDATA[NOT ERS_VERSION]]/Condition /Component /DirectoryRef A search on Google did not bring up any useful information. My target machine is Server 2003 SP2 Standard and Enterprise with SQL Express / Enterprise SP2. The result is the same on both machines. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How do you copy a folder along with its files and subdirectories.
Can you clarify your question? Are you asking how to reference a directory and all its contents at build time for compilation in to your MSI or are you asking how to copy the contents of a directory on the target machine at install time? Regards, //aj On 5/21/07, Sreenivasa Rao Ramisetty (Satyam Computer Services) [EMAIL PROTECTED] wrote: Hi, Can anyone provide me a simple way of copying a folder and its contents including its subdirectories in wix. Do I need to use CreateFolder and Copyfile for each file and directory? Thanks Sreenivas. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] public properties can be read inside the merge module?
Any Suggestion...? From: Amit Srivastava (Tata Consultancy Services) Sent: Monday, May 21, 2007 12:03 PM To: 'wix-users@lists.sourceforge.net' Cc: Rob Mensching Subject: FW: public properties can be read inside the merge module? Any help on this...? From: Amit Srivastava (Tata Consultancy Services) Sent: Monday, May 21, 2007 12:28 AM To: Rob Mensching Subject: RE: public properties can be read inside the merge module? Thanks for your quick response.. If we describe the properties inside the merge module then we can read it outside from the merge module(i.e. from wix project file that contain that merge module using module id) but if we define the properties inside the wix project(outside of merge module) and trying to read it inside the merge module can we do it? As we know merge module can be included in the project file now suppose that project file contains some properties and try to read that properties inside from the merge module( merge module also included as part of project), can we do that? Thanks in Advance Amit From: Rob Mensching Sent: Sunday, May 20, 2007 11:07 PM To: Amit Srivastava (Tata Consultancy Services); wix-users@lists.sourceforge.net Subject: RE: public properties can be read inside the merge module? Sure. Just remember the Properites have the Module Id appended to them as described in the MSI SDK. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Amit Srivastava (Tata Consultancy Services) Sent: Sunday, May 20, 2007 4:30 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] public properties can be read inside the merge module? Hi, I have created a merge module using wix and I am trying to read the public properties which is defined outside of merge module(i.e. inside the MSI file). Can we read that properties? That merge module is included in the main wix file file for creation the MSI. I am trying to read the properties from the merge module but I am not getting success? If we can then how we can read that properties..? Thanks Amit srivastava - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] custom action from network share doesn't work
Hello, In my Wix, I searched for the registry to find the path for a exe, I then call this exe in my custom action [EXEDIR] the.exe. The custom action worked fine when running the msi from my local machine - return 1. However, when running from a network share, it failed - returned 1603. Should I use [#EXEDIR] or [!EXEDIR] to get it work from the network share(I tried, didn't work)? Or have I have to write a custom action for that? Thanks, - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How do you copy a folder along with its files and subdirectories.
My question was to reference a directory with subdirectories and files at build time. Say I use tallow or tool to import a directory and its folders, MSI gets created properly but after installation I am not able to see directory or its content. So to create the directory structure, Do we need include CreateFolder inside a component tag? Thanks Sreenivas. From: Aaron Shurts [mailto:[EMAIL PROTECTED] Sent: Monday, May 21, 2007 5:28 PM To: Sreenivasa Rao Ramisetty (Satyam Computer Services) Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How do you copy a folder along with its files and subdirectories. Can you clarify your question? Are you asking how to reference a directory and all its contents at build time for compilation in to your MSI or are you asking how to copy the contents of a directory on the target machine at install time? Regards, //aj On 5/21/07, Sreenivasa Rao Ramisetty (Satyam Computer Services) [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi, Can anyone provide me a simple way of copying a folder and its contents including its subdirectories in wix. Do I need to use CreateFolder and Copyfile for each file and directory? Thanks Sreenivas. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.netmailto:WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] custom action from network share doesn't work
Bei Liu (Volt) wrote: However, when running from a network share, it failed - returned 1603. If the custom action isn't marked Impersonate=yes MSI runs it as the local system account, which won't have access to network shares. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patch failure when using non-whole files
Gareth at Serif wrote: So, do you think it's a bug in MsiMsp.exe that I can report to M$ or with the Candle/Light stages prior to it? It's not a bug in WiX, AFAIK. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem with SQL custom actions.
Aaron Shurts wrote: I decided to go with v3 because I didn't feel like re-writing all the deprecated tags when v3 is released. I think we have a fix for it in the meantime, but it sure would be nice if the fixes were propagated in to the v3 code branch. Check the latest weekly release: RobMen: Reverse integrate WiX v2 CustomAction fixes. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users