I'll do you one better. Send me an email and I'll talk with you about it on the 
phone.

----------------------------------------

From: "Castro, Edwin G. (Hillsboro)" <edwin.cas...@fiserv.com>

Sent: Saturday, September 24, 2011 2:03 PM

To: "General discussion for Windows Installer XML toolset." 
<wix-users@lists.sourceforge.net>

Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?


Can somebody send me some links that explain, describe, or document what a 
"Workflow based build" is? This completely new to me and I have to wonder how 
you build a regular C# project using a "Workflow based build"...


Edwin G. Castro

Software Developer - Staff

Digital Channels

Fiserv

Office: 503-746-0643

Fax: 503-617-0291

www.fiserv.com

??Please consider the environment before printing this e-mail


> -----Original Message-----

> From: John Bergman [mailto:john.berg...@xpedienttechnologies.com]

> Sent: Friday, September 23, 2011 10:11 PM

> To: John Robbins; General discussion for Windows Installer XML toolset.

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> John,

>

>    I got that, but how would you invoke the build task from a Workflow based

> build, rather than a MSBuild-based build?

>

>    You're right, Austin is pretty close.  WE have a pretty big .Net community 
> in

> our area too, not sure why we seem to always get bypassed for anything

> substantial.

>

> John

>

> -----Original Message-----

> From: John Robbins [mailto:j...@wintellect.com]

> Sent: Saturday, September 24, 2011 12:05 AM

> To: John Bergman; General discussion for Windows Installer XML toolset.

> Subject: RE: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> Hi John,

>

> Sorry for the misunderstanding. What my MSBuild files do is pull in

> Microsoft.TeamFoundation.Build.ProcessComponents.dll, which has a bunch

> of MSBuild tasks in it. The key task is GetBuildProperties where you can have

> it set a few properties through OutProperty elements. Here's the relevant

> code:

>

>   <!-- Pull in the VS 2010 version of the TFS build components only if doing a

> full

>        TFS Build.-->

>   <UsingTask

> TaskName="Microsoft.TeamFoundation.Build.Tasks.GetBuildProperties"

>

> AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Proce

> ssComponents.dll"

>              Condition="'$(WintellectBuildType)'=='TFSBUILD'"/>

>

>   <!-- The one target needed from TFS Build to pull out the build information.

> -->

>   <Target Name="WintellectInitializeBuildProperties"

>           Condition="'$(WintellectBuildType)'=='TFSBUILD'">

>

>     <GetBuildProperties

> TeamFoundationServerUrl="$(TeamFoundationServerUrl)"

>                         BuildUri="$(BuildUri)"

>                         Condition=" '$(IsDesktopBuild)' != 'true' ">

>       <!-- I only need these two values so that's all I'll ask about. -->

>       <Output TaskParameter="BuildDefinitionName"

> PropertyName="BuildDefinitionName" />

>       <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"

> />

>     </GetBuildProperties>

>     <Message Importance="high" Text="Hello : BuildUri=$(BuildUri)"/>

>

>   </Target>

>

> You can see all of this in action with the Wintellect.TFSBuildNumber.targets

> file in the samples I mentioned below.

>

> Dallas isn't that far away from Austin. Anyway, you needed to get out of the

> office for a few days anyway. :D

>

> Hope it helps!

>

> John

> Wintellect

> http://www.wintellect.com

> +1-877-968-5528

>

>

> -----Original Message-----

> From: John Bergman [mailto:john.berg...@xpedienttechnologies.com]

> Sent: Friday, September 23, 2011 9:58 PM

> To: John Robbins; General discussion for Windows Installer XML toolset.

> Subject: RE: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> No, what I was asking was how do you get the build number out of the TFS

> build server into the files?

>

> You guys need to bring Devscovery to Dallas/Ft. Worth...

>

> -----Original Message-----

> From: John Robbins [mailto:j...@wintellect.com]

> Sent: Friday, September 23, 2011 4:46 PM

> To: General discussion for Windows Installer XML toolset.; John Bergman

> Subject: RE: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> Hi John (Bergman :) )

>

> As I mentioned all my build number stuff is part of your normal C#/VB/C++

> .CS/VB/VCXPROJ files. Once you've edited your project files to create the

> version numbers targets (see the example I included), you'll just tell TFS 
> Build

> to build your solution and the build numbers are automatically created.

>

> Is that what you were asking?

>

> John

> Wintellect

> http://www.wintellect.com

> +1-877-968-5528

>

>

> -----Original Message-----

> From: John Bergman [mailto:john.berg...@xpedienttechnologies.com]

> Sent: Friday, September 23, 2011 10:16 AM

> To: General discussion for Windows Installer XML toolset.;

> chr...@deploymentengineering.com

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> John (Robbins),

>

>    Hey John, I don't see how the MSBuild items get invoked from a TFS

> Workflow-based build based on the information in your blog;  How do you

> connect the two together?

>

>    For others...  John's blog has a link to Jim Lamb's article about how to 
> create

> a custom WorkFlow activity

> (http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-

> custom-workflow-activity-for-tfs-build-2010.aspx).

>

> John

>

> -----Original Message-----

> From: John Robbins [mailto:j...@wintellect.com]

> Sent: Thursday, September 22, 2011 9:01 PM

> To: General discussion for Windows Installer XML toolset.;

> chr...@deploymentengineering.com

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> Hi,

>

> Just to throw out an alternative way of getting the TFS build number into you

> version data here's how I did it:

>

> http://www.wintellect.com/cs/blogs/jrobbins/archive/2009/11/09/tfs-2010-

> build-number-and-assembly-file-versions-completely-in-sync-with-only-

> msbuild-4-0.aspx

> http://www.wintellect.com/CS/blogs/jrobbins/archive/2011/09/05/tfs-2010-

> build-numbers-file-versions-from-inside-your-c-and-c-projects.aspx

> http://www.wintellect.com/CS/blogs/jrobbins/archive/2011/09/11/more-

> on-tfs-2010-build-numbers-inside-your-projects.aspx

>

> John Bergman's way is excellent but mine goes right into the project file so 
> it

> doesn't require a custom TFS Build action in the workflow.

>

> John

> Wintellect

> http://www.wintellect.com

> +1-877-968-5528

>

>

> -----Original Message-----

> From: John Bergman [mailto:john.berg...@xpedienttechnologies.com]

> Sent: Thursday, September 22, 2011 5:34 PM

> To: General discussion for Windows Installer XML toolset.;

> chr...@deploymentengineering.com

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> I created a custom Activity that created a Wix Include file.  I had it just 
> write

> the file new each time.  The contents of our file looks like this

>

> <?xml version="1.0" encoding="utf-8"?>

> <!-- Note that this file will be overridden by the build server. --> <Include>

>   <?define MajorVersion       = "1" ?>

>   <?define MinorVersion       = "62" ?>

>   <?define BuildNumber        = "112" ?>

>   <?define Revision           = "1083" ?>

>   <?define FullVersion        = "1.62.112.1083" ?>

>   <!--WiX Installer Versions are Major.Minor.Revision --> </Include>

>

> Then I just included it in all the wix markup to use it.  Its pretty straight

> forward.  I probably wrote more to the file than I needed, but I didn't want 
> to

> have to revisit getting the custom activity to work.

>

> Once you create the activity, you need to update your build agents to pull

> the assembly from source control, I placed it into

> $/root/BuildProcessTemplates/CustomActivities.

>

> Using the code activity, you can update the build process template to hook

> up the two properties (VersionInfoFileName and VersionNumber).  I actually

> use the same technique to write an assemblyinfo file that has the version

> information in it as well.  In my case, I don't check it in and out each time,

> because the build regenerates it... you could easily do that by adding a

> invokeprocess activity before/after the UpdateWixVersion activity

> (remember to use the **NO_CI** Magic so you don't get caught in a

> continuous loop building...

>

> The source for the code activity looks like this:

>

>   [BuildActivity(HostEnvironmentOption.All)]

>   public sealed class UpdateWixVersion : CodeActivity

>   {

>     /// <summary>

>     /// Defines the file mask of all of the files for which the build number 
> of the

> assembly version must be updated

>     /// </summary>

>     [RequiredArgument]

>     public InArgument<string> VersionInfoFileName { get; set; }

>

>     /// <summary>

>     /// Defines (uses) the VersionNumber as initialized in the build process

> template.

>     /// </summary>

>     [RequiredArgument]

>     public InArgument<string> VersionNumber { get; set; }

>

>     /// <summary>

>     /// Execute the Update Version Number build step.

>     /// </summary>

>     /// <param name="context">Contains the workflow context</param>

>     protected override void Execute(CodeActivityContext context)

>     {

>       //-- Get the input parameters

>       string strVersionInfoFileName =

> context.GetValue(this.VersionInfoFileName);

>       string strVersionNumber = context.GetValue(this.VersionNumber);

>

>       Version verCurrentVersionInfo = new Version(strVersionNumber);

>

>       //-- Generate the text...

>       StringBuilder sb = new StringBuilder();

>       sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");

>       sb.AppendLine("<!-- Note that this file will be overridden by the build

> server. -->");

>       sb.AppendLine("<Include>");

>       sb.AppendLine(string.Format("  <?define MajorVersion       = \"{0}\" 
> ?>",

> verCurrentVersionInfo.Major));

>       sb.AppendLine(string.Format("  <?define MinorVersion       = \"{0}\" 
> ?>",

> verCurrentVersionInfo.Minor));

>       sb.AppendLine(string.Format("  <?define BuildNumber        = \"{0}\" 
> ?>",

> verCurrentVersionInfo.Build));

>       sb.AppendLine(string.Format("  <?define Revision           = \"{0}\" 
> ?>",

> verCurrentVersionInfo.Revision));

>       sb.AppendLine(string.Format("  <?define FullVersion        = \"{0}\" 
> ?>",

> strVersionNumber));

>       sb.AppendLine("  <!--WiX Installer Versions are Major.Minor.Revision --

> >");

>

>       sb.AppendLine("</Include>");

>

>       //-- Save the file text...

>       if (File.Exists(strVersionInfoFileName))

>       {      //-- ensure that the file is writeable

>         FileAttributes fileAttributes =

> File.GetAttributes(strVersionInfoFileName);

>         File.SetAttributes(strVersionInfoFileName, fileAttributes &

> ~FileAttributes.ReadOnly);

>

>         File.WriteAllText(strVersionInfoFileName, sb.ToString());

>

>         //-- restore the file's original attributes

>         File.SetAttributes(strVersionInfoFileName, fileAttributes);

>       }

>       else

>       {

>         throw new Exception(string.Format("UpdateWixVersion: {0} does not

> exist.", VersionInfoFileName));

>       }

>     }

>   }

>

> Hope it helps,

> John

>

> -----Original Message-----

> From: David Rickard (USA) [mailto:davri...@microsoft.com]

> Sent: Thursday, September 22, 2011 4:54 PM

> To: chr...@deploymentengineering.com; General discussion for Windows

> Installer XML toolset.

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

> Again, thanks for all the tips.

>

> I'm setting my .wixproj project up now and have gotten to the point where I

> need to pass the version number from the TFS build in. You said it "takes a

> little bit more work": how did you end up doing that?

>

> -----Original Message-----

> From: Christopher Painter [mailto:chr...@deploymentengineering.com]

> Sent: Tuesday, September 20, 2011 4:09 PM

> To: General discussion for Windows Installer XML toolset.; wix-

> us...@lists.sourceforge.net

> Subject: Re: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

>

>

>

> The simplest way is to use Votive to generate a .SLN / .WIXPROJ and then

> add the sln configuration | platform to to the build parameters in the build

> definition.  You shouldn't have to do any customizations in workflow

> as the Default Template will work out of the box.   Passing a

> ProductVersion property takes a little bit more work on the msbuild side  (

> build parameters and preprocessor definitions in the wixproj and wixs ) but it

> doesn't require any workflow changes.

>

> ----------------------------------------

>

> From: "David Rickard (USA)" <davri...@microsoft.com>

>

> Sent: Tuesday, September 20, 2011 5:11 PM

>

> To: "wix-users@lists.sourceforge.net" <wix-users@lists.sourceforge.net>

>

> Subject: [WiX-users] Best way to invoke Wix from a TFS build workflow?

>

>

> I need to build some MSIs with Wix during our TFS build. Our current TFS

> build is using the Windows Workflow XAML files to declare the build logic.

> What's the best way to invoke Wix from there? Directly invoking the process

> from an activity? Going down to a powershell script and calling it from there?

> Are there any custom Wix activities to use?

>

> ----------------------------------------------------------------------------

> --

>

> All the data continuously generated in your IT infrastructure contains a

>

> definitive record of customers, application performance, security

>

> threats, fraudulent activity and more. Splunk takes this data and makes

>

> sense of it. Business sense. IT sense. Common sense.

>

> http://p.sf.net/sfu/splunk-d2dcopy1

>

> _______________________________________________

>

> WiX-users mailing list

>

> WiX-users@lists.sourceforge.net

>

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

>

> ------------------------------------------------------------------------------

> All the data continuously generated in your IT infrastructure contains a

> definitive record of customers, application performance, security threats,

> fraudulent activity and more. Splunk takes this data and makes sense of it.

> Business sense. IT sense. Common sense.

> http://p.sf.net/sfu/splunk-d2dcopy1

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

>

>

>

>

> ------------------------------------------------------------------------------

> All the data continuously generated in your IT infrastructure contains a

> definitive record of customers, application performance, security threats,

> fraudulent activity and more. Splunk takes this data and makes sense of it.

> Business sense. IT sense. Common sense.

> http://p.sf.net/sfu/splunk-d2dcopy1

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

> ------------------------------------------------------------------------------

> All of the data generated in your IT infrastructure is seriously valuable.

> Why? It contains a definitive record of application performance, security

> threats, fraudulent activity, and more. Splunk takes this data and makes

> sense of it. IT sense. And common sense.

> http://p.sf.net/sfu/splunk-d2dcopy2

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

> ------------------------------------------------------------------------------

> All of the data generated in your IT infrastructure is seriously valuable.

> Why? It contains a definitive record of application performance, security

> threats, fraudulent activity, and more. Splunk takes this data and makes

> sense of it. IT sense. And common sense.

> http://p.sf.net/sfu/splunk-d2dcopy2

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

> ------------------------------------------------------------------------------

> All of the data generated in your IT infrastructure is seriously valuable.

> Why? It contains a definitive record of application performance, security

> threats, fraudulent activity, and more. Splunk takes this data and makes

> sense of it. IT sense. And common sense.

> http://p.sf.net/sfu/splunk-d2dcopy2

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

>

>

>

> ------------------------------------------------------------------------------

> All of the data generated in your IT infrastructure is seriously valuable.

> Why? It contains a definitive record of application performance, security

> threats, fraudulent activity, and more. Splunk takes this data and makes

> sense of it. IT sense. And common sense.

> http://p.sf.net/sfu/splunk-d2dcopy2

> _______________________________________________

> WiX-users mailing list

> WiX-users@lists.sourceforge.net

> https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to