Jump to content

  • Log In with Google      Sign In   
  • Create Account


Auto Patcher


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 simpler   Members   -  Reputation: 912

Posted 12 August 2012 - 12:14 PM

Hi GameDev!

I just finished the first version of my new program Auto Patcher and thought I should start a topic here to get some response.

Auto Patcher is a small program made for other developers that makes sure that the people using your applications allways have the latest version. It works by uploading files to a FTP server and then comparing the users version against the one on the server to find out if there is an update ready. If there is one, it will download it and replace the old version and then start the application when ready.

I thought this was something pretty useful for myself since I now can assume that the (few) people testing my programs allways have the latest version. They never have to visit my homepage to download the latest one, Auto Patcher will do it for them. I think I will use Auto Patcher with all my programs and the nice thing is that it's totally generic, it can be used with anything. So feel free to try it out yourself!

The only thing you need is a FTP server and then you're ready to roll.

It is written in C++ with the Win32 API so the only supported platform is Windows.

Here's some pictures:

Posted Image
Credentials dialog

Posted Image
Patcher dialog

Posted Image
The client app

I've written a small tutorial on my homepage explaining how to use it. If something is unclear or doesn't make sense let me know.
You can download Auto Patcher from the top of my projects list.
The source code can be found on github.

Thanks for reading! Posted Image

Edited by simpler, 12 August 2012 - 12:53 PM.


Sponsor:

#2 simpler   Members   -  Reputation: 912

Posted 02 September 2012 - 01:29 PM

Here's the changelog for version 1.1

v1.1
- Added a password dialog when launching the uploader
- Added multithreading when uploading and downloading files
- Fixed the window icon not being visible
- Fixed a bug where both programs got the "Not responding" status when managing large files
- The data.sef and patch_notes.txt files should now allways get uploaded
- Centered the patch notes window


You can download the latest version from the top of my projects page.

#3 simpler   Members   -  Reputation: 912

Posted 03 September 2012 - 05:30 PM

v1.2
- The user now can choose if he wants to update or not
- Fixed proper handling of connection errors
- Added a "Auto run" checkbox that specifies whether the executable should start instantly or not when there's no new updates
- Fixed passwords with certain special characters not getting decrypted properly


Download the latest version from here.

Edited by simpler, 03 September 2012 - 05:31 PM.


#4 simpler   Members   -  Reputation: 912

Posted 09 September 2012 - 04:29 PM

1.3
- Fixed bug when starting the specified program
- Made AutoPatcher.exe run minimized if there's no new version and no connection errors
- Improved the speed and reaction time of both programs


Download it from the top of my projects list.

Edited by simpler, 09 September 2012 - 04:29 PM.


#5 Justei   Members   -  Reputation: 109

Posted 11 September 2012 - 09:21 AM

A tip is to never give the client side any access to any ftp credentials, doesn't matter if the info is encrypted or not, because you can still always get the password and username from the memory once it's decrypted for the application itself to use :)...

#6 simpler   Members   -  Reputation: 912

Posted 11 September 2012 - 11:19 AM

Yeah I know reverse engineering is a possibility but I don't see any other way to accomplish what Auto Patcher does without letting the client have the FTP credentials. If you got an idea on how to make it safer, please let me know.

#7 LancerSolurus   Members   -  Reputation: 483

Posted 11 September 2012 - 04:07 PM

I've written several of these type of programs, excellent choice for updating programs. May I suggest you do it through HTTP instead. No login, no password needed and the files can be hosted on just about any server out there. Plus users can't change the files on the host, only download them.
Also, do you use compression for the files that are stored on the server?

******************************************************************************************
Youtube Channel


#8 simpler   Members   -  Reputation: 912

Posted 11 September 2012 - 05:27 PM

I've written several of these type of programs, excellent choice for updating programs. May I suggest you do it through HTTP instead. No login, no password needed and the files can be hosted on just about any server out there. Plus users can't change the files on the host, only download them.
Also, do you use compression for the files that are stored on the server?


Yes the files are uploaded in a .zip archive. I will definitly have to check out how to do it through HTTP instead. Am I in the right direction if I consider using libcurl?

#9 simpler   Members   -  Reputation: 912

Posted 21 October 2012 - 05:13 PM

1.4
- Fixed bug with the progress bar not moving
- Added a text label showing the data received


Download it from the top of my projects list.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS