Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
eclipse
GitHub Repository: eclipse/sumo
Path: blob/main/build_config/wix/sumo.wxs
169672 views
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
  <Product Name='SUMO' Id='*' UpgradeCode='A764BC4F-2B15-11E1-9E7E-028037EC0200'
    Language='1033' Codepage='1252' Version='{version}' Manufacturer='Eclipse'>

    <Package Id='*' Description="SUMO {version} Installer"
      Comments='Simulation of Urban Mobility' Manufacturer='[Manufacturer]'
      InstallerVersion='300' Compressed='yes' />

    <Media Id='1' Cabinet='sumo.cab' EmbedCab='yes' />

    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='Eclipse' Name='Eclipse'>
          <Directory Id='INSTALLDIR' Name='Sumo'>
            <Component Id='SumoHome' Guid='67D3110C-F900-461F-B836-177A7AE88BB9'>
              <Condition>MODIFYENV</Condition>
              <CreateFolder/>
              <Environment Id="SUMO_HOME" Name="SUMO_HOME" Value="[INSTALLDIR]" Permanent="no" Part="all" Action="set" System="yes" />
            </Component>
            <Directory Id='BINDIR' Name='bin'>
              <Component Id='MainExecutables' Guid='BD1FC8EE-2B15-11E1-BA48-028037EC0200'>
                <File Id='sumoGuiEXE' Name='sumo-gui.exe' Source='{bindir}\sumo-gui.exe' KeyPath='yes'>
                  <Shortcut Id="startmenuSumoGui" Directory="ProgramMenuDir" Name="sumo-gui" WorkingDirectory='INSTALLDIR' Icon="sumogui.exe" IconIndex="0" Advertise="yes" />
                </File>
    <!-- Section copied from http://stackoverflow.com/questions/2772452/how-to-associate-application-with-existing-file-types-using-wix-installer -->
    <!-- Capabilities keys for Vista/7 "Set Program Access and Defaults" -->
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities" Name="ApplicationDescription" Value="Simulation of Urban Mobility" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities" Name="ApplicationIcon" Value="[APPLICATIONFOLDER]sumo-gui.exe,0" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities" Name="ApplicationName" Value="SUMO" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities\DefaultIcon" Value="[APPLICATIONFOLDER]sumo-gui.exe,1" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities\FileAssociations" Name=".sumocfg" Value="Sumo.Document" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities\MIMEAssociations" Name="application/sumo" Value="Sumo.Document" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\Capabilities\shell\Open\command" Value="&quot;[APPLICATIONFOLDER]sumo-gui.exe&quot; -c &quot;%1&quot;" Type="string" />
    <RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]\RegisteredApplications" Name="Sumo" Value="Software\[Manufacturer]\[ProductName]\Capabilities" Type="string" />

    <!-- App Paths to support Start,Run -> "Sumo" -->
    <RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\sumo-gui.exe" Value="sumo-gui.exe" Type="string" />
    <RegistryValue Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\sumo-gui.exe" Name="Path" Value="[APPLICATIONFOLDER]" Type="string" />

    <!-- Extend to the "open with" list + Win7 jump menu pinning  -->
    <RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Applications\sumo-gui.exe\SupportedTypes" Name=".sumocfg" Value="" Type="string" />
    <RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Applications\sumo-gui.exe\shell\open" Name="Simulation of Urban Mobility" Value="SUMO" Type="string" />

    <!-- Sumo.Document ProgID -->
    <RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Sumo.Document" Name="SumoCfg" Value="SUMO Configuration File" Type="string" />
    <ProgId Id="Sumo.Document" Description="SUMO Configuration File" Icon="sumogui.exe" Advertise="yes">
        <Extension Id="SumoCfg">
            <Verb Id="open" Command="Open Sumo" Argument="-c &quot;%1&quot;" />
            <MIME Advertise="yes" ContentType="application/sumo" Default="yes" />
        </Extension>
    </ProgId>
    <!-- End of copy -->
              </Component>
              <Component Id='NetEditExecutable' Guid='210F26F3-6040-4A1F-8513-4C75AB016B8B'>
                <File Id='neteditEXE' Name='netedit.exe' Source='{bindir}\netedit.exe' KeyPath='yes'>
                  <Shortcut Id="startmenuNetEdit" Directory="ProgramMenuDir" Name="netedit" WorkingDirectory='INSTALLDIR' Icon="netedit.exe" IconIndex="0" Advertise="yes" />
                </File>
              </Component>

              <Component Id='EnvironmentBatch' Guid='0F045CF0-2B14-11E1-9943-028037EC0200'>
                <File Id='EnvBat' Name='start-command-line.bat' Source='{bindir}\start-command-line.bat' KeyPath='yes'>
                  <Shortcut Id="startmenuBat" Directory="ProgramMenuDir" Name="sumo (Command Line)" Advertise="yes" />
                </File>
              </Component>
            </Directory>

            <Directory Id='DOCDIR' Name='doc' />
            <Directory Id='TOOLDIR' Name='tools'>
              <Component Id='OSMWebWizard' Guid='020B4F21-0E79-41C8-A745-28CA9B426126'>
                <File Id='WebWizPy' Name='osmWebWizard.py' Source='{bindir}\..\tools\osmWebWizard.py' KeyPath='yes'>
                  <Shortcut Id="startWebWizPy" Directory="ProgramMenuDir" Name="OSM Web Wizard" Icon="webwiz.exe" IconIndex="0" Advertise="yes" />
                </File>
              </Component>
            </Directory>

            <Component Id='Path' Guid='17359CBF-8C61-4C3D-B5A7-4407AFF096AA'>
              <Condition>MODIFYENV</Condition>
              <CreateFolder/>
              <Environment Id="PATH" Name="PATH" Value="[BINDIR];[TOOLDIR]" Permanent="no" Part="last" Action="set" System="yes" />
            </Component>
            <Component Id='PythonPath' Guid='3C6E4C8E-C4D3-483D-93C0-546A04D360F0'>
              <Condition>MODIFYENV</Condition>
              <CreateFolder/>
              <Environment Id="PYTHONPATH" Name="PYTHONPATH" Value="[TOOLDIR]" Permanent="no" Part="last" Action="set" System="yes" />
            </Component>
          </Directory>
        </Directory>
      </Directory>

      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ProgramMenuDir" Name="SUMO">
          <Component Id="ProgramMenuDir" Guid="5FDD1EE1-2B15-11E1-8E13-028037EC0200">
            <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
            <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Value='' KeyPath='yes' />
          </Component>
        </Directory>
      </Directory>
    </Directory>

    <Feature Id='Complete' Title='SUMO' Description='The complete package.'
      Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
      <Feature Id='MainProgram' Title='Program' Description='The main executables.' Level='1'>
        <ComponentGroupRef Id='bin' />
        <ComponentRef Id='MainExecutables' />
        <ComponentRef Id='NetEditExecutable' />
        <ComponentRef Id='EnvironmentBatch' />
        <ComponentRef Id='OSMWebWizard' />
        <ComponentRef Id='ProgramMenuDir' />
      </Feature>

      <Feature Id='Documentation' Title='Documentation' Description='The instruction and programming manuals.' Level='1'>
        <ComponentGroupRef Id='userdoc' />
        <ComponentGroupRef Id='pydoc' />
        <ComponentGroupRef Id='tutorial' />
        <ComponentGroupRef Id='examples' />
      </Feature>

      <Feature Id='Tools' Title='Tools' Description='Additional Python tools.' Level='1'>
        <ComponentGroupRef Id='tools' />
        <ComponentRef Id='SumoHome' />
        <ComponentRef Id='Path' />
        <ComponentRef Id='PythonPath' />
      </Feature>

      <Feature Id='Data' Title='Data' Description='Additional data like XML schemata and edge type maps.' Level='1'>
        <ComponentGroupRef Id='data' />
      </Feature>

      <Feature Id='Share' Title='Share' Description='External data like Proj data.' Level='1'>
        <ComponentGroupRef Id='share' />
      </Feature>

      <Feature Id='Includes' Title='Includes' Description='Include files for libsumo.' Level='1'>
        <ComponentGroupRef Id='include' />
      </Feature>
    </Feature>

    <WixVariable Id="WixUILicenseRtf" Value="{license}" />
    <WixVariable Id="WixUIBannerBmp" Value="{banner}" />
    <WixVariable Id="WixUIDialogBmp" Value="{dialogbg}" />

    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
    <Property Id="MODIFYENV" Value="1" />
    <UIRef Id="SUMOWixUI_InstallDir" />

    <Icon Id="sumogui.exe" SourceFile="{bindir}\sumo-gui.exe" />
    <Icon Id="netedit.exe" SourceFile="{bindir}\netedit.exe" />
    <Icon Id="webwiz.exe" SourceFile="{webwizico}" />
    <Property Id="ARPPRODUCTICON" Value="sumogui.exe" />

    <!-- Handle upgrades (cf. https://wixtoolset.org/documentation/manual/v3/howtos/updates/major_upgrade.html) -->
    <MajorUpgrade AllowDowngrades="no" AllowSameVersionUpgrades="no" Schedule="afterInstallValidate" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." />
  </Product>
</Wix>