<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <?define ProductName = "EduNetworkBuilder"?>
  
  <!-- The ProductCode should change for every *major* revision; if it can coexist with the old -->
  <!-- We are planning to never change it for EduNetworkBuilder -->
  <?define ProductCode = "71EACA51-8B58-49F5-865C-802CFC16E503"?>
  <!-- A unique UpgradeCode.  Should be different than ProductCode.  Should never change -->
  <?define UpgradeCode = "D7FAE51C-D99A-406B-935B-E91F470D8488"?>

  <!-- We need to keep ProductVersion in sync with EduNetworkBuilder version number -->
  <?define ProductVersion = "1.0.0.40"?>
  
	<Product Id="*" 
           Name="$(var.ProductName)" 
           Language="1033" 
           Version="$(var.ProductVersion)" 
           Manufacturer="EduNetworkBuilder" 
           UpgradeCode="$(var.UpgradeCode)">
		<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

		<MajorUpgrade Schedule="afterInstallInitialize" 
                  DowngradeErrorMessage="A newer version of [ProductName] is already installed." 
                  AllowSameVersionUpgrades="yes"/>
    
		<MediaTemplate EmbedCab="yes"/>

		<Feature Id="ProductFeature" Title="$(var.ProductName)" Level="1">
			<ComponentGroupRef Id="ProductComponents" />
			<ComponentRef Id="ApplicationShortcut" />
		</Feature>
    
    <Directory Id="TARGETDIR" Name="SourceDir">
      <!-- Add info for program-files location -->
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="$(var.ProductName)" />
      </Directory>
      <!-- Add info for the start-menu shortcut -->
      <Directory Id="ProgramMenuFolder">
        <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
      </Directory>
    </Directory>
    
    <!-- More for the start-menu shortcut -->
    <DirectoryRef Id="ApplicationProgramsFolder">
      <Component Id="ApplicationShortcut" Guid="$(var.ProductCode)">
        <Shortcut Id="ApplicationStartMenuShortcut"
              Name="EduNetworkBuilder"
            Description="A program for teaching networking"
            Target="[#EduNetworkBuilder.exe]"
                  WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
        <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="Software\Microsoft\EduNetworkBuilder" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
      </Component>
    </DirectoryRef>

    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
      <Component Id="ProductComponent">
        <File Source="$(var.EduNetworkBuilder.TargetPath)" />
        <ProgId Id="EduNetworkBuilder.enbxfile" Description="EduNetworkBuilder Network File" >
          <Extension Id="enbx">
            <Verb Id ="open" Command="open" TargetFile="EduNetworkBuilder.exe" Argument="&quot;%1&quot;"/>
          </Extension>
        </ProgId>
        <ProgId Id="EduNetworkBuilder.enbufile" Description="EduNetworkBuilder User File" >
          <Extension Id="enbu">
            <Verb Id ="open" Command="open" TargetFile="EduNetworkBuilder.exe" Argument="&quot;%1&quot;"/>
          </Extension>
        </ProgId>
        <ProgId Id="EduNetworkBuilder.enbhfile" Description="EduNetworkBuilder Homework File" >
          <Extension Id="enbh">
            <Verb Id ="open" Command="open" TargetFile="EduNetworkBuilder.exe" Argument="&quot;%1&quot;"/>
          </Extension>
        </ProgId>      </Component>
    </ComponentGroup>

  </Product>
</Wix>