I made a Nightly Updater Program

Stellar ~ RetroArch Nightly Updater

Download http://stellarupdater.github.io Check for new versions as this is in development.

Please update only once per day to conserve Libretro server bandwidth. Please install 7-zip to unzip the file. The program also uses it to unzip the Nightly 7z… Also supports WinRAR.


How it works:

[ul] [li]It analyzes http://buildbot.libretro.com/nightly/windows/ [/li][li]Gets the latest 7z file [/li][li]Extracts and overwrites exe’s to your RetroArch folder [/li][li]Updates latest cores [/li][/ul]

How to use:

[ul] [li]All you need is the exe. It’s portable, no install. [/li][li]Select your RetroArch folder, click Update. [/li][li]It will download the latest Nightly 7z and extract only retroarch.exe and retroarch_debug.exe to your folder. [/li][li]The Check button will preview the file URL before downloading. [/li][li]It should not overwrite your configs, but keep a backup before updating. [/li][li]If RetroArch is installed in Program Files folder, you may need to Run As Administrator. [/li][/ul]

Menu Options

  • New Install - Installs RetroArch, Redistributables, & Cores. Replaces Configs with default.
  • Upgrade - Upgrades RetroArch to the latest version, including Redistributables and Configs.
  • RetroArch - Updates RetroArch to the latest version, excluding Redistributables and Configs.
  • RA + Cores - Updates RetoArch and currently installed Cores.
  • Cores - Updates currently installed Cores.
  • New Cores - Installs Cores that are newly releseased or missing from your current install.
  • Redist - Installs Redistributables. Helpful if RetroArch won’t start after update.

New Install To install RetroArch and Cores for first time use (Large download): [ol] [li]Create a RetroArch folder on your computer [/li][li]Select the folder [/li][li]Select New Install from the dropdown… [/li][/ol] Don’t use this option to Update or if you already have it installed. Please conserve Libretro bandwidth. If you don’t need Nightly alpha builds, consider using the Stable version before installing.

Cores Update:

  1. Select your RetroArch folder
  2. Select Cores from the Download menu
  3. Click the Check button to preview download (optional)
  4. Click Update
  • It will check if Server Core Dates are more recent than PC Core Dates.
  • Downloads only Cores you currently have, won’t add more.
  • Temp zip files are stored in %appdata% and deleted when complete.

To Exclude Core from Updates Download List

  1. Click the Check Button → Uncheck the Cores you don’t want to update → Close Out → Click Update
  2. It won’t save the checkbox states (for now), you will need to exclude again each time you update.
  3. Keep a backup of your important cores in case of accidentally overwriting

Requirements:

[ul] [li]7-Zip or WinRAR to extract 7z [/li][li]Older Windows may need .NET Framework 4.5 installed. [/li][li]Old versions of Windows 7 may need to be updated to SP1 [/li][li]Run as Administrator if accessing Program Files path (should be default). [/li][/ul]

Notes:

[ul] [li]Only a few updated cores are released on the Server each day, not all. [/li][li]Server Time might be ahead of your PC Time, making some cores appear newer. [/li][li]Buildbot Displayed Modified Times are not the same as the Parsable HTML Times. [/li][li]This software is in Beta Testing. [/li][/ul]

Ideas for future features: [ul][li]Run from Command-Line [/li][li]Run as daily Windows Service [/li][/ul]

Let me know how it works for you.

10 Likes

Update v0.4

[ul] [li]Quick Folder button [/li][li]Quick Buildbot Directory button [/li][li]Better Download Parsing [/li][li]Support for WinRAR [/li][/ul]

Have any feature suggestions? Let me know.

I will see about a Core updater that downloads only cores that have changed.

Thanks for this.

The core updater, that’s what i always wanted to use. Will it scan the ones you got and tell you which ones have been updated?

[QUOTE=GemaH;45645]Thanks for this.

The core updater, that’s what i always wanted to use. Will it scan the ones you got and tell you which ones have been updated?[/QUOTE]

Yeah, it would compare your cores against the ones online, then download the updated.

It would take some time to figure out and program. I will update the thread if released.

This is nice, I’ll wait a little more to use it, I’d like to see the core updater feature, so I’ll try it out. Thanks.

I like the simplicity. I wanted to see if the retroarch.cfg would be overwritten but it doesn’t seem to update, so I can’t tell. I’d like to help debug. Let me know what I can do.

[QUOTE=aorin1;45647]This is nice, I’ll wait a little more to use it, I’d like to see the core updater feature, so I’ll try it out. Thanks.[/QUOTE]

I’m about half done coding the feature, difficult to get the file dates to match up.

It will only update the exe’s but no .cfg files, so that it doesn’t replace user settings.

It’s best not to test by continuously pressing Update as it will waste the website bandwidth. I use a local virtual server to test download the file.

To help out, just use each day and report if it crashes or doesn’t update. And what file URL it displays in the textbox when that happens.

You can look through the source code, it’s a mess but I’m improving it.

I’ve hit a block on the Core Updater.

In order to compare against the ones online, the dates must be consistent. But they are different for the file depending on where you look.

2048_libretro.dll Modified Date for example:

[ul] [li]File Properties says 5/23/2016 5:18 (17:18) [/li][li]Buildbot says 5/23/2016 17:20 [/li][li]HTML Source says 5/24/2016 00:20 [/li][/ul]

Got any ideas?

Works perfectly fine, did not delete my cfg (I left it there i wouldn’t mind having to re-do it). Thanks

Oh man if you can implement a core updater function to check latest versus installed cores this would be awesome.

Update v0.5

[SIZE=3]~~ Added Core Updater [SIZE=3]~~[/SIZE] [/SIZE] Download http://x.co/nightly Please update only once per day to conserve Libretro bandwidth.[B]

How to use:[/B]

[ol] [li]Select your RetroArch main folder [/li][li]Click the Cores checkbox [/li][li]Click the Check button to preview download [/li][li]Click Update[/li] [/ol]

[ul] [li]It will check if Server Core Dates are more recent than PC Core Dates. [/li][li]Downloads only Cores you currently have, won’t add more. [/li][li]Temp zip files are stored in %appdata% and deleted when complete. [/li][li]Program runs as Administrator by default to allow access to C:\Program Files if needed. [/li][/ul]

Notes:

[ul] [li]Only a few updated cores are released on the Server each day, not all. [/li][li]Server Time might be ahead of your PC Time, making some cores appear newer. [/li][li]Buildbot Displayed Modified Times are not the same as the Parsable HTML Times. [/li][li]This software is in Beta Testing. [/li][/ul]

Thanks for this.

This core updater in particular needs to be integrated into RetroArch itself.

I separate my retroarch setups by console. Can you make it so I can choose those locations at once to update them all?

Why do you separate them to different folders instead of using Playlists and a different config for each console?

because I don’t want or have everything set up in one place. And I only use retroarch for emus that have poor controller support (the single download could be used to be distributed to the different locations. A plus sign button to add more locations would probably do.)

also, i would like that the zip be saved to the retroarch exe location for backup purposes. I have portable versions of 7zip and winrar and the program thinks that I don’t have them. So we would need a fix for that.

[QUOTE=McSwingles;45925]because I don’t want or have everything set up in one place. And I only use retroarch for emus that have poor controller support (the single download could be used to be distributed to the different locations. A plus sign button to add more locations would probably do.)

also, i would like that the zip be saved to the retroarch exe location for backup purposes. I have portable versions of 7zip and winrar and the program thinks that I don’t have them. So we would need a fix for that.[/QUOTE]

I will see about adding a backup option.

It will detect your Portable 7-Zip if it’s in [B]C:\Program Files\7-Zip[/B] or [B]C:\Program Files (x86)\7-Zip[/B] and named 7z.exe.

I could also have it detect if 7z.exe is in the same directory as Stellar.exe. Or have an option to set the 7-Zip directory manually.

I have all my programs installed on an external but still internal hdd. that way if I have a problem with windows, it won’t affect my data. So I dont have those installed on the system drive. I guess having us select it like we do the retroarch exe would suffice. Windows explorer can open 7z too with its default archiver can’t it? How come this needs one of those when other program updaters have it so that it still unpacks it without having such?

Windows not able to open 7z natively. The Cores are in zip format, but retroarch.exe is in a 7z or I would have it use the default archiver for everything.

It may be that other updaters user a wrapper or compile the 7-zip source into their project.

If I can figure out how to do that I’ll add it to the program.

One thing i always wondered, is there a way to see the changelog of each updated core? Like, if there is a new ParaLLEl version, i’d like to see what’s new about it?

Thanks for this awesome little tool. I hope you don’t mind me sharing this over on the Launchbox forums, I am sure it find some very appreciative people over there. Does it do both cores and retroarch.exe or can you set it to just do cores if that is all that is wanted ?