XmlFile Updater Utility definition

Unofficial Content

The GXExtension Updater Utility uses a xml file (Catalog.xml as default value) to declare the list of dependencies and files to be copied to a GeneXus installation.

Syntax

<?xml version="1.0" encoding="utf-8"?>
<Projects>
    <Project Name="%PROJECT_NAME%" Location=".">
        <!--
        The Package assembly needs to be copied to the Packages
        folder below the base execution path.
        -->
        <File Name="%BASE_NAMESPACE%.dll" Target="Packages" />
        <!--
        Any other dependency (i.e.: other assemblies on which 
        this package depends) needs to be copied to the
        base execution path.
        -->
        <!-- 
        <File Name="Dependency1.dll" Target="." />
        <File Name="Dependency2.dll" Target="." />
        -->
    </Project>
</Projects>

where:

PROJECT_NAME: references the Visual Studio Project name.
BASE_NAMESPACE: references the Application Assembly name.

Sample

For a Pattern project you will need a .xml file similar to the following:

<Projects>
    <Project Name="MyPattern1" Location=".">
        <!-- MyPattern1 Pattern -->
        <Files Name="Instance.xml" Location="Definitions" Target="Packages\Patterns\MyPattern1" />
        <Files Name="Settings.xml" Location="Definitions" Target="Packages\Patterns\MyPattern1" />
        <Files Name="Pattern.Pattern" Location="Definitions" Target="Packages\Patterns\MyPattern1" />
        <Files Name="DefaultSettings.xml" Location="Definitions" Target="Packages\Patterns\MyPattern1\Resources" />
        <Files Name="Resources.xml" Location="Definitions" Target="Packages\Patterns\MyPattern1\Resources" />
        <Files Name="*.*" Location="Templates" Target="Packages\Patterns\MyPattern1\Templates" />
        <Files Name="*.*" Location="Icons" Target="Packages\Patterns\MyPattern1\Icons" />
  </Project>

    <!-- MyPattern1 Patterns helper assemblies -->
    <Project Name="MyPattern1Assemblies" Location=".">
        <File Name="Acme.Patterns.MyPattern1.dll" Target="Packages\Patterns\MyPattern1" />
    </Project>
</Projects>

The Daily Dilbert project could use the following catalog.xml file:

<?xml version="1.0" encoding="utf-8"?>
<Projects>
    <Project Name="DailyDilbert" Location=".">
        <File Name="DailyDilbert.dll" Target="Packages" />
        <File Name="DailyDilbert.pdb" Target="Packages" />
    </Project>
</Projects>