Guillaume Rouchon's Blog
.Net and VisualStudio ALM
.Net and VisualStudio ALM
Mar 4th
I’m using more and more Brian Keller’s virtual machine for my presentations and demos. This virtual machine can be downloaded on Brian’s blog:
This VM already contains all tools installed and configured and also has some projects with data. To ensure it’s use over time some scripts are run at each startup of the system and can cause some errors when you want, like me, to do your own demos.
Here are 2 tips to avoid the “demo effect”
![]()
Carpe Diem.
Feb 18th
During my session at the TechDays 2013 a reader of my blog asked me how to generate a WebDeploy package from Team Build. Here’s a post on this subject
Before starting here’s a brief reminder of what WebDeploy is:
WebDeploy is a tool to simplify the deployment of web applications or web sites on IIS servers. With WebDeploy an administrator can export or import a web site as a configurable package or can synchronize IIS servers.
In this post i’ll show you how you can create a WebDeploy package (.zip) based on your web application source files and the result of it’s build.
The first thing you can do is configure your web projet using it’s properties:
Note that all these parameters can be overrides during a build if you want to centralized some of those parameters. In fact, all these parameters are MsBuild properties
Before anything, you need to create a build definition using the default template and configure it to build your solution containing your web application:
If you start this build without any other parameters you will get in the output a folder named _PublishedWebSites containing your web application:
To create a WebDeploy package we will need to pass some specific values for MsBuild properties used in the Web deployment targets Microsoft.Web.Publishing.targets. Here are those properties we will override:
Le premier paramètre permet d’indiquer si l’on souhaite lancer le pipeline de déploiement des applications Web référencées par la solution que l’on compile. Par défaut ce paramètre vaut false, il va donc falloir lui passer la valeur true.
Le paramètre DeployTarget permet de spécifier l’action que l’on souhaite réaliser lors du déploiement. Lors d’un déploiement il est possible de réaliser plusieurs type actions (création d’un package ou déploiement), ce qui nous intéresse comme action est la création d’un package WebDeploy. Pour cela il faut utiliser la valeur Package qui se trouve être la valeur par défaut. Donc pas besoin de spécifier une valeur particulière
Enfin le dernier paramètre permet de spécifier, dans le cas de l’exécution depuis TeamBuild le suffixe des noms des différents fichiers générés. Ce nom est normalement spécifié dans les propriétés du projet mais dans le cas de TeamBuild le nom personnalisé n’est pas utilisé et est remplacé par le nom du projet :
Nous allons pouvoir utiliser la propriété DefaultPackageFileName afin de surcharger cette valeur :
Maintenant que nous connaissons les propriétés MsBuild à surcharger nous pouvons mettre à jour notre définition de build pour inclure ces éléments. Tous cela se passe via le paramètre “MsBuild Arguments” dans la section avancée en utilisant la syntaxe MsBuild en ligne de commande “/p:DeployOnBuild=true;DefaultPackageFileName=WygwamTechDays.zip” :
Et voila votre build va maintenant générer en plus un package WebDeploy avec le nom que vous lui avez spécifié. Ce package se trouvera dans un sous répertoire de _PublishedWebSites :
Si vous trouvez l’utilisation des paramètres MsBuild un peu fastidieux, rien ne vous empêche de personnaliser votre template de build afin d’y ajouter des paramètres tel que “Create WebDeploy Package” et “WebDeploy Package Name” et d’utiliser ces valeurs pour passer ou nom des paramètres à l’activité MsBuild. Dans ce cas notez que l’activité MsBuild possède déjà un paramètre DeployOnBuild pour simplifier encore
With Visual Studio 2012 you can now create publishing profiles (.pubxml files). Theses files containes the WebDeploy parameters to use. You can easily create or use those profiles inside Visual Studio by doing a right click on your project and select Publish :
You can create or us an existing publishing profile:
When you have created and added to source controls your publishing profiles you can use the PublishProfile parameter to use them with MsBuild. This parameter specifies the name of the publishing profile file to use (without the .pubxml): /p:PublishProfile=Dev
As for the other parameters we use “MsBuild Arguments”:
And now you have all the information you need to generate WebDeploy package from Team Foundation Build
Carpe Diem.
Feb 18th

We released a new stable version on the Community TFS Build Extensions. For a list of updates see the download page here.
Your feedback and suggestions are welcomed, use the site’s forum for this :)
Carpe Diem.
Jan 10th
Translate original post with Google Translate
Les TechDays 2013 auront lieu du 12 au 14 février au Palais des Congrès de Paris. J’y animerai une session sur “La mise en place d’une usine logicielle avec Team Foundation Server 2012 pour des développements Microsoft et non Microsoft”, Venez nombreux !
Vous pourrez aussi me retrouver sur le stand de Wygwam si vous avez des questions ou besoins autour de l’ALM et des outils de développements MS.
Voici aussi les sessions de mes petits camarades de Wygwam :
Carpe Diem.
Dec 3rd
This post is part of a series on how to install and configure Team Foundation Server using DNS aliases for it’s components:
In this post we’ll see how to configure Team Foundation Server to use the DNS aliases for the database and SharePoint. Here’s the aliases i’ll be using for this tutorial:
For Team Foundation Server, even if all components are on the same server we’ll have to do an advance configuration:
The initial configuration is now finished. We need to configure the URL used by TFS for the web access:
The Team Foundation Server server is now completely configured to use all the DNS aliases. The last part we need to configure is in SharePoint.
After configuring TFS the link between TFS and SharePoint is created but without the DNS alias. We need to go back on the SharePoint server to update the TFS extensions for SharePoint:
And that’s all folks, all our TFS components are now fully configured to use the DNS aliases. If in the future you need to migrate a component to a new server no more need to rename or reconfigure your TFS platform, all you have to do is update the correct alias on the DNS server
Carpe Diem.
Nov 19th
This post is part of a series on how to install and configure Team Foundation Server using DNS aliases for it’s components:
In this post we’ll see how to configure SharePoint to use the DNS aliases for the database and SharePoint. Here’s the aliases i’ll be using for this tutorial:
To configure SharePoint with our DNS aliases we cannot use the integrated install with TFS, we must install it separately:
SharePoint is now configured to use the DNS alias for the database. We must now configure it to respond to request made using the DNS alias sharepoint01:
Your SharePoint is now installed and configured to work with your DNS aliases. you can now install the TFS extensions for SharePoint as usual.
In my next post we’ll see how to configure Team Foundation Server to use all the components we just installed
Carpe Diem.
Nov 5th
In my last series of post I’ve looked at how you can rename server which runs TFS components and reconfigure them so that the platform can be operational again. In this new series i’ll explain how to realize an installation using DNS aliases so that future server changes will be simplified by simply changing the alias
Even you start with a single server installation, using DNS aliases for all components will simplify your task if you need to make some evolution later. Here’s the list of components on which we will have an alias:
I’ll look at the specific installation and configuration for this task in 3 parts:
Let’s start with the Data Tiers part which is comprised of SQL Server, Analysis Services and Reporting Services. Here are the aliases i’ll be using but feel free to use your own
My domain used for this tutorial is demo.local.
For the SQL Server part (database only), there is no specific configuration as this component doesn’t have any dependency :)
As for SQL Server, this component doesn’t have any dependency so there is not specific configuration except in one case : when you install Analysis Services on the same server as another component which depends on it. In this case after the installation you must add a registry key to disable the loopback check. By default you cannot connect to Analysis Services locally using another address than “localhost”. Here’s how to do this:
Be careful that this can have some security implications. For more information please read the following Microsoft KB : http://support.microsoft.com/kb/983444
Installing and configuring Reporting Services is a little bit longer so that you can use DNS aliases:
Here’s what you must do to install and configure the SQL Server components to work with DNS aliases
For the next part we’ll see how to configure SharePoint.
Carpe Diem.
Nov 1st
If you have followed the news around Team Foundation Server 2012 you know that Microsoft has proposed a preview version of its tool on Azure. Since yesterday Team Foundation Service is now officially RTM at the following URL: http://tfs.visualstudio.com !
The service will continue to improve every 3 weeks which is the sprint cadence of the DevDiv team. For now here is what you can get:
To connect to the platform for development you can use one of these tools:
If you do not need reporting or sharepoint integration I strongly suggest that you take a look at Team Foundation Service
Carpe Diem.
Aug 27th
Posts in this series:
In this sixth post we will see what to do to rename the TeamBuild server build.demo.local to build1.demo.local and make our service work again
As for the other rename the first thing to do is rename and restart the server
We will now reconfigure the build service so that it’s WCF Endpoint is exposed using the new name:

Your installion is back online using the new TeamBuild server name. In a next post i’ll show you some tips when installing TFS to avoid doing all those painful actions if you ever need to rename a server.
Aug 24th

We just published a new stable version of the Community TFS Build Extensions. For a list of updates see the download page here.
Your feedback and suggestions are welcomed, use the site’s forum for this
Carpe Diem.