<?xml version="1.0" encoding="utf-8"?>
<!--
   (c) Juergen Riegel (juergen.riegel@web.de) 2005                       
                                                                        
   This file is part of the FreeCAD CAx development system.             
                                                                        
   This program is free software; you can redistribute it and/or modify 
   it under the terms of the GNU Library General Public License (LGPL)  
   as published by the Free Software Foundation; either version 2 of    
   the License, or (at your option) any later version.                  
   for detail see the LICENCE text file.                                
                                                                        
   FreeCAD is distributed in the hope that it will be useful,           
   but WITHOUT ANY WARRANTY; without even the implied warranty of       
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        
   GNU Library General Public License for more details.                 
                                                                        
   You should have received a copy of the GNU Library General Public    
   License along with FreeCAD; if not, write to the Free Software       
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 
   USA                                                                  
                                                                        
   Juergen Riegel 2005                                                 
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
	<?include Version.wxi ?>
	<?define RTMProductVersion="$(var.FCVersionMajor).$(var.FCVersionMinor)" ?>
	<?define ProductVersion="$(var.FCVersionMajor).$(var.FCVersionMinor).$(var.FCVersionRevision)" ?>
	<!-- this is the product UID and have to change for every x.y Version  -->
	<?define ProductCode="{C3E556CE-88FC-423f-8063-D65F81143E28}"?>
	<!-- this is the product upgrade UID and have to change for every x.y Version  -->
	<?define UpgradeCode="{C3E556CE-88FC-423f-8063-D65F81143E28}"?>
	<?define PackageCode="{????????-????-????-????-????????????}"?>


	<Product Id='$(var.ProductCode)' 
				UpgradeCode='$(var.UpgradeCode)' 
				Name="FreeCAD $(var.FCVersionMajor).$(var.FCVersionMinor)" 
				Language="1033" 
				Version='$(var.ProductVersion)' 
				Manufacturer="Juergen Riegel (FreeCAD@juergen-riegel.net)">
        <Package Description="FreeCAD $(var.FCVersionMajor).$(var.FCVersionMinor) Installer package" 
				Comments="for details about FreeCAD see http://www.freecadweb.org" 
				InstallerVersion="300" 
				Compressed="yes"
				AdminImage='no'
				Platform='$(var.ProcessorArchitecture)'
				ReadOnly='yes'
				Keywords='FreeCAD,Installer,MSI' />

		<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
		<Upgrade Id="$(var.UpgradeCode)">
			<UpgradeVersion Minimum="$(var.ProductVersion)"
							IncludeMinimum="no"
							OnlyDetect="yes"
							Language="1033"
							Property="NEWPRODUCTFOUND" />
			<UpgradeVersion Minimum="$(var.RTMProductVersion)"
							IncludeMinimum="yes"
							Maximum="$(var.ProductVersion)"
							IncludeMaximum="no"
							Language="1033"
							Property="UPGRADEFOUND" />
		</Upgrade>

		<Property Id="ARPCOMMENTS">Greatest CAD ever ;-)</Property>
		<Property Id="ARPCONTACT">Juergen Riegel (FreeCAD@juergen-riegel.net)</Property>
		<Property Id="ARPHELPLINK">http://sourceforge.net/forum/forum.php?forum_id=161659</Property>
		<Property Id="ARPURLINFOABOUT">http://www.freecadweb.org/</Property>
		<Property Id="ARPURLUPDATEINFO">https://sourceforge.net/projects/free-cad/files/</Property>
		<Property Id="ALLUSERS">1</Property>

		<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />


        <Directory Id="TARGETDIR" Name="SourceDir">
 			<!-- These installs the Visual C++ 9.0 Runtime Libraries -->
			<?if $(var.ProcessorArchitecture)=x64 ?>
			<Merge  Id="CRT" Language="0" SourceFile='$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86_x64.msm' DiskId="1"/>
			<?else ?>
			<Merge  Id="CRT" Language="0" SourceFile='$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86.msm' DiskId="1"/>
			<?endif ?>
			
			<?if $(var.ProcessorArchitecture)=x64 ?>
			<Directory Id="ProgramFiles64Folder" Name="PFiles">
                <Directory Id="INSTALLDIR" Name="FreeCAD$(var.FCVersionMajor).$(var.FCVersionMinor)">
                    <Directory Id="BinDir"  Name="bin" />
                    <Directory Id="ModDir"  Name="Mod" />
                    <Directory Id="DocDir"  Name="doc" />
					<Directory Id="DataDir" Name="data" />
                </Directory>
            </Directory>
			<?else ?>
			<Directory Id="ProgramFilesFolder" Name="PFiles">
                <Directory Id="INSTALLDIR" Name="FreeCAD$(var.FCVersionMajor).$(var.FCVersionMinor)">
                    <Directory Id="BinDir"  Name="bin" />
                    <Directory Id="ModDir"  Name="Mod" />
                    <Directory Id="DocDir"  Name="doc" />
					<Directory Id="DataDir" Name="data" />
                </Directory>
            </Directory>
			<?endif ?>
            <Directory Id="ProgramMenuFolder">
                <Directory Id="MenuDir" Name="FreeCAD $(var.FCVersionMajor).$(var.FCVersionMinor)" />
            </Directory>
            <Directory Id="DesktopFolder" Name="Desktop" />
        </Directory>
        <Feature Id="Complete" 
				Title="FreeCAD $(var.FCVersionMajor).$(var.FCVersionMinor)" 
				Description="The Base system and standard modules" 
				Display="expand" 
				Level="1" 
				Absent="disallow" 
				ConfigurableDirectory="INSTALLDIR">
            <MergeRef Id="CRT" />
            <ComponentRef Id="Base" />
            <ComponentRef Id="BaseCmd" />
            <ComponentRef Id="BaseShortcuts" />
            <ComponentRef Id="BaseCmdShortcuts" />
            <ComponentRef Id="LibPackBinaries" />
            <ComponentRef Id="PyQtTop" />
            <ComponentRef Id="PyQtUic" />
            <ComponentRef Id="PyQtCompiler" />
            <ComponentRef Id="PyQtLoader" />
            <ComponentRef Id="PyQtWidgetPlugins" />
			<!--            
			<ComponentRef Id="PyQtQwt5" />
			-->
            <ComponentRef Id="PivyGui" />
            <ComponentRef Id="PivyTop" />
            <ComponentRef Id="ImageForm" />
            <ComponentRef Id="accessible" />
            <ComponentRef Id="codecs" />
            <ComponentRef Id="iconengines" />
            <ComponentRef Id="sqldrivers" />
            <ComponentRef Id="CompModPart" />
            <ComponentRef Id="CompModMesh" />
            <ComponentRef Id="CompModPoints" />
            <ComponentRef Id="CompModComplete" />
            <ComponentRef Id="CompModMeshPart" />
            <ComponentRef Id="CompModFem" />
            <ComponentRef Id="CompModPartDesign" />
            <ComponentRef Id="CompModPartDesignScripts" />
            <ComponentRef Id="CompModSketcher" />
            <ComponentRef Id="CompModDraft" />
            <ComponentRef Id="CompModTest" />
            <ComponentRef Id="CompModInspection" />
            <ComponentRef Id="CompModImport" />
            <ComponentRef Id="CompModArch" />
			<!-- No CAM at the moment 
            <ComponentRef Id="CompModCam" />
			-->
            <ComponentRef Id="CompModDrawingTemplates" />
            <ComponentRef Id="CompModDrawing" />
            <ComponentRef Id="CompModRaytracingTemplates" />
            <ComponentRef Id="CompModRobot" />
            <ComponentRef Id="CompModRobotLibKuka" />
            <ComponentRef Id="CompModStart" />
            <ComponentRef Id="CompModStartLibStartPage" />
            <ComponentRef Id="CompModStartDataStartPage" />
            <ComponentRef Id="CompModWeb" />
            <ComponentRef Id="CompModOpenSCAD" />
            <ComponentRef Id="CompModOpenSCADPly" />
            <!-- Ship module -->
            <ComponentRef Id="CompModShip" />
            <ComponentRef Id="CompModShipExamples" />
            <ComponentRef Id="CompModShipIcons" />
            <ComponentRef Id="CompModShipOpenCL" />
            <ComponentRef Id="CompModshipAreasCurve" />
            <ComponentRef Id="CompModshipCreateShip" />
            <ComponentRef Id="CompModshipHydrostatics" />
            <ComponentRef Id="CompModshipLoadExample" />
            <ComponentRef Id="CompModshipOutlineDraw" />
            <ComponentRef Id="CompModshipUtils" />
            <ComponentRef Id="CompModsimCreate" />
            <ComponentRef Id="CompModsimPost" />
            <ComponentRef Id="CompModsimRun" />
            <ComponentRef Id="CompModsimRunCL" />
            <ComponentRef Id="CompModsimRunNoCL" />
            <ComponentRef Id="CompModtankCreateTank" />
            <ComponentRef Id="CompModtankGZ" />
            <ComponentRef Id="CompModtankWeights" />
            <!-- Ship module -->
            <ComponentRef Id="CompExampleData" />
            <!-- Plot module -->
            <ComponentRef Id="CompModPlot" />
            <ComponentRef Id="CompModplotAxes" />
            <ComponentRef Id="CompModplotLabels" />
            <ComponentRef Id="CompModplotPositions" />
            <ComponentRef Id="CompModplotSave" />
            <ComponentRef Id="CompModplotSeries" />
            <ComponentRef Id="CompModplotUtils" />
		
            <Feature Id="FeatModImage" Title="The Image module" Description="Module to handle pictures" Level="1">
                <ComponentRef Id="CompModImage" />
            </Feature>
            <Feature Id="FeatModRaytracing" Title="The Raytracing module" Description="Module to work with the popular PovRay raytracer. (Experimental)" Level="1">
                <ComponentRef Id="CompModRaytracing" />
            </Feature>

            <Feature Id="Documentation" Title="Documentation" Description="The manuals." Level="1">
                <ComponentRef Id="DocComp" />
            </Feature>
						
						
        </Feature>

		<Icon Id="FreeCADIcon" SourceFile="../../bin/FreeCAD.exe" />
        <Property Id="ARPPRODUCTICON">FreeCADIcon</Property>
        <UIRef Id="WixUI_Mondo" />
		
		<!-- Prevent downgrading -->
		<CustomAction Id="PreventDowngrading" Error="Newer version already installed." />
		<!-- Sequences -->
		<InstallExecuteSequence>
			<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
			<RemoveExistingProducts After="InstallFinalize" />
		</InstallExecuteSequence>
		<InstallUISequence>
			<Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
		</InstallUISequence>

    </Product>
</Wix>
