<?xml version="1.0" encoding="utf-8"?>
<!--
****************************************************************************************************
wix.targets

WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
          created a backup copy.  Incorrect changes to this file will make it
          impossible to load or build your projects from the command-line or the IDE.

This file defines the steps in the standard build process for WiX projects (.wixproj).

Conventions:
  * Targets and properties that start with an underscore (_) are considered private and should not
    be used outside of this file.

Coding Conventions:
  * Two-space indentation of nested elements

  * Self-closing elements should have a space before the /> ("<MyProperty />")

  * Conditions should have a space before and after the "" and between any operators. For example:
    <MyProperty Condition=" '$(MyProperty)' == '' ">Value</MyProperty>

  * Targets should have each attribute on a single line and indented by two spaces. Also, there
    should be a blank line between the Target and the beginning of the contents (a blank line is
    optional before the closing </Target> tag).
    For example:
    <Target
      Name="MyTarget"
      DependsOnTargets="$(MyTargetDependsOn)">

      <Message Importance="low" Text="MyTarget is doing something." />
    </Target>

Copyright (c) Microsoft Corporation. All rights reserved.
****************************************************************************************************
-->
<Project
  xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  
  <!-- All common targets/items/properties -->

  <!-- Version specific targets/items/properties -->
  <PropertyGroup>
    <!-- MSBuild 4.0 -->
    <!-- MSBuild does not do short circuit evaluation of the AND operator, so we cannot have 
         something like '$(MSBuildToolsVersion)' != '' AND '$(MSBuildToolsVersion)' &gt;= '4.0'
         instead set as default and override -->
    <WixVersionTargetsPath>wix2010.targets</WixVersionTargetsPath>
    <!-- MSBuild 2.0 - 3.5 -->
    <WixVersionTargetsPath Condition=" '$(MSBuildToolsVersion)' == '' OR '$(MSBuildToolsVersion)' &lt; '4.0' ">wix200x.targets</WixVersionTargetsPath>
  </PropertyGroup>

  <Import Project="$(WixVersionTargetsPath)" />
</Project>
