Re: [WiX-users] What exactly is SourceDir?
Thanks for that. Very useful. What I hadn't understood is that there are two trees being set up in parallel, the SourceDir, which is strictly hierarchical, and and target location, which can suddenly jump anywhere. I assume the name side can't have properties set in it, which lets the tree jump somewhere else, correct? Where does the source dir hierarchy actually exists though? Is there a way to get the msi file to refer to external files that I've missed somewhere? Anthony Wieser Wieser Software Ltd From: Rob Mensching [EMAIL PROTECTED] You might read through this blog series of mine on my old blog: http://blogs.msdn.com/robmen/archive/2006/10/12/deciphering-the-msi-directory-table-part-6-standard-directories.aspx -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anthony Wieser Sent: Saturday, March 24, 2007 12:02 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] What exactly is SourceDir? In all of the samples you see fragments like this: Directory Id=TARGETDIR Name=SourceDir Directory Id=MFR Name=Wieser Software Ltd Directory Id=INSTALLLOCATION Name=Prog Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory /Directory /Directory I don't really understand what the SourceDir is above, even though it seems to be required (you get a warning if it's not there). Looking through the logs, the SourceDir always seems to be set to the path of the msi file that's run, if its on a network, or even a drive created by subst. However, the TARGETDIR seems always to be set to C:\ Also, why are the other directories listed as a child of TARGETDIR, when they can in fact be located anywhere in the file system. Is it just a pragmatic solution, that requires a single top level node for parsing? Anthony Wieser Wieser Software Ltd - 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 - 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] What exactly is SourceDir?
The default value for TARGETDIR [1] is C:\ but tools like VS.NET setup and deployment projects add a type 51 CA (set property from formatted text) to set TARGETDIR to [ProgramFilesFolder][Manufacturer]\[ProductName]. Also TARGETDIR can be specified on the command line to specify where you want the application installed. So Windows Installer defaults TARGETDIR to C:\ (actually ROOTDRIVE property) if TARGETDIR was not specified by a certain point (CostFinalize) in the installation sequence. The WiX convention seems to be to set INSTALLDIR to the above path and leave TARGETDIR at its default. A VS.NET setup and deployment looks something like this in WiX: Directory Id=TARGETDIR Name=SourceDir Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory !-- Sets the TARGETDIR property to a path based on ProductName property-- CustomAction Id=SetTARGETDIR Property=TARGETDIR Value=[ProgramFilesFolder][Manufacturer]\[ProductName] Execute=firstSequence / InstallUISequence !-- Set TARGETDIR if it wasn't set on the command line -- Custom Action=SetTARGETDIR Before=CostFinalizeTARGETDIR=/Custom /InstallUISequence InstallExecuteSequence !-- Set TARGETDIR if it wasn't set on the command line -- Custom Action=SetTARGETDIR Before=CostFinalizeTARGETDIR=/Custom InstallExecuteSequence Here's some references... [1] TARGETDIR docs - http://msdn2.microsoft.com/en-us/library/aa372064.aspx [2] SourceDir docs - http://msdn2.microsoft.com/en-us/library/aa371857.aspx -Original Message- From: [EMAIL PROTECTED] on behalf of Anthony Wieser Sent: Sat 3/24/2007 3:01 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] What exactly is SourceDir? In all of the samples you see fragments like this: Directory Id=TARGETDIR Name=SourceDir Directory Id=MFR Name=Wieser Software Ltd Directory Id=INSTALLLOCATION Name=Prog Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory /Directory /Directory I don't really understand what the SourceDir is above, even though it seems to be required (you get a warning if it's not there). Looking through the logs, the SourceDir always seems to be set to the path of the msi file that's run, if its on a network, or even a drive created by subst. However, the TARGETDIR seems always to be set to C:\ Also, why are the other directories listed as a child of TARGETDIR, when they can in fact be located anywhere in the file system. Is it just a pragmatic solution, that requires a single top level node for parsing? Anthony Wieser Wieser Software Ltd - 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 - 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] What exactly is SourceDir?
You might read through this blog series of mine on my old blog: http://blogs.msdn.com/robmen/archive/2006/10/12/deciphering-the-msi-directory-table-part-6-standard-directories.aspx -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anthony Wieser Sent: Saturday, March 24, 2007 12:02 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] What exactly is SourceDir? In all of the samples you see fragments like this: Directory Id=TARGETDIR Name=SourceDir Directory Id=MFR Name=Wieser Software Ltd Directory Id=INSTALLLOCATION Name=Prog Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory /Directory /Directory I don't really understand what the SourceDir is above, even though it seems to be required (you get a warning if it's not there). Looking through the logs, the SourceDir always seems to be set to the path of the msi file that's run, if its on a network, or even a drive created by subst. However, the TARGETDIR seems always to be set to C:\ Also, why are the other directories listed as a child of TARGETDIR, when they can in fact be located anywhere in the file system. Is it just a pragmatic solution, that requires a single top level node for parsing? Anthony Wieser Wieser Software Ltd - 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 - 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] What exactly is SourceDir?
Note exactly accurate. ROOTDRIVE is defaulted to the drive with the most free space on the machine (unless you're doing an admin image... then it's something like the first writeable network drive). As you noted, TARGETDIR is defaulted to ROOTDRIVE. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnette, Bill Sent: Saturday, March 24, 2007 8:04 AM To: Anthony Wieser; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] What exactly is SourceDir? The default value for TARGETDIR [1] is C:\ but tools like VS.NET setup and deployment projects add a type 51 CA (set property from formatted text) to set TARGETDIR to [ProgramFilesFolder][Manufacturer]\[ProductName]. Also TARGETDIR can be specified on the command line to specify where you want the application installed. So Windows Installer defaults TARGETDIR to C:\ (actually ROOTDRIVE property) if TARGETDIR was not specified by a certain point (CostFinalize) in the installation sequence. The WiX convention seems to be to set INSTALLDIR to the above path and leave TARGETDIR at its default. A VS.NET setup and deployment looks something like this in WiX: Directory Id=TARGETDIR Name=SourceDir Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory !-- Sets the TARGETDIR property to a path based on ProductName property-- CustomAction Id=SetTARGETDIR Property=TARGETDIR Value=[ProgramFilesFolder][Manufacturer]\[ProductName] Execute=firstSequence / InstallUISequence !-- Set TARGETDIR if it wasn't set on the command line -- Custom Action=SetTARGETDIR Before=CostFinalizeTARGETDIR=/Custom /InstallUISequence InstallExecuteSequence !-- Set TARGETDIR if it wasn't set on the command line -- Custom Action=SetTARGETDIR Before=CostFinalizeTARGETDIR=/Custom InstallExecuteSequence Here's some references... [1] TARGETDIR docs - http://msdn2.microsoft.com/en-us/library/aa372064.aspx [2] SourceDir docs - http://msdn2.microsoft.com/en-us/library/aa371857.aspx -Original Message- From: [EMAIL PROTECTED] on behalf of Anthony Wieser Sent: Sat 3/24/2007 3:01 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] What exactly is SourceDir? In all of the samples you see fragments like this: Directory Id=TARGETDIR Name=SourceDir Directory Id=MFR Name=Wieser Software Ltd Directory Id=INSTALLLOCATION Name=Prog Component Id=ProductComponent Guid=MYGUIDHERE File Id=MainProgram Name=prog.exe Source=prog.cab DiskId=1 / /Component /Directory /Directory /Directory I don't really understand what the SourceDir is above, even though it seems to be required (you get a warning if it's not there). Looking through the logs, the SourceDir always seems to be set to the path of the msi file that's run, if its on a network, or even a drive created by subst. However, the TARGETDIR seems always to be set to C:\ Also, why are the other directories listed as a child of TARGETDIR, when they can in fact be located anywhere in the file system. Is it just a pragmatic solution, that requires a single top level node for parsing? Anthony Wieser Wieser Software Ltd - 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 - 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