Re: [WiX-users] What exactly is SourceDir?

2007-03-25 Thread Anthony Wieser
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?

2007-03-24 Thread Arnette, Bill
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?

2007-03-24 Thread Rob Mensching
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?

2007-03-24 Thread Rob Mensching
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