The OpenSceneryX Incremental Installer

A quick exposé on how the installer works:

  1. The installer firstly checks whether it needs to update itself and will tell the user to download a new version if one is available.
  2. Next it scans the user’s existing local OpenSceneryX folder (if one exists), gathering information about every file it finds and creating a CRC checksum for each.
  3. It then downloads a manifest from the OpenSceneryX website.  This is an XML file that contains an entry for every file that exists on the server, together with its file size and a CRC checksum.
  4. Next, each entry in the manifest is compared to the information from the local file system and a list of new, changed and deleted files is generated.
  5. The installer then deletes all the local files that it no longer needs and downloads all the files that are new or that have changed.  It uses a standard HTTP (web) connection on port 80 to avoid firewall issues and every file that it downloads is individually compressed to reduce bandwidth and download time.

The basic principle will stay the same, but the installer is currently being revamped to be more user-friendly and will present a standard step-by-step install process, describing what it is doing at each step. Not sure when this will be out, but “soon” is probably quite a good estimate.

4 thoughts on “The OpenSceneryX Incremental Installer

  1. It’s slow. I’m installing OpensceneryX for the first time, and it’s going to take most of the day at the current rate.

    My connection is fast enough, the files download near instantly, but opening a new HTTP connection for _every_ file in ~2800 adds massive overhead.

    So far I have 2000 left, so I’m somewhat short of 1/3rd. However already my folder is up to 280mb, so the total download will be something like 1gb. The old zip file was much smaller. This won’t save bandwidth, it’ll increase it threefold and increase server load.

    It might be better if you offer a zip for first time installs, and the installer for updates – not a complete install. This solution isn’t ideal for either you or the users.

    • The zip install is currently disabled because there is a problem that means it can’t be extracted on some machines. I’ll make it available as soon as possible once I’ve tracked down the problem.

      The library is big, which is part of the reason for its success. A smaller library would obviously be quicker to download but less useful. It’s a continual trade-off, which is why I encourage contributors to optimise their work as much as possible before submitting it.

      As for the total size, it’s more like 500Mb at the moment. You may find that some of the larger files have come down first. There are ways to avoid individually downloading each file, which would mean packaging up the changes from version to version as a single zip and then downloading each of those. This would mean some fundamental work on how the library is built and packaged and how the installer works, I’ll consider this for the future.

  2. I’m having exactly the same problem…my connection is very fast, the installer didn’t even reach half of the files and almost one hour has passed.

    Any luck with the zip install file yet?

    • Sorry about the download being slow. Please be patient and leave it overnight or fly X-Plane while you’re downloading 🙂 I’ll be resurrecting the zip version when the next release of the library comes out.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.