I’m building some software for OS X that isn’t distributed through the Mac App Store. My software allows users to download different modules uploaded by various people too.
How can I create a software patcher to patch my software, as well as update modules that users might be uploading when necessary? I’ve looked a bit into diff and patch, which come with OS X but they seem to be largely for plaintext.
Any ideas? I’ve been googling but I’m a bit stumped which is surprising since software patching seems to be in most applications.
2
The bsdiff utility should come with OSX. If that can’t work for you, there are other binary diff tools.
However, with the advent of high bandwidth connections, the practice of distributing binary patches is becoming much less common. You can just as easily distribute a complete updated version of your program if need be..
FURTHER: A [good] module system should not require you to patch your program whenever someone wants to download and install another user’s module. I suggest a system where this is not the case. For example, have your program scan a plugins directory and load any valid plugin files found.
4