Jump to content

Refined.NET 0.0.1


Python Panda

Recommended Posts

Refined.NET is an application (or game) auto updater. It is simple to use and very easy to understand. It parses xml from a url you provide and it will check to see if a new version is out. Updates can be required or not required. Such as a small update to fix text or required which adds new features. If there is an update available it will close the current application and run the Refined.NETUpdater which will download a zip file which will contain your update.

Source Code - https://github.com/TheDocter/Revise.NET

Features

[*]Multiple file downloads

[*]XML Parsed via XMLDocument.Load() method

[*]Xml file parsed then saved locally to compare in case of issues

[*]Tracking of what files have already been downloaded from past updates

[*]Ability to extract zip files if you want a single download

[*]Updater Customization (will be one of the last things I will be adding.)

If you have any suggestions please post them here and let me know and I'll see about adding it in.

Link to comment
Share on other sites

Documentation

How to add to a project?

[*]Download project file, source is the only thing available right now, and open with Visual Studio 2015.

[*]Compile Revise.NET and Revise.NetUpdater

[*]Move both dll and exe file into your project file.

[*]Add reference to the dll in your peoject.

[*]In your project, I use form load, add in the code, found at the bottom of the spoiler, to the form load event.

[*]Insert the correct url for the update url

[*]Read the single and multi-file download xml formats to know how to make the xml file

[*]Upload xml file and updated files to the server to be downloaded

[*]Make sure the Revise.NetUpdater.exe is in the same folder as your application exe. Run application if there is an update, program will close and launch the updater.

[*]Make sure to update all urls in the xml to the correct one or nothing will work.

(Add this to your using statements)

using Revise.NET;

(Add this to the Form Load event)

CheckUpdate.updateUrl = "http://updateurl.com/update.xml";

CheckUpdate.CheckUpdates();

XML Format

<?xml version="1.0" encoding="UTF-8"?>
<updater>
  
  <update>
    <newVersion>1.0.0.2</newVersion> <!-- New Version numer. Must be higher than old version to update -->
    <oldVersion>1.0.0.1</oldVersion> <!-- Old version you are replaceing -->
    <isRequired>True</isRequired>    <!-- True if update is required, false if it is not required -->
    <isMultiFile>False</isMultiFile> <!-- Set to True if you will be updating with multi files instead of one zip -->
  </update>

  <updateinfo>
    <updateReadme>http://updateurl.com/updates/update.html</updateReadme>  <!-- Html file used to show update info. -->
  </updateinfo>

  <updateFiles>
    <updateFile>http://updateurl.com/updates/test.pdf</updateFile>  <!-- Zip file containing updates -->
  </updateFiles>

</updater>

<?xml version="1.0" encoding="utf-8"?>
<updater>

  <update>
    <newVersion>1.0.0.2</newVersion>    <!-- New Version numer. Must be higher than old version to update -->
    <oldVersion>1.0.0.1</oldVersion>    <!-- Old version you are replaceing -->
    <isRequired>True</isRequired>       <!-- True if update is required, false if it is not required -->
    <isMultiFile>True</isMultiFile>    <!-- Set to True if you will be updating with multi files, set to false for one zip file -->
  </update>

  <updateinfo>
    <updateReadme>http://updateurl.com/updates/update.html</updateReadme> <!-- Html file used to show update info. -->
  </updateinfo>

  <updateFiles>
    <file1>http://updateurl.com/updates/test1.zip</file1>  <!-- First file to download. -->
    <file2>http://updateurl.com/updates/test2.zip</file2>  <!-- Second File to download. -->
  </updateFiles>

</updater>

HTML Info File

The following is just a sample of what the html file can look like. You can customize it easily with CSS.


<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    We pushed a new update to fix a few bugs. You can see a full list of updates <a href ="test.com">here</a>.
</body>
</html>

How to Customize

As of right now you will have to go into the code to customize anything. I will be adding in the ability to customize it via a config file in later versions.

Link to comment
Share on other sites

wtf happened here, you finished something? :P

jk mate, looks very nice :)

Almost just have to add in the ability to download files and have the progress bar go towards how many files or how much is left to download. Then I'll be integrating it into orion+ so people can update the games easily. Then maybe bribe JC to make it the official Intersect updater lol / hope and dreams!

Link to comment
Share on other sites

  • 4 weeks later...

Added in download logic today. I'm a little behind on getting things finished due to work and school. Though with the download logic there, all i really have left to do is adding in md5 checksum checks, and unzipping if zips are found.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...