<?include Config.wxi?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
    <Package
      Id="*"
      Keywords="Installer"
      Description="$(var.Description)"
      Comments="$(var.Comments)"
      Manufacturer="$(var.Manufacturer)"
      InstallerVersion="100"
      Languages="1031"
      Compressed="yes"
      SummaryCodepage="1252"
      InstallScope="perMachine"
    />

    <Property Id="APPLICATIONFOLDER">
      <RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKCU" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
    </Property>

    <Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)'  />
    <Property Id='DiskPrompt' Value="$(var.ProgramName) Install" />

    <MajorUpgrade
      AllowDowngrades="no"
      AllowSameVersionUpgrades="yes"
      DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet."
    />

    <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
    <Upgrade Id="$(var.UpgradeCode)">
      <UpgradeVersion
        Minimum="1.0.0.0" Maximum="1.9.4.0"
        Property="PREVIOUSVERSIONSINSTALLED"
        IncludeMinimum="yes" IncludeMaximum="no" />
    </Upgrade>

    <!-- Legt das Icon fest -->
    <Icon Id="AppIcon.exe" SourceFile="..\DD_PM_WINDREAM\bin\$(var.Configuration)\$(var.ProgramName).exe" />
    <!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
    <Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="DDDIR" Name="$(var.Manufacturer)">
          <Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
        </Directory>
      </Directory>

      <Directory Id="ProgramMenuFolder">
        <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
      </Directory>

      <Directory Id="DesktopFolder" />
    </Directory>

    <DirectoryRef Id="ApplicationProgramsFolder">
      <Component Id="ApplicationShortcut_StartMenu" Guid="62aad607-27fc-438f-b2e5-0e3f26e51aaa">
        <Shortcut Id="ApplicationStartMenuShortcut_StartMenu"
             Name="$(var.ProductName)"
             Target="[INSTALLDIR]$(var.ProgramName).exe"
             WorkingDirectory="INSTALLDIR"/>
        <RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
      </Component>
    </DirectoryRef>

    <DirectoryRef Id="DesktopFolder">
      <Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089">
        <Shortcut Id="ApplicationStartMenuShortcut_Desktop"
             Name="$(var.ProductName)"
             Target="[INSTALLDIR]$(var.ProgramName).exe"
             WorkingDirectory="INSTALLDIR"/>
        <RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
      </Component>
    </DirectoryRef>   

    <DirectoryRef Id="INSTALLDIR">
      
      <Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes">
        <File Id="MainApplicationExe" Source="..\$(var.ProgramName)\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" KeyPath="no" Checksum="yes" />
        <!--
        <Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
        <Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
        -->
      </Component>
      
      <Component Id="ReleaseNotes" Guid="D1496E4D-98C2-4849-9914-DB47D47CC6BE">
        <File Id="ReleaseNote" Name="Release Notes.txt" Source="P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DD_MODULE\DD Process Manager\Release_Notes.txt" KeyPath="yes">
        </File>
      </Component>

      <Component Id="WindreamLibs" Guid="4D11FC99-50D9-4E54-B18A-8885C9112646">
        <File Id="WINDREAMLibDLL" Name="Interop.WINDREAMLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll" KeyPath="yes"/>
        <File Id="WMOTOOLLib" Name="Interop.WMOTOOLLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll"/>
        <File Id="WMOSRCHLib" Name="Interop.WMOSRCHLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll"/>
        <File Id="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll"/>
      </Component>
      
      <Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
        <File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="P:\Visual Studio Projekte\Bibliotheken\FormsUtils.dll" KeyPath="yes" />
      </Component>

      <Component Id="IndependentsoftLibs" Guid="C3B3BB48-DB41-4419-A4B8-0E4DC5E8856B">
        <File Id="MSGLib" Name="Independentsoft.Msg.dll" Source="P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\Independentsoft.Msg.dll" KeyPath="yes"/>
      </Component>

      <Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293">
        <File Id="DLLLicenseManager" Name="DLLLicenseManager.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll" KeyPath="yes"/>
        <File Id="DDLibStandards" Name="DD_LIB_Standards.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DD_LIB_Standards.dll"/>
        <File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
        <File Id="DDConfig" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll"/>
        <File Id="DDLogging" Name="DigitalData.Modules.Logging.dll" Source="DigitalData.Modules.Logging.dll"/>
        <File Id="DDFilesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll"/>
        <File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
      </Component>

      <Component Id="Oracle" Guid="CF76DB5D-3263-450F-96C6-F02F5447A0A1">
        <File Id="Oracle.ManagedDataAccess" Name="Oracle.ManagedDataAccess.dll" Source="P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll" KeyPath="yes"/>
      </Component>
      
       <Component Id="PDFsharp" Guid="9cd1cfb7-3f84-4a8b-aa51-642b723fcd70">
        <File Id="PdfSharpgdi" Name="PdfSharp-gdi.dll" Source="P:\Visual Studio Projekte\Bibliotheken\PdfSharp-gdi.dll" KeyPath="yes"/>
      </Component>

      <Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
        <File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll" KeyPath="yes" />
        <File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.filters.dll" />
        <File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.image.gdimgplug.dll" />
        <File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
      </Component>
      
      <Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191">
        <File Id="DevExpress.Images.v19.2" Name="DevExpress.Images.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Images.v19.2.dll" KeyPath="yes"/>
        <File Id="DevExpress.Data.v19.2" Name="DevExpress.Data.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Data.v19.2.dll"/>
        <File Id="DevExpress.Pdf.v19.2.Core" Name="DevExpress.Pdf.v19.2.Core.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Pdf.v19.2.Core.dll"/>
        <File Id="DevExpress.Pdf.v19.2.Drawing" Name="DevExpress.Pdf.v19.2.Drawing.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Pdf.v19.2.Drawing.dll" />
        <File Id="DevExpress.Charts.v19.2.Core" Name="DevExpress.Charts.v19.2.Core.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Charts.v19.2.Core.dll"/>
        <File Id="DevExpress.Printing.v19.2.Core" Name="DevExpress.Printing.v19.2.Core.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Printing.v19.2.Core.dll"/>
        <File Id="DevExpress.Utils.v19.2" Name="DevExpress.Utils.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.Utils.v19.2.dll"/>
        <File Id="DevExpress.XtraBars.v19.2" Name="DevExpress.XtraBars.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraBars.v19.2.dll"/>
        <File Id="DevExpress.XtraCharts.v19.2" Name="DevExpress.XtraCharts.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraCharts.v19.2.dll"/>
        <File Id="DevExpress.XtraCharts.v19.2.Wizard" Name="DevExpress.XtraCharts.v19.2.Wizard.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraCharts.v19.2.Wizard.dll"/>
        <File Id="DevExpress.XtraCharts.v19.2.UI" Name="DevExpress.XtraCharts.v19.2.UI.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraCharts.v19.2.UI.dll"/>
        <File Id="DevExpress.XtraEditors.v19.2" Name="DevExpress.XtraEditors.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraEditors.v19.2.dll"/>
        <File Id="DevExpress.XtraGrid.v19.2" Name="DevExpress.XtraGrid.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraGrid.v19.2.dll"/>
        <File Id="DevExpress.XtraLayout.v19.2" Name="DevExpress.XtraLayout.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraLayout.v19.2.dll"/>
        <File Id="DevExpress.XtraNavBar.v19.2" Name="DevExpress.XtraNavBar.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraNavBar.v19.2.dll"/>
        <File Id="DevExpress.XtraPdfViewer.v19.2" Name="DevExpress.XtraPdfViewer.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraPdfViewer.v19.2.dll"/>
        <File Id="DevExpress.XtraPrinting.v19.2" Name="DevExpress.XtraPrinting.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraPrinting.v19.2.dll"/>
        <File Id="DevExpress.XtraTreeList.v19.2" Name="DevExpress.XtraTreeList.v19.2.dll" Source="D:\ProgramFiles\DevExpress 19.2\Components\Bin\Framework\DevExpress.XtraTreeList.v19.2.dll"/>
      </Component>

      <Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8">
        <RegistryKey Root="HKLM" Key="Software">
          <RegistryKey Key="[Manufacturer]">
            <RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
              <RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
            </RegistryKey>
          </RegistryKey>
        </RegistryKey>

        <util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="APPLICATIONFOLDER" />
      </Component>
    </DirectoryRef>

    <Feature Id="MainApplication" Title="Main Application" Level="1">
      <ComponentRef Id="MainApplicationExe" />
      <ComponentRef Id="RegistryKeys" />
      <ComponentRef Id="ReleaseNotes" />
      <ComponentRef Id="WindreamLibs" />
      <ComponentRef Id="FormsUtilsLibs"/>
      <ComponentRef Id="DDLibs" />
      <ComponentRef Id="Oracle" />
      <ComponentRef Id="PDFsharp" />
      <ComponentRef Id="IndependentsoftLibs" />
      <ComponentRef Id="DevExpressLibs" />
      <ComponentRef Id="GDPictureLibs" />
    </Feature>
    
    <Feature Id="DesktopShortcut" Title="Desktop Shortcut">
      <Condition Level="0">DISABLE_DESKTOP_ICON</Condition>
      <ComponentRef Id="ApplicationShortcut_Desktop"/>
    </Feature>
    
    <Feature Id="StartmenuShortcut" Title="Startmenu Shortcut">
      <Condition Level="0">DISABLE_STARTMENU_ICON</Condition>
      <ComponentRef Id="ApplicationShortcut_StartMenu" />
    </Feature>

    <!-- Legt das Standard-Installationsverzeichnis fest-->
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
    <Property Id="_BrowseProperty" Value="INSTALLDIR" />

    <UI>
      <!--<UIRef Id="WixUI_InstallDir" />-->
      <UIRef Id="WixUI_FeatureTree"/>
      <UIRef Id="WixUI_ErrorProgressText" />
      <Publish Dialog="WelcomeDlg"
            Control="Next"
            Event="NewDialog"
            Value="InstallDirDlg"
            Order="2">1</Publish>
      <Publish Dialog="InstallDirDlg"
            Control="Back"
            Event="NewDialog"
            Value="WelcomeDlg"
            Order="2">1</Publish>
      <Publish Dialog="InstallDirDlg"
            Control="Next"
            Event="NewDialog"
            Value="FeaturesDlg"
            Order="2">1</Publish>
      <Publish Dialog="InstallDirDlg"
            Control="ChangeFolder"
            Event="NewDialog"
            Value="BrowseDlg"
            Order="2">1</Publish>
    <Publish Dialog="FeaturesDlg"
            Control="Back"
            Event="NewDialog"
            Value="InstallDirDlg"
            Order="2">1</Publish>
    </UI>
  </Product>
</Wix>