GithubHelp home page GithubHelp logo

igor-ruivo / generic-auto-updater Goto Github PK

View Code? Open in Web Editor NEW
122.0 13.0 15.0 340 KB

Generic Auto-Updater: a robust, user-friendly, clean and efficient Auto-Updater to maintain any client patched.

Home Page: https://github.com/igor-ruivo/generic-auto-updater

License: MIT License

C# 100.00%
autoupdater autopatcher updater patcher client generic auto-updater auto-patcher template

generic-auto-updater's Introduction

Generic Auto-Updater Main Window

Generic Auto-Updater

A robust, user-friendly, clean and efficient Auto-Updater for any client.

The Idea

After finishing a stable beta version of the "Auto-Updater" to be used by a specific company, I decided to duplicate the repository and making a few tweaks in the copy to turn it public (and generic) in order for it to be used by anyone. And thus, the first version of the "Generic Auto-Updater" was born! - A robust, user-friendly, clean and efficient Auto-Updater for anyone who wishes to maintain their client's users always updated based on some server directory.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Git;
Visual Studio 2019 (administrator priviledges) with Windows Forms App (.NET Framework);
.NET Framework 4.7.2.

Installing

  1. Clone this repository
git clone https://github.com/igor-ruivo/generic-auto-updater.git

... or fork it / use it as a template.

  1. Read the documentation!

For instance, keep in mind that the engine is expecting a server metadata file with a specific structure, like so:

http://your-directory-with-files/
filename1
hash1
filename2
hash2
filenameN
hashN

Meaning that the first line should be the actual URL to the server directory containing the files, and for the following lines, every even line number contains a relative path from the URL at line 1 to a file and every odd line number contains the respective file's hash. You can change this implementation adapting it to your own server metadata, or do the opposite.

  1. Configure the Auto-Updater at your will
Edit any strings, configurations and the icon in ./GenericAutoUpdater/Resources/**/*
Edit the logo-image that is embedded in .GenericAutoUpdater/UI/Screens/PatcherMainWindow.resx
  1. Build it with Visual Studio
Ctrl+Shift+B
  1. Run the debugger or execute the executable file
./GenericAutoUpdater/bin/Debug/Generic Auto-Updater.exe

The Auto-Updater will start.

Running the tests

Built With

Contributing

You can contribute by submitting a pull-request.

Versioning

For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

generic-auto-updater's People

Contributors

igor-ruivo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

generic-auto-updater's Issues

Auto Install .NET Framework

Is your feature request related to a problem? Please describe.
Is not an problem on Windows 10 but when the users are using Windows xp and 7 the .NET Framework 4.7.2. is not installed by default.

Describe the solution you'd like
Auto Install of .NET Framework 4.7.2

Describe alternatives you've considered
Idk, at this moment I have no other idea.

Additional context
It is not necessary

Int32 value issue

Hi !
I try to use your updater which looks great.
I try it with a Unity build.

I did modifications as explain in your Installing process, I made metadata text file with url, name and hash. I put my build folder and text file on a Google Drive.
But when I run program, I have an unkown error "Value was too big or too small for Int32" during Step 1, few seconds after running.

Do you have any idea where could be the issue ?

Thanks for your work !

Unable to find Webserver

Also getting hung up with an unable to find webserver issue even though the .txt file is accessible via web-browser.

dotnet core port

I had tried to submit an issue asking this but it dissolved into to the ether, if they both hit you sorry.

I recently did a port to dotnet core here, https://github.com/fireball87/generic-auto-updater . My methodology was to move all of the standard logic into a .net standard library, and share that between a net47 and netcore app, so you can edit the resource files in the library and then build either version. I was just curious if this was anything you were interested in so I should clean up ask questions and attempt a pull request, or if it's something I should just maintain for myself. My next task will probably be creating a non winforms ui port (probably using a console library for the time being) that can be used on non windows systems.

Malicious file

Sadly this cannot really be used because Windows defender and many other anti virus programs see this as malware and will remove / block it. :(

You can build the solution and upload it to VirusTotal to see how many anti virus programs see this as malicious.
I use Eset Nod32 and it did not have a problem with the file, but once i started to send it to others the program was blocked everywhere even Google blocked it on my Drive.

Download error

I'm getting a network error.
Couldn't connect to the Auto-Updater server. Please check if the website is online or check your internet connection.
image

However, it does download, but only one file at a time.

my metadata location is this:
https://neo-tool.net/update-metadata.txt

Hash generator

Hi

Sorry this might be a very dumb question, but i've never played around with Md5 or hashes whatever its called.
What can i use to generator that txt file with the files names and hashes so that it looks like your example?

like:
filename1
hash
filename2
hash

and also files that are in directories
like:
/folder/filename1
hash

thanks for the awesome updater and any help will be much appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.