Heat.exe doesn't need to set Package/@Id at all. Candle.exe will set 
Package/@Id at compile-time to a new Guid if one is not specified in the .wxs 
file. My recommendation is to not add your own Guid with a XSLT transform and 
to let candle.exe perform it's default action concerning Package/@Id.

From http://wix.sourceforge.net/manual-wix3/wix_xsd_package.htm

Description for Id attribute:

"The package code GUID for a product or merge module. When compiling a product, 
this attribute should not be set in order to allow the package code to be 
generated for each build. When compiling a merge module, this attribute must be 
set to the modularization guid."

WiX tries to do the right thing for you by default but will let you do whatever 
you want. In other words, if it's not required, then you probably don't need to 
set it. Only set non-required attributes when you determine via testing and 
documentation that you really need it.

Edwin G. Castro
Software Developer - Staff
Electronic Banking Services
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail


> -----Original Message-----
> From: sangeeta1 [mailto:snmsn...@gmail.com]
> Sent: Friday, December 10, 2010 11:11 AM
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Heat.exe - How to pass Product Manufacturer,
> Name, Title, version
>
>
> The source .wxs file that Heat.exe generates, does not contain Package Id. I
> was therefore thinking of passing a new Guid every time the tool is run. Is
> there any way Heat.exe can set Package Id in the .wxs file?
>
> Thanks for the list of reference books.
>
>
>
> On Fri, Dec 10, 2010 at 2:01 PM, Edwin G. Castro [via Windows Installer XML
> (WiX) toolset] <ml-node+5824258-1220359716-306...@n2.nabble.com<ml-
> node%2b5824258-1220359716-306...@n2.nabble.com>
> > wrote:
>
> > <xsl:template match="wix:Package"> Will match the Package element
> itself.
> > You'll need to copy the element, *then* add the attribute to the
> > copied element.
> >
> > <xsl:template match="wix:Package">
> >     <xsl:copy>
> >         <xsl:apply-templates select="@*"/>
> >         <xsl:attribute name="Id">$(var.PackageId)</xsl:attribute>
> >    </xsl:copy>
> > </xsl:template>
> >
> > A couple of comments:
> >
> > 1.) Consider reading Learning XSLT and XSLT Cookbook. Great books!
> > 2.) Consider *not* setting Package/@Id. You should let WiX generate a
> > new Package/@Id on every build of your package as per the Windows
> > Installer documentation.
> >
> > Edwin G. Castro
> > Software Developer - Staff
> > Electronic Banking Services
> > Fiserv
> > Office: 503-746-0643
> > Fax: 503-617-0291
> > www.fiserv.com
> > P Please consider the environment before printing this e-mail
> >
> > > -----Original Message-----
> > > From: sangeeta1 [mailto:[hidden
> > > email]<http://user/SendEmail.jtp?type=node&node=5824258&i=0>]
> >
> > > Sent: Friday, December 10, 2010 10:18 AM
> > > To: [hidden
> > > email]<http://user/SendEmail.jtp?type=node&node=5824258&i=1>
> > > Subject: Re: [WiX-users] Heat.exe - How to pass Product
> > > Manufacturer, Name, Title, version
> > >
> > >
> > > The Wix schema does not let me add a attribute to Package though. I
> > > want
> > to
> > > assign a package Id to the msi.
> > >
> > >     <xsl:template match="wix:Package">
> > >        <xsl:attribute name="Id">$(var.PackageId)</xsl:attribute>
> > >     </xsl:template>
> > >
> > > With you example, I am able to edit the Product name. thanks.
> > >  <xsl:template match="wix:Product/@Name">
> > >        <xsl:attribute
> name="Name">$(var.ProductNameName)</xsl:attribute>
> > >     </xsl:template>
> > >
> > >
> > >
> > > On Fri, Dec 10, 2010 at 12:55 PM, Blair-2 [via Windows Installer XML
> > (WiX)
> > > toolset] <[hidden
> > > email]<http://user/SendEmail.jtp?type=node&node=5824258&i=2><ml-
> >
> > > [hidden email]
> > > <http://user/SendEmail.jtp?type=node&node=5824258&i=3>>
> > > > wrote:
> > >
> > > > Add xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"; in the
> > > > root element of your XSLT and change your template to:
> > > >
> > > > <xsl:template match="wix:packa...@name">
> > > >         <xsl:attribute name="Name">$(var.ProductName)</xsl:attribute>
> > > >     </xsl:template>
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: sangeeta1 [mailto:[hidden
> > > > email]<http://user/SendEmail.jtp?type=node&node=5824029&i=0>]
> > > >
> > > > Sent: Friday, December 10, 2010 9:38 AM
> > > > To: [hidden email]
> > > > <http://user/SendEmail.jtp?type=node&node=5824029&i=1>
> > > > Subject: Re: [WiX-users] Heat.exe - How to pass Product
> > > > Manufacturer, Name, Title, version
> > > >
> > > >
> >  > >  Thanks a lot for these details!
> > > >
> > > > Taking your Manufacturer xsl as a baseline example, I tried to
> > > > replace the Name attribute in <Product> but really made no
> > > > progress. I got this crappy code to work, but would like something like
> this.
> > > >
> > > > <xsl:template match="packa...@name">
> > > >         <xsl:attribute name="Name">$(var.ProductName)</xsl:attribute>
> > > >     </xsl:template>
> > > >
> > > >
> > > > I got this to work, but I do not like checking for
> > > > 'PUT-PRODUCT-NAME-
> > > HERE'
> > > > constant.
> > > > <xsl:template match="@Name[.='PUT-PRODUCT-NAME-HERE']">
> > > >         <xsl:attribute name="Name">$(var.ProductName)</xsl:attribute>
> > > >     </xsl:template>
> > > >
> > > >
> > > > Also, I want to insert an attribute in the <Package> element, and
> > > > this code
> > > >
> > > > again does not work.
> > > >   <xsl:template match="Package">
> > > >         <xsl:attribute name="Id">$(var.PackageId)</xsl:attribute>
> > > >     </xsl:template>
> > > >
> > > > Any idea what I am missing here? I should confess, this is the
> > > > first time I
> > > >
> > > > am writing an Xsl transform.
> > > >
> > > > thanks,
> > > > sangeeta
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Thu, Dec 9, 2010 at 2:00 PM, Edwin G. Castro [via Windows
> > > > Installer XML
> > > > (WiX) toolset] <[hidden
> > > > email]<http://user/SendEmail.jtp?type=node&node=5824029&i=2>
> > > > <[hidden email]
> > > > <http://user/SendEmail.jtp?type=node&node=5824029&i=3>>
> > > > > wrote:
> > > >
> > > > > Here are your options:
> > > > >
> > > > > 1.) Use a XLST transform to change the generated wxs
> > > > > 2.) Use -var to specify a preprocessor variable (such as
> > > > > var.MySource)
> > > > and
> > > > > specify the value for MySource on the command line to candle.exe
> > > > > (see the
> > > > -d
> > > > > switch)
> > > > > 3.) Specify a base path when calling light.exe (see the -b
> > > > > switch)
> > > > >
> > > > > Option three is interesting because you don't use the -var
> > > > > parameter to heat.exe at all. Instead you tell light.exe to use
> > > > > one or more base paths
> > > > as
> > > > > the roots to look for files (you can specify more than one).
> > > > >
> > > > > Edwin G. Castro
> > > > > Software Developer - Staff
> > > > > Electronic Banking Services
> > > > > Fiserv
> > > > > Office: 503-746-0643
> > > > > Fax: 503-617-0291
> > > > > www.fiserv.com
> >  > > > P Please consider the environment before printing this e-mail
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: sangeeta1 [mailto:[hidden email]<
> > > > http://user/SendEmail.jtp?type=node&node=5820142&i=0>]
> > > > >
> > > > > > Sent: Wednesday, December 08, 2010 8:47 PM
> > > > > > To: [hidden email]<
> > > > http://user/SendEmail.jtp?type=node&node=5820142&i=1>
> > > > > > Subject: Re: [WiX-users] Heat.exe - How to pass Product
> > > > > > Manufacturer, Name, Title, version
> > > > > >
> > > > > >
> > > > > > After trying out an example, I see the significance of the
> > > > > > -var
> > > > variable.
> > > > >
> > > > > >
> > > > > > Regarding you example in using -var
> > > > > >
> > > > > >    How can I replace the value of "Source" to a physical path
> > > > > > of the
> > > > root
> > > > > folder
> > > > > > (like c:\temp\test) without having to use a wix variable
> > var.MySource?
> > > >  I
> > > > > am
> > > > > > automating the generation of msi given a set of installable files.
> > > > > > I
> > > > will
> > > > > be
> > > > > > invoking these commands from .net program.
> > > > > >
> > > > > > many thanks for your help on this..
> > > > > >
> > > > > >
> > > > > > On Wed, Dec 8, 2010 at 5:01 PM, Edwin G. Castro [via Windows
> > > > > > Installer
> > > > > XML
> > > > > > (WiX) toolset] <[hidden email]<
> > > > http://user/SendEmail.jtp?type=node&node=5820142&i=2><ml-
> > > > >
> > > > > > [hidden email]
> > > > > > <http://user/SendEmail.jtp?type=node&node=5820142&i=3>>
> > > >
> > > >  >  > > wrote:
> > > > > >
> > > > > > > Heat does not generate a <Product/> element.
> > > > > > >
> > > > > > > Heat /? shows the following documentation for -var:
> > > > > > >
> > > > > > >    -var <VariableName>  substitute File/@Source="SourceDir"
> > > > > > > with a preprocessor or a wix variable (e.g. -var
> > > > > > > var.MySource will become
> > > > > > > File/@Source="$(var.MySource)\myfile.txt" and -var
> > > > > > > wix.MySource will become
> > > File/@Source="!(wix.MySource)\myfile.txt"
> > > > > > >
> > > > > > > This does text transformation on the generated output wxs file.
> > > > > > > I created an empty text file called test.txt and used the
> > > > > > > following command line to harvest it using heat.exe:
> > > > > > >
> > > > > > > heat file test.txt -out test.wxs
> > > > > > >
> > > > > > > Here are the contents of test.wxs:
> > > > > > >
> > > > > > > <?xml version="1.0" encoding="utf-8"?> <Wix
> > > > > > > xmlns="http://schemas.microsoft.com/wix/2006/wi";>
> > > > > > >     <Fragment>
> > > > > > >         <DirectoryRef Id="TARGETDIR">
> > > > > > >             <Directory Id="dir22FE4E6795D49A83D8CC3F97AEACA344"
> > > > > > Name="code"
> > > > > > > />
> > > > > > >         </DirectoryRef>
> > > > > > >     </Fragment>
> > > > > > >     <Fragment>
> > > > > > >         <DirectoryRef
> Id="dir22FE4E6795D49A83D8CC3F97AEACA344">
> > > > > > >             <Component
> Id="cmp5BA64E6B74419477D4B75A1E802397FC"
> > > > > > > Guid="PUT-GUID-HERE">
> > > > > > >                 <File Id="fil67D465DE6C69EA3B3CD0B7487E6132B6"
> > > > > > > KeyPath="yes" Source="SourceDir\code\test.txt" />
> > > > > > >             </Component>
> > > > > > >         </DirectoryRef>
> > > > > > >     </Fragment>
> > > > > > > </Wix>
> > > > > > >
> > > > > > > Notice that File/@Source="SourceDir\code\test.txt"
> > > > > > >
> > > > > > > If use -var like this:
> > > > > > >
> > > > > > > heat file test.txt -out test.wxs -var var.CodeDir
> > > > > > >
> > > > > > > Then I get this:
> > > > > > >
> > > > > > > <?xml version="1.0" encoding="utf-8"?> <Wix
> > > > > > > xmlns="http://schemas.microsoft.com/wix/2006/wi";>
> > > > > > >     <Fragment>
> > > > > > >         <DirectoryRef Id="TARGETDIR">
> > > > > > >             <Directory Id="dir22FE4E6795D49A83D8CC3F97AEACA344"
> > > > > > Name="code"
> > > > > > > />
> > > > > > >         </DirectoryRef>
> > > > > > >     </Fragment>
> > > > > > >     <Fragment>
> > > > > > >         <DirectoryRef
> Id="dir22FE4E6795D49A83D8CC3F97AEACA344">
> > > > > > >             <Component
> Id="cmp5BA64E6B74419477D4B75A1E802397FC"
> > > > > > > Guid="PUT-GUID-HERE">
> > > > > > >                 <File Id="fil67D465DE6C69EA3B3CD0B7487E6132B6"
> > > > > > > KeyPath="yes" Source="$(var.CodeDir)\code\test.txt" />
> > > > > > >             </Component>
> > > > > > >         </DirectoryRef>
> > > > > > >     </Fragment>
> > > > > > > </Wix>
> > > > > > >
> > > > > > > Notice that File/@Source="$(var.CodeDir)\code\test.txt" just
> > > > > > > like the
> > > >
> > > > > > > documentation says.
> > > > > > >
> > > > > > > In a <Product/> element is *not* generated in either example.
> > > > > > >
> > > > > > > Edwin G. Castro
> > > > > > > Software Developer - Staff
> > > > > > > Electronic Banking Services
> > > > > > > Fiserv
> > > > > > > Office: 503-746-0643
> > > > > > > Fax: 503-617-0291
> > > > > > > www.fiserv.com
> > > > > > > P Please consider the environment before printing this
> > > > > > > e-mail
> > > > > > >
> > > > > > >
> > > > > > > > -----Original Message-----
> > > > > > > > From: sangeeta1 [mailto:[hidden
> > > > > > > >
> > > email]<http://user/SendEmail.jtp?type=node&node=5816953&i=0>]
> > > > > > >
> > > > > > > > Sent: Wednesday, December 08, 2010 12:25 PM
> > > > > > > > To: [hidden
> > > > >  > > >
> > > email]<http://user/SendEmail.jtp?type=node&node=5816953&i=1>
> > > > > > > > Subject: [WiX-users] Heat.exe - How to pass Product
> > > > > > > > Manufacturer, Name, Title, version
> > > > > > > >
> > > > > > > >
> > > > > > > > Hi all,
> > > > > > > >
> > > > > > > >    I am trying to generate a wxs source file using
> > > > > > > > Heat.exe and wanted to
> > > > > > >
> > > > > > > > check if I can pass values for Manufacturer, Name, Title
> > > > > > > > and
> > > > version
> > > > > > > > to heat.exe? I tried using -var argument, but does nt seem
> > > > > > > > to
> > > > update
> > > > > > > > it to
> > > > > > > the
> > > > > > > > source file
> > > > > > > >
> > > > > > > > heat.exe dir c:\temp\Configuration\Files -ag -cg MyComp
> > > > > > > > -ag -gg -g1
> > > >
> > > > > > > > -ke
> > > > > > > -var
> > > > > > > > Product/@Manufacturer="
> <Product/@Manufacturer=%22>ABCD"
> > > -
> > > > > > template
> > > > > > > > product -out c:\temp\Configuration\wixauto\mainsource.wxs
> > > > > > > >
> > > > > > > >
> > > > > > > > thanks!
> > > > > > > >
> > > > > > > > --
> > > >
> > >
> > > --
> > > View this message in context: http://windows-installer-xml-wix-
> > > toolset.687559.n2.nabble.com/Heat-exe-How-to-pass-Product-
> > > Manufacturer-Name-Title-version-tp5816654p5824105.html
> > > Sent from the wix-users mailing list archive at Nabble.com.
> > >
> > ----------------------------------------------------------------------
> > --------
> >
> > > Oracle to DB2 Conversion Guide: Learn learn about native support for
> > > PL/SQL, new data types, scalar functions, improved concurrency,
> > > built-in packages, OCI, SQL*Plus, data movement tools, best practices
> and more.
> > > http://p.sf.net/sfu/oracle-sfdev2dev
> > > _______________________________________________
> > > WiX-users mailing list
> > > [hidden email]
> > > <http://user/SendEmail.jtp?type=node&node=5824258&i=4>
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > ----------------------------------------------------------------------
> > --------
> >
> > Oracle to DB2 Conversion Guide: Learn learn about native support for
> > PL/SQL, new data types, scalar functions, improved concurrency,
> > built-in packages, OCI, SQL*Plus, data movement tools, best practices
> > and more.
> > http://p.sf.net/sfu/oracle-sfdev2dev
> > _______________________________________________
> > WiX-users mailing list
> > [hidden email]
> <http://user/SendEmail.jtp?type=node&node=5824258&i=5>
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> > ------------------------------
> >  View message @
> > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Heat-exe
> > -How-to-pass-Product-Manufacturer-Name-Title-version-
> tp5816654p5824258
> > .html
> >
> > To start a new topic under wix-users, email
> > ml-node+687560-220571316-306...@n2.nabble.com<ml-node%2B687560-
> 2205713
> > ml-node+16-306...@n2.nabble.com>
> > To unsubscribe from wix-users, click here<http://windows-installer-xml-
> wix-
> toolset.687559.n2.nabble.com/template/NamlServlet.jtp?macro=unsubscrib
> e_by_code&node=687560&code=c25tc25tMTBAZ21haWwuY29tfDY4NzU2M
> HwtODkyOTExNTcy>.
> >
> >
>
> --
> View this message in context: http://windows-installer-xml-wix-
> toolset.687559.n2.nabble.com/Heat-exe-How-to-pass-Product-
> Manufacturer-Name-Title-version-tp5816654p5824290.html
> Sent from the wix-users mailing list archive at Nabble.com.
> ------------------------------------------------------------------------------
> Oracle to DB2 Conversion Guide: Learn learn about native support for
> PL/SQL, new data types, scalar functions, improved concurrency, built-in
> packages, OCI, SQL*Plus, data movement tools, best practices and more.
> http://p.sf.net/sfu/oracle-sfdev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages, 
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to