WinterLeaf Presents.... The AutoPatcher
by Luis Rodrigues · 02/27/2013 (1:19 pm) · 30 comments
So what is this AutoPatcher thinguy anyways?
Glad you asked.
This was initially presented here by Richard Preziosi, but has since been revamped and rebranded.
You can go there and read on a few of the more technical aspects of the process if you want. It's still pretty much accurate in that respect.
Go on, i'll wait...
Back? Good, let's continue then.
The AutoPatcher is a bundle pack with the patch maker app (AutoPatcher) and our own WLE updater library (AutoUpdater), that you can use to keep your customers up to date on the latest and greatest release of your software, be that a bug fix or an upgrade.
Here's how it works
First you use the AutoPatcher to create your update project. You feed information into two basic forms about your studio and the app your about to release, press a button and you get a log generated for you.You than place that log and the apps files online somewhere.
Next it's time for the AutoUpdater. The AutoUpdater is Net library, but don't worry, when you buy it you get a demo WPF app to give you a boost on this step. It's just about ready to use actually.
So you take that demo, XAML it into whatever look fits your app most, put some values in a couple of properties, add whatever else you want and what you get is na updater/launcher for your app.
If you ever played na MMO you know what i mean by that.
So now, finally, you just send your customers the launcher with the Updater Library and it takes care of getting your app from your online repository into your customers computer, ready to run.
Next time you want to update it, just generate a new log file, place the new log and new files online and the AutoUpdater takes care of things for you client side.
It's actually a lot simpler than it sounds. Trust me.Plus you'll get a step by step User Guide with it that probably goes way too deep on some aspects than it would probably be needed, so it's highly unlikly you'll ever have a problem with it.
We really tried to make the process fool proof.
Simplicity has an... interface
Just look at this cool and sleak interface if you don't believe me. That's the most complex form of the two you'll need to fill and as you can see, one of the fields automaticaly takes the value from the other form and most of the form's space is taken by the Update Notes area, which, by the way, is actually optional.
There's no words to explain how simple we made this for you.
The user guide itself will go with you field by field on every form, and lists one by one every event, method and property on the library. Plus goes with you step by step in taking the demo laucher and making it work for your app. That's how simple we made it for you.
Sure, creating the launcher itself takes a bit more effort, but most of the job regarding the update process is done for you in the demo we will be providing, and most of the remaining work is actually you changing the interface of the launcher in XAML to customize it to the look you want - so actually it's as much work as you want it to be.
So when is it coming out?
Really soon. In fact, right next month.We're aiming at releasing this and OneWorld at right about the same time. So keep an eye out for both this products and more coming your way from our studio.
Hope you enjoyed knowing a bit more about this product and get as psyched as i am about it.
Leave any questions and comments below and i'll answer as i can.
About the author
Started Programming age 12 on 48kb ZX Spectrum than moved to Turbo Pascal, Turbo C++, Delphi, Java, etc. Currently Working as a programmer of in-house tools 4 a technical translations company, and working with WinterLeaf Entertainment on off days
#22
On your scenario, that zip is never present locally - always gets downloaded
Then again, if you keep the zip... but then you got that zip there and i guess having put into the molebox'd exe looses purpose
02/28/2013 (5:49 pm)
As for the molebox - the issue with that scenario is that the updater decides which files to download based on hash - so if there's no file locally (hash of empty file) or the hash is different from the one online than will be downloaded.On your scenario, that zip is never present locally - always gets downloaded
Then again, if you keep the zip... but then you got that zip there and i guess having put into the molebox'd exe looses purpose
#23
02/28/2013 (5:55 pm)
With the zip idea, the file with the changes required follows the same directory structure as used locally within the virtual exe structure (even replacing a file, running a command after extraction - ie delete a file) would be possible. Maybe using a scripted installation procedure. Keen to test out your patcher though, will there be a trial demo?
#24
As for the trial demo... It's something we're considering - but not yet seeing how to go about it. We can't do much without giving it away. I might be able to churn out an AutoPatcher that doesn't save or generate log files - which would make it useless really - but keeping those would be givint it away. As for the AutoUpdater, we are planning on starting to use it to release our software - so buyers would see that at work.
It's definitly in our todo list though - as soon as we come up with something. It might go through some form of DRM - Like use it for x days - it's all things we're thinking about
02/28/2013 (6:06 pm)
Yeah - the zip idea could be done - but not with the way the AutoUpdater is wired right now. Good idea though. And would still require to always download the all ZIP just to check the files inside.As for the trial demo... It's something we're considering - but not yet seeing how to go about it. We can't do much without giving it away. I might be able to churn out an AutoPatcher that doesn't save or generate log files - which would make it useless really - but keeping those would be givint it away. As for the AutoUpdater, we are planning on starting to use it to release our software - so buyers would see that at work.
It's definitly in our todo list though - as soon as we come up with something. It might go through some form of DRM - Like use it for x days - it's all things we're thinking about
#25
02/28/2013 (6:17 pm)
@Luis - good plan, look forward to seeing more on this as it develops.
#27
Second, thank you for looking into file removal.
I am stoked to get this patcher. Hope it is as easy to use as it was to ask for things to have looked at to be put in it
:)
Tarly
03/18/2013 (2:28 pm)
First I wanted to thank you guys. Can't pick this up till next month, but I will get it.Second, thank you for looking into file removal.
I am stoked to get this patcher. Hope it is as easy to use as it was to ask for things to have looked at to be put in it
:)
Tarly
#28
We will soon be releasing a video showing how easy it is to create a project from scratch. The video only shows the first part of the process (AutoPatcher) - but the second part is as complex or simple as you want.
The second part (AutoUpdater) is where you build your custom launcher - so it could be a basic window or You can elaborate it into any look you want using XAML. The hard work is done if you use our demo as basis for your launcher - all you will need to do is set a few properties - after that you customize it's look as much as you want.
It's really that simple.
As for the requests, we are always open to our listen to our customers and potential customers needs. So any requests made will be looked at. Speaking on yours about the file deletion, it should be simple enough to do that, so expect that rolling out on release 1.1.
I just need to add na exception clause - so files like preferences and saves don't get deleted by accident since they will never be in the repository.
03/22/2013 (2:46 am)
Hi TarlyWe will soon be releasing a video showing how easy it is to create a project from scratch. The video only shows the first part of the process (AutoPatcher) - but the second part is as complex or simple as you want.
The second part (AutoUpdater) is where you build your custom launcher - so it could be a basic window or You can elaborate it into any look you want using XAML. The hard work is done if you use our demo as basis for your launcher - all you will need to do is set a few properties - after that you customize it's look as much as you want.
It's really that simple.
As for the requests, we are always open to our listen to our customers and potential customers needs. So any requests made will be looked at. Speaking on yours about the file deletion, it should be simple enough to do that, so expect that rolling out on release 1.1.
I just need to add na exception clause - so files like preferences and saves don't get deleted by accident since they will never be in the repository.
#29
I have been using AutoPatcher for some time now and need to ask a question--does this not handle TLS 1.2?
I upgraded everything in my web server stack in anticipation of PayPal's upcoming policy changes, and have this morning discovered to my horror that the patcher won't patch any longer.
I'm receiving a dialog which reads "The request was aborted: Could not create SSL/TLS secure channel", followed by a second dialog about not being able to find a file "C:\[path]\AppData\Local\Temp\tmp####.tmp" which I assume is the temporary socket established for the download.
This occurs whether I set up the patch manifest files with https or http as the specified protocols.
05/22/2017 (9:55 am)
Hi.I have been using AutoPatcher for some time now and need to ask a question--does this not handle TLS 1.2?
I upgraded everything in my web server stack in anticipation of PayPal's upcoming policy changes, and have this morning discovered to my horror that the patcher won't patch any longer.
I'm receiving a dialog which reads "The request was aborted: Could not create SSL/TLS secure channel", followed by a second dialog about not being able to find a file "C:\[path]\AppData\Local\Temp\tmp####.tmp" which I assume is the temporary socket established for the download.
This occurs whether I set up the patch manifest files with https or http as the specified protocols.
#30
05/22/2017 (10:36 am)
Found issue described in previous post, it turned out the cause was a directive placed in the host config to force https and the 301 returned by the server was causing the patcher to barf. 
Torque Owner Jules
Something2Play