Hello, I wanted to start a new post around this topic to kind of revive the attention on it. I am volunteering to develop and provide maintenance for the Skywind installer. However, I am looking for some collaboration with the "leads" of the project in order to develop this in a way that makes sense in the long run.
It seems so far the approach has been for someone to develop an installer and just kind of "make do" with how the files are currently hosted and fashion their own solution for downloading them for installation and updates. To me this will not work so well as things are still changing and the files might be packaged differently and the installer will then break.
To make an installer that is reliable over time and easy to maintain, there needs to be some structure and consistency around how the files are packaged and staged for distribution.
I would also like to get a clear picture of the current state of files that should be installed. The way I understand it is the following files are involved:
- Skywind - Patch.esp
- Skywind - Patch.bsa
- assets (static files in Data folder)
One solution that has crossed my mind is using something like Subversion to store basically the entire "Data" folder of Skywind content, and the installer can simply hook into this repository and use the native update command to only pull files that have changed.
Whenever you want to release something, you just update the master repository. When the installer launches, it checks the status of the repo to see if anything has changed, and gives you a button to SVN Update and pull down changes. This will give you file level patching and allow you to easily remove files that are no longer needed. Yes, it will have to download the one or two large files if they change, but I think for now that is worth it to have an easily maintainable installer.
Anyways, I'd like to get a usable installer uploaded on here pretty soon, but I need to know how the file distribution will work. Now I'll stop yapping and wait for some feedback. If you want more information about how using a Version Control tool could make all our lives easier, PM me.