<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->


<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
    <Fragment>
        <Property Id="VS14_EXTENSIONS_DIR" Secure="yes">
            <RegistrySearch Id="VS14DevEnvForExtensionsSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VS" Name="EnvironmentDirectory" Type="raw">
                <DirectorySearch Id="VS14ExtensionsPathSearch" Path="Extensions" Depth="1" />
            </RegistrySearch>
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14_PROJECTTEMPLATES_DIR" Secure="yes">
            <RegistrySearch Id="VS14DevEnvForProjectTemplatesSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VS" Name="EnvironmentDirectory" Type="raw">
                <DirectorySearch Id="VS14ProjectTemplatesPathSearch" Path="ProjectTemplates" Depth="1" />
            </RegistrySearch>
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14_SCHEMAS_DIR" Secure="yes">
            <RegistrySearch Id="VS14ProductPathSearch" Root="HKLM" Key="Software\Microsoft\VisualStudio\SxS\VS7" Name="14.0" Type="raw">
                <DirectorySearch Id="VS14XmlPathSearch" Path="Xml" Depth="1">
                    <DirectorySearch Id="VS14XmlSchemasPathSearch" Path="Schemas" Depth="1" />
                </DirectorySearch>
            </RegistrySearch>
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14_ITEMTEMPLATES_DIR" Secure="yes">
            <RegistrySearch Id="VS14DevEnvForItemTemplatesSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VS" Name="EnvironmentDirectory" Type="raw">
                <DirectorySearch Id="VS14ItemTemplatesPathSearch" Path="ItemTemplates" Depth="1" />
            </RegistrySearch>
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14_BOOTSTRAPPER_PACKAGE_FOLDER" Secure="yes">
            <RegistrySearch Id="SearchForVS14BootstrapperPackageFolder" Root="HKLM" Key="Software\Microsoft\GenericBootstrapper\4.0" Name="Path" Type="raw" />
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14_ROOT_FOLDER" Secure="yes">
            <RegistrySearch Id="SearchForVS14RootPath" Root="HKLM" Key="Software\Microsoft\VisualStudio\SxS\VS7" Name="14.0" Type="raw" />
        </Property>
    </Fragment>

    <Fragment>
        <Property Id="VS14DEVENV" Secure="yes">
            <RegistrySearch Id="VS14DevEnvSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VS" Name="EnvironmentPath" Type="raw" />
        </Property>
    </Fragment>

    <Fragment>
        <CustomAction Id="VS14Setup" Property="VS14DEVENV" ExeCommand="/setup" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VS14DEVENV" />

        <InstallExecuteSequence>
            <Custom Action="VS14Setup" Before="InstallFinalize" Overridable="yes" Condition="VS14DEVENV" />
        </InstallExecuteSequence>
    </Fragment>

    <Fragment>
        <CustomAction Id="VS14InstallVSTemplates" Property="VS14DEVENV" ExeCommand="/InstallVSTemplates" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VS14DEVENV" />

        <InstallExecuteSequence>
            <Custom Action="VS14InstallVSTemplates" Before="InstallFinalize" Overridable="yes" Condition="VS14DEVENV" />
        </InstallExecuteSequence>
    </Fragment>

    <!-- Indicates whether the Visual C# project system is installed as a part of  -->
    <!-- Visual Studio 14 standard or higher. If this property is set, that      -->
    <!-- means Visual Studio 14 standard or higher is installed and the Visual   -->
    <!-- C# language tools were installed as a part of VS 14 setup.              -->
    <Fragment>
        <Property Id="VS14_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVCS14ProjectSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VC#" Name="ProductDir" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Basic project system is installed as a part of -->
    <!-- Visual Studio 14 standard or higher. If this property is set, that        -->
    <!-- means Visual Studio 14 standard or higher is installed and the Visual     -->
    <!-- Basic language tools were installed as a part of VS 14 setup.             -->
    <Fragment>
        <Property Id="VS14_IDE_VB_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVB14ProjectSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VB" Name="ProductDir" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Web Developer 14 Express IDE component is installed.  -->
    <!-- If this property is set, that means Visual Web Developer 14 Express Edition is     -->
    <!-- installed on the system.                                                             -->
    <Fragment>
        <Property Id="VWD14EXPRESS_IDE" Secure="yes">
            <RegistrySearch Id="VWD14ExpressSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VWDExpress\14.0\Setup\VS" Name="EnvironmentPath" Type="raw" />
        </Property>
    </Fragment>
    <!-- Custom action definition to run vwdexpress.exe /setup                               -->
    <Fragment>
        <CustomAction Id="VWD14Setup" Property="VWD14EXPRESS_IDE" ExeCommand="/setup" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VWD14EXPRESS_IDE" />
        <InstallExecuteSequence>
            <Custom Action="VWD14Setup" Before="InstallFinalize" Overridable="yes" Condition="VWD14EXPRESS_IDE" />
        </InstallExecuteSequence>
    </Fragment>
    <!-- Custom action definition to run vwdexpress.exe /InstallVSTemplates                  -->
    <Fragment>
        <CustomAction Id="VWD14InstallVSTemplates" Property="VWD14EXPRESS_IDE" ExeCommand="/InstallVSTemplates" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VWD14EXPRESS_IDE" />
        <InstallExecuteSequence>
            <Custom Action="VWD14InstallVSTemplates" Before="InstallFinalize" Overridable="yes" Condition="VWD14EXPRESS_IDE" />
        </InstallExecuteSequence>
    </Fragment>

    <!-- Indicates whether the Visual Web Developer project system is installed as a part of -->
    <!-- Visual Studio 14 standard or higher. If this property is set, that                -->
    <!-- means Visual Studio 14 standard or higher is installed and the Visual             -->
    <!-- Web Developer language tools were installed as a part of VS 14 setup.             -->
    <Fragment>
        <Property Id="VS14_IDE_VWD_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <ComponentSearch Id="SearchForVWD14ProjectSystemUnderVSSetup" Guid="274EB373-6B78-5EBD-8A6C-6D8094E58ECB" />
            <ComponentSearch Id="SearchForVWD14ProjectSystemUnderVWDSetup" Guid="71EBDA4A-4A15-426F-95C4-4FC051FD7AA4" Type="directory" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual C++ project system is installed as a part of -->
    <!-- Visual Studio 14 standard or higher. If this property is set, that      -->
    <!-- means Visual Studio 14 standard or higher is installed and the Visual   -->
    <!-- C++ language tools were installed as a part of VS 14 setup.             -->
    <Fragment>
        <Property Id="VS14_IDE_VC_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVC14ProjectSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\VC" Name="ProductDir" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Studio 14 Team Test project system is installed -->
    <Fragment>
        <Property Id="VS14_IDE_VSTS_TESTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVSTS14TestSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Projects\{3AC096D0-A1C2-E12C-1390-A8335801FDAB}" Name="Package" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Studio Modeling project system is installed -->
    <Fragment>
        <Property Id="VS14_IDE_MODELING_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVSTS14ModelingSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Projects\{f088123c-0e9e-452a-89e6-6ba2f21d5cac}" Name="Package" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Studio F# project system is installed -->
    <Fragment>
        <Property Id="VS14_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" Secure="yes">
            <RegistrySearch Id="SearchForVSTS14FSharpSystemUnderVSSetup" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\Setup\F#" Name="ProductDir" Type="raw" />
        </Property>
    </Fragment>

    <!-- Indicates whether the Visual Studio Express for Windows IDE component is installed. -->
    <!-- If this property is set, that means Visual Studio Express for Windows is installed  -->
    <!-- on the system.                                                                      -->
    <Fragment>
        <Property Id="VS14WINEXPRESS_IDE" Secure="yes">
            <RegistrySearch Id="VS14WinExpressSearch" Root="HKLM" Key="SOFTWARE\Microsoft\VSWinExpress\14.0\Setup\VS" Name="EnvironmentPath" Type="raw" />
        </Property>
    </Fragment>
    <!-- Custom action definition to run vswinexpress.exe /setup                             -->
    <Fragment>
        <CustomAction Id="VS14WinExpressSetup" Property="VS14WINEXPRESS_IDE" ExeCommand="/setup" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VS14WINEXPRESS_IDE" />
        <InstallExecuteSequence>
            <Custom Action="VS14WinExpressSetup" Before="InstallFinalize" Overridable="yes" Condition="VS14WINEXPRESS_IDE" />
        </InstallExecuteSequence>
    </Fragment>
    <!-- Custom action definition to run vswinexpress.exe /InstallVSTemplates                -->
    <Fragment>
        <CustomAction Id="VS14WinExpressInstallVSTemplates" Property="VS14WINEXPRESS_IDE" ExeCommand="/InstallVSTemplates" Execute="deferred" Return="ignore" Impersonate="no" />
        <PropertyRef Id="VS14WINEXPRESS_IDE" />
        <InstallExecuteSequence>
            <Custom Action="VS14WinExpressInstallVSTemplates" Before="InstallFinalize" Overridable="yes" Condition="VS14WINEXPRESS_IDE" />
        </InstallExecuteSequence>
    </Fragment>
</Wix>