You might give Clickteams Patch Maker a try. There's a freeware version available, that might be sufficient for your beta testing phase.
Anyone got any suggestions for updater/patching utilities? I'm open to both an installer-style patch generator and an automatic updater built into the game, but it needs to be reasonably priced as my budget is getting quite low now.
I found PatchBreeze in the installer-style programs, and that seems like reasonably good value at $85. I also found TrueUpdate in the automatic updater style of programs and that seems a bit overpriced at $500. They also do VisualPatch at the same price which seems even worse value.
It's really only intended to be used through the alpha and beta stages of development, as I probably won't be selling it direct from my site when it's ready for release anyway. So I can't justify $500 to make beta testing a bit easier.
I typically use Java Webstart during alpha and beta phases. Of course, you need to have made your game in Java for that to work.
For after release, I wrote my own auto-updater. It's not too hard.
Thanks for the suggestions. PatchMaker seems a bit more basic than I had in mind, and the game isn't written in Java, so that's out. I'm sure I could roll my own but then I'd spend months beta testing that instead of beta testing my game (I want something which can dance around User Account Control in Vista, for just one example) so I don't think I'll do that.
So far I've come across a few cheaper options, but not *very* cheap.
At the cheap end of the spectrum, there's MyUpdate Toolkit, which costs $25 per important update. But after reading the documentation, I'm none the wiser as to what distinguishes an important update from a trivial one.
There's the Software Update Wizard at $250 per application. This seems to be Windows 2000+ only, so Windows 9X is out. Probably not a problem, but worth mentioning. It runs as a service so should be able to avoid any UAC problems and doesn't require an Admin account. The website is very slick-templatey which bothers me for some reason.
There is also KidMoses NetUpdate which costs $150 for unlimited applications. Again it claims to be Vista-friendly, but it doesn't appear to be able to install files which are in use by the system or anything like that, so you'd end up using your own installer in conjunction with it, which seems a bit messy.
AutoUpdate Plus seems to be pretty full-featured but it appears to lack the ability to automatically choose which files need to be updated, which is kind of a big one fo me. That costs $200 for one application.
My favourite so far is FlashUpdate which costs $180 for unlimited applications, and seems to be very user-friendly, comes with an array of "skins" to design how your updater should look, and automatically chooses which files to update, but makes no mention of being able to install from a non-admin account or circumventing all the UAC crap. I've got an email pending on this subject, but I'm not optimistic. Think they would have mentioned it if it was true.
So I've found a good number of options, but nothing that really wins me over completely. So if anyone knows of any other options, I'd love to hear about those too.
Not sure if it's exactly what you need but Google has recently released the source code for their own updater for Windows. And they already had released the Mac updater before that.
I'll take a look at it, thanks. I'm a bit concerned by the dependencies referenced in the article, but I'll reserve judgement until I've read more.
The problem with climbing up on your cross is that some jerk with a hammer and a bucket of nails is bound to walk by. Eventually.
I don't see anything in InstallJammer to suggest that it can do this.
FlashUpdate does indeed look pretty damn cool. Unfortunately, they haven't replied to my email in the past week, and the software itself hasn't been updated since 2007. So I think I can safely assume that it's not going to be able to do anything for UAC, and there's every likelihood they consider it a finished product. Given their rather slow response, I'm not overly keen on purchasing from them anyway.
The developer of NetUpdate got back to me to indicate that binary patching is not possible, but it would be possible to use a binary patching program with NetUpdate.
I recently came across a new contender though. It's called WyUpdate. ( http://wyday.com/wyupdate/ ) It doesn't run as a service but it does elevate a process prompting an admin password requester if you're not an admin, which is the next best thing. It also requires the .Net framework 2.0 be installed which is a bit of a downer.
I haven't actually had any free time to test any demos, but it looks like there isn't one perfect tool out there yet.
One thing to consider is whether it's even worth the time to create patches and spend even more ting testing it with all the previous versions people could have installed OR just releasing a new full version installer that people download and install over the old one.
If your game is less than 100 megs I think it's not worth it. I've seen game patches alone larger than that.
Perhaps spending a bit more time trying to compress and compact the full game installer would save you bandwidth for the full installer AND allow you to drop the updater altogether.
The only thing remaining is a notification of an available update, which is one HTTP request away either way.
The point of an auto-updater is to make life much more pleasant for the end-user, not to save myself bandwidth. Gamers are spoiled. They don't like finding, downloading and installing patches. They want it done for them, and I don't blame them.
And yes, my game is going to be well over 100MB, so I think it would be quite an inconvenience for the end user to be uninstalling, finding, downloading and installing a new version every time I make a few changes.
I don't know what you mean about "testing it with all the previous versions people could have installed" because an autoupdate system applies patches cumulatively. If the end-user has 1.01 installed and there have been 1.02 and 1.03 patches, then it should detect that 1.01 is installed and install both ( unless you specified that 1.03 is a non-cumulative patch in which case it should skip 1.02 and install 1.03 only. )
Found another one, ActivePatch:
I didn't dig that deeply into it, but figured I'd add it to the pot. This will be a nice reference thread for me later
There is going to be a lot of testing involved. Think affiliate builds, non-DRM builds for portals or retail, custom version for Steam perhaps...
Even building a patch that correctly updates all versions of all these variations in a single installer could get out of hand quickly.
If you can completely override file access in all of your code you could try using a versioning system like the Oddlabs guys did with Subversion.
To avoid all the UAC issues in Vista cant you just make the initial installer make the program's directory writable by everyone?
Just had a look at autoupdate 2.0 and from what I can tell whoever developed it is out of business now (from a quick search there are a ton of links to shareware finder sites and nothing to a company page).
Last edited by zoombapup; 04-27-2009 at 07:46 AM.
syb: I had a look at wyUpdate/wyBuild and it does indeed seem pretty reasonable. I'm not so happy about the .net 2 runtime requirements either, but maybe we're just being too retro?
I dont know about your game, but mine isnt really casual so maybe I'd be silly to limit myself to using software that doesnt use .net? I dunno, it'd be hard to see without some coverage figured for .net 2 installs vs non installs.
Either way, I cant see a solution that works AND is cheap enough. If you do find any more alternatives please post em! Also post any experience you get using wyUpdate when/if you get it.
I don't think it's possible to make a folder in Program Files writable with UAC enabled, is it? I know you can do it with the shared documents folder but I was under the impression that Program Files was out of bounds. To be fair though, I may not always be the one making the installer, so I can't guarantee that would be possible anyway.Originally Posted by BadSector
That's pretty much what I'm thinking too. My game isn't casual at all, so it'd probably be rather silly to use something which uses incremental patching and makes everyone's updates take five times as long just to benefit half a dozen people who refuse to install the .Net framework. Besides, I think you can detect the framework from the registry, so I could just check before calling the updater to make sure it's installed and if it's not, tell them to install it. The AutoUpdate feature is only there for the convenience of the user. If they'd rather download a honking great patch and manually install it, rather than install .Net then that's their choice.Originally Posted by zoombapup
I'll let you know what I think when I've had a play with WyUpdate.