Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Help with version.xml, apps.xml and .ini

Help
2008-03-24
2013-06-05
  • Hi.
    This program totally rox, and I'm planning to set it up so that I can use it after fresh installs from disc images...

    I'm trying to create my own apps.xml and version.xml, so that I can add some programs I allways install. But, I'm having some difficulties.

    I have tried to strip the files down to a minimum, fulfilling only the required. Still, I get this error message when --update, and afterwords --list is corrupted:
    "WARNING: Downloading file "E:\Program FilesAppupdater\apps.xml" failed."

    I have tried different approaches in appupdater.ini, but what is the correct way to enter the absolute path when it's on a disk?
    APPS_XML = "file://localhost/E:/Program%20Files/Appupdater/apps.xml"
    APPS_XML = "E:\Program Files\Appupdater\apps.xml"
    APPS_XML = "${PROGRAMFILES}\Appupdater\apps.xml"

    And, if I want to add a file on e.g. a SAN, would the absolute path be written in the same way as for appupdater.ini?

    Below is my apps.xml and versions.xml. Can you please have a look at them, and see if I've set it up correctly? The below are for Total Commander on the net, and not a local file installation, but the principle should be the same, right? I'm not quite sure if I can use AppUpdater with all kind of installations... :))

    Thanks for answers in advance!

    apps.xml:
    ------
    <?xml version="1.0" ?>
    <applications>
       <app id="1">
         <name>TotalCommander</name>
         <file>tcmd702a.exe</file>
       </app>
    </applications>
    ------

    versions.xml:
    ------
    <?xml version="1.0" ?>
    <versions>
        <entry id="1">
          <name>TotalCommander</name>              
          <filename name="tcmd702a.exe"></filename>
          <sha1sum>76678119a0ab98a8a02a349602b41427ec6cfde5</sha1sum>       
        <metalink version="3.0" generator="Metalink Editor version 1.1.0" xmlns="http://www.metalinker.org/">
      <publisher>
        <name>Ghisler</name>
        <url>http://www.ghisler.com/index.htm</url>
      </publisher>
      <identity>Total Commander</identity>
      <version>7.02a</version>
      <description>Windows Explorer replacement</description>
      <files>
        <file name="tcmd702a.exe">
          <os>Windows-x86</os>
          <verification>
            <hash type="md5">2a5015006ebefab23705eee685b3e9bf</hash>
          </verification>
          <resources>
            <url type="http">http://www.freewarearchiv.com/windows/organisation/tcmd702a.exe</url>
          </resources>
        </file>
      </files>
    </metalink>
    </entry>
    </versions>
    ------

     
    • nabber00
      nabber00
      2008-03-24

      If I remember right, local file paths should be expressed in the form:

      file:///E:/Program Files/Appupdater/apps.xml

      I believe this matches what Python expects when passed a file:// url as well.  Let me know if this doesn't work.  All URLs are of the same format, so something like this will work:

      appupdater --config "file:///E:/Program Files/Appupdater/appupdater.ini"

      Currently you can't map to a Windows file share directly, you need to map it to a drive letter first.

      Your apps.xml looks good.

      Your versions.xml:

      1. You MUST have the "value" tag defined within the "entry" tag.  Yes, this is redundant with the "version" tag, I'm working on it.  Actually I think you can remove the "version" and "identity" tag if are looking for something minimal.

      2. Put the "sha1sum" tag inside of the "filename" tag.

      3. As it stands it won't actually install anything, just download the file.  You need to include install commands to do that ("instructions" tag).

       
      • Awsome!
        Thanks for the fast reply, and a good one too:
        Downloading file:///E:/Program Files/Appupdater/apps.xml
        [#######################################################] 100% 0.00/0.00 MB

        :))

        Not sure if it downloaded the file though, but still, now I'm gonna have to figure out how to install it :)

        Thanks again, and keep up the good work!

         
    • I think I cheered too soon... :)
      This is the result after doing the changes you described;

      E:\Program Files\Appupdater>appupdater.exe --update
      Downloading new version information...
      Updating Application Information
      Checking for update of file:///E:/Program Files/Appupdater/apps.xml...
      Doing complete file download...
      Downloading file:///E:/Program Files/Appupdater/apps.xml
      [#######################################################] 100% 0.00/0.00 MB
      Updating version information.
      Scanning for installed applications.
      Scanning Registry...
      Searching directories for supported applications...
      [####################################################################] 100%

      E:\Program Files\Appupdater>appupdater.exe -l
      The following applications are installed:
      ===============================================================================

      As you can see, it messes up the database of installed applications. Only way I've managed to fix it again, is to reinstall Appupdater, and reboot computer. It seems to download apps.xml allright, but

      Do you have any idea what might cause this?
      ¨
      Ps; this is how it looked after clean install/reboot:

      E:\Program Files\Appupdater>appupdater.exe --update
      Downloading new version information...
      Updating Application Information
      Checking for update of http://www.nabber.org/projects/appupdater/data/apps.metalink...
      No update needed.
      Updating version information.
      versions.xml
      Checking for update of versions.xml...
      Doing complete file download...
      Downloading versions.xml
      [-------------------------------------------------------] 0% 0.00/0.00 MB
      WARNING: Downloading file versions.xml failed.
      http://appupdater.sourceforge.net/data/versions.xml
      Checking for update of http://appupdater.sourceforge.net/data/versions.xml...
      No update needed.
      Scanning for installed applications.
      Scanning Registry...
      Searching directories for supported applications...
      [####################################################################] 100%

      E:\Program Files\Appupdater>appupdater.exe -l
      The following applications are installed:
      ===============================================================================
      7-Zip                                             4.57
      Ad-Aware                                          1.06
      Appupdater                                        0.8.2
      etc...

       
    • nabber00
      nabber00
      2008-03-24

      I just noticed this too, you need a "versions" tag in your apps.xml.  Otherwise Appupdater won't even look at your versions.xml file!  So something like:

      <?xml version="1.0" ?>
      <applications>
      <versions>http://www.nabber.org/projects/appupdater/data/versions.xml</versions>
      <app id="1">
      <name>TotalCommander</name>
      <file>tcmd702a.exe</file>
      </app>
      </applications>

       
    • Should <versions> point to my local versions.xml ?
      Or should that be in <xml> ?
      If I point it to my local file, will it be able to detect the other, standard programs..?

      Sorry for the fuss, but I just can't make it work... :(

       
      • nabber00
        nabber00
        2008-03-25

        Either one should work for now.

        You can use multiple repositories, so in your case, the normal one, and your custom one.  You just need to make sure you have the URL for both apps.xml files in your config file.