On Mon, Jan 19, 2009 at 10:22 AM, Rob Mensching <rob.mensch...@microsoft.com
> wrote:

> 0.  Probably aren't a lot of examples out there.  It is relatively new
> functionality.


I would be happy with one example. :)


> 1.  the "!(bind.Xxx)" means binder variable while "$(var.Xxx)" means
> preprocessor variable.  Preprocessing is the very first process run in the
> WiX toolset (in candle) and binding is the very last (in light).  Different
> data is available at different times.
>

Ok, got it.


>
> 2.  !(bind.assemblyFileVersion.Xxx) is only available if you instruct light
> to populate file versions (not generally recommended).  That's why I tend to
> use !(bind.FileVersion.Xxx) instead.
>

Is there a reason why it's not recommended? And perhaps I'm misunderstanding
something...

When I build my exe, it is built with an AssemblyInfo.cs file that has an
[assembly:] attribute. I just want to pull that attribute out of the
executable so that my msi file has the same version number. Am I correct in
assuming that the Version attribute of the Product tag in the .wxs file is
supposed to be the same as the application's version?


>
> 3.  Does a File/@Id with value "myProgramEXE" exist in your MSI?  If not,
> that would cause this error as well.
>

Yes, I have the File/@Id with Id="myProgramEXE". Here is a slightly larger
segment of my .wxs file:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension";>
    <Product Id="11732b0c-41a8-483b-8a99-a2a1afece53c"
        Name="My Great Program"
        Language="1033"
        Version="!(bind.assemblyFileVersion.myGreatProgramEXE)"
        Manufacturer="My Software Corp"
        UpgradeCode="ba6c6a55-3a6c-4080-b77a-92aa0efbc67d">
        <Package InstallerVersion="200" Compressed="yes" />

        <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLLOCATION" Name="MyProgram">
                <Component Id="ProductComponent"
Guid="62a436f8-b2d3-4f10-ae62-dc5616a0d34e">

                <File Id="myGreatProgramEXE"
Name="$(var.MyProgram.TargetFileName)"
                    Source="$(var.MyProgram.TargetPath)" DiskId="1"
KeyPath="yes">


the $(var.MyProgram.TargetFileName) and TargetPath work just fine.

Is the wxs file the wrong place for a bind variable? Does it belong in a
wixproj instead? If so, then how would the version be set int he .wxs?

Also - thanks Rob for the time you've spent on this. I really appreciate it.


>
> -----Original Message-----
> From: Colin Fox [mailto:greenene...@gmail.com]
> Sent: Monday, January 19, 2009 09:52
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Getting the version from the Assembly file
>
> Ok, I've tried this but I can't determine where this is supposed to go. I
> can't find any complete examples that actually use this.
>
> Here's what I tried, which doesn't work:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";
> xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension";>
>    <Product Id="11732b0c-41a8-483b-8a99-a2a1afece53c"
>        Name="My Deluxe Program"
>        Language="1033"
>        Version="!(bind.assemblyFileVersion.myProgramEXE)"
>        Manufacturer="My Software Corp"
>        UpgradeCode="ba6c6a55-3a6c-4080-b77a-92aa0efbc67d">
>        <Package InstallerVersion="200" Compressed="yes" />
>
> This is in my product.wxs file. When I try to build the solution, I get
> "Unresolved bind-time variable".
>
> If this isn't where the bind.assemblyFileVersion is supposed to go, where
> is
> it?
>
> Thanks,
>   Colin
>
> ps. I also tried using a $(var.ProductVersion) here and in the .wixproj
> saying ProductVersion=!(bind.assemblyFileVersion...) and it didn't work
> either.
>
> also - what does the ! character represent? Doesn't that usually mean
> "not"?
>
>
> On Thu, Jan 15, 2009 at 8:02 AM, Rob Mensching
> <rob.mensch...@microsoft.com>wrote:
>
> > Another option, if you are using WiX v3 is to use a binder variable to
> grab
> > the file version directly.  Something like "!(bind.FileVersion.FileId)".
> >
> > -----Original Message-----
> > From: Reggie Burnett [mailto:r...@comcast.net]
> > Sent: Thursday, January 15, 2009 04:50
> > To: General discussion for Windows Installer XML toolset.
> > Subject: Re: [WiX-users] Getting the version from the Assembly file
> >
> > I ship 4 binary components that all have the same version so I use a
> > small snippet in my msbuild script that reads the version # from one
> > of the components and then passes that into to wix through a
> > preprocessor var.
> >
> > On Tue, Jan 13, 2009 at 6:44 PM, Michael Osmond <mosm...@baytech.com.au>
> > wrote:
> > > Colin,
> > >
> > > You can set an environment variable in the build process and then
> access
> > > that inside wix as $(env.projectVersion)
> > >
> > > Or you can set an Wix variable in the candle command line
> > >        "candle -dMyProject.Version=<value>"
> > >
> > > Michael
> > >
> > > -----Original Message-----
> > > From: Colin Fox [mailto:greenene...@gmail.com]
> > > Sent: Wednesday, 14 January 2009 10:11 AM
> > > To: General discussion for Windows Installer XML toolset.
> > > Subject: Re: [WiX-users] Getting the version from the Assembly file
> > >
> > > Yes - our current release strategy is to always release major upgrades.
> > > The entire MSI is under 10 megs so it's not a huge deal.
> > >
> > > I'm relatively new to the company, and this process has been in place
> > > since long before I got here, but part of the build process is to use a
> > > build tool to set the version number, and it goes and modifies some
> > > files. I was hoping to streamline things a bit and just modify one file
> > > and have the version be deduced by the rest of the system.
> > >
> > > If it can't be done through a wix variable, then I can probably modify
> > > the build tool to change the wix file, but that just feels wrong (not
> to
> > > mention will cause unnecessary changes for our revision control
> system).
> > >
> > > On Tue, Jan 13, 2009 at 3:14 PM, Rob Mensching
> > > <rob.mensch...@microsoft.com>wrote:
> > >
> > >> Are you always going to release using Major Upgrades?  If not, then
> > >> you need to keep the name constant.  That fact is why you don't see
> > >> many people putting the version number in the MSI name.  Not a common
> > >> request thus not necessarily simple to implement.
> > >>
> > >> -----Original Message-----
> > >> From: Colin Fox [mailto:greenene...@gmail.com]
> > >> Sent: Tuesday, January 13, 2009 14:36
> > >> To: wix-users
> > >> Subject: [WiX-users] Getting the version from the Assembly file
> > >>
> > >> Hi everyone.
> > >>
> > >> I'd like go be able to set the version of my application in the
> > >> assembly.cs file, and have it used in both the wix file and also in
> > > the wix file name.
> > >>
> > >> So if my app is version 1.2.3, I'd like the .msi file to be called
> > >> "MyAmazingApp_1_2_3.msi" or something equivalent.
> > >>
> > >> I've seen some articles on the net about pulling an assembly version
> > >> and putting it into the wix file but they all seem like giant hacks.
> > >>
> > >> It seems to me that since versions seem to feature so prominently, it
> > >> makes sense to integrate them more smoothly into the build system. And
> > >
> > >> you shouldn't have to set it in more than one place.
> > >>
> > >> How difficult would it be to create another candle varable, such as
> > >> $(var.MyProject.Version) ?
> > >>
> > >> Is this something I can add myself, or do I have to jump through those
> > >
> > >> ugly hoops?
> > >>
> > >> --
> > >> Regards,
> > >>  cf
> > >>
> > >> ----------------------------------------------------------------------
> > >> --------
> > >> This SF.net email is sponsored by:
> > >> SourcForge Community
> > >> SourceForge wants to tell your story.
> > >> http://p.sf.net/sfu/sf-spreadtheword
> > >> _______________________________________________
> > >> WiX-users mailing list
> > >> WiX-users@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/wix-users
> > >>
> > >>
> > >>
> > >> ----------------------------------------------------------------------
> > >> --------
> > >> This SF.net email is sponsored by:
> > >> SourcForge Community
> > >> SourceForge wants to tell your story.
> > >> http://p.sf.net/sfu/sf-spreadtheword
> > >> _______________________________________________
> > >> WiX-users mailing list
> > >> WiX-users@lists.sourceforge.net
> > >> https://lists.sourceforge.net/lists/listinfo/wix-users
> > >>
> > >
> > >
> > >
> > > --
> > > Regards,
> > >  cf
> > >
> ------------------------------------------------------------------------
> > > ------
> > > This SF.net email is sponsored by:
> > > SourcForge Community
> > > SourceForge wants to tell your story.
> > > http://p.sf.net/sfu/sf-spreadtheword
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> > >
> >
> ------------------------------------------------------------------------------
> > > This SF.net email is sponsored by:
> > > SourcForge Community
> > > SourceForge wants to tell your story.
> > > http://p.sf.net/sfu/sf-spreadtheword
> > > _______________________________________________
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> >
> >
> >
> ------------------------------------------------------------------------------
> > This SF.net email is sponsored by:
> > SourcForge Community
> > SourceForge wants to tell your story.
> > http://p.sf.net/sfu/sf-spreadtheword
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > This SF.net email is sponsored by:
> > SourcForge Community
> > SourceForge wants to tell your story.
> > http://p.sf.net/sfu/sf-spreadtheword
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
>
>
> --
> Regards,
>  cf
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> SourcForge Community
> SourceForge wants to tell your story.
> http://p.sf.net/sfu/sf-spreadtheword
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>



-- 
Regards,
 cf
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to