Jump to content

Package Manager for Windows


aphesia
 Share

Recommended Posts

Hi, I have this idea already for some months now... I want to code a package manager for windows. I'm not sure if it will have a GUI or be simply a command-line tool. Or maybe both.

Anyway, here is where my first real problem comes:

How do I detect the latest version of a software? I could do some kind of "hidden" website browsing to check if the latest version has changed but I guess this is:

- buggy

- costs more time than simply checking a file for the newest version

- uses more ressources than checking a simple app-name.txt file

Sites like filehippo don't really offer an easy way to find information of the latest version?

I also thought about running a "version checker" app on my server. It will scan 24/7 for new versions and safes the version number in a file. The Package Manager itself just has to check this file then.

What do you guy think? For the server application I would actually need code it for linux/debian :/

Thanks

@edit: is there an easy way to work with mysql-db's on my server? E.g. reading version numbers out of it?

Edited by aphesia
Link to comment
Share on other sites

Getting the versions from the web is a task which should be no problem.

Depends on how often the structure is changed on the download sites.

I would go for the way you mentioned. Download the file to your server and update a file on your file/webserver.

Then use Autoit to read the file and compare the version --> new then download.

Yes, you can work on databases with Autoit.

If you need to have UNIX-support because your server is running on LU then you will need another language than Autoit.

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Link to comment
Share on other sites

Most of the "file repositories" now have updater programs, is this what you are refering to as a "package manager" or where you thinking of value adding on top of updating?

I use filehippo in a few projects that need to update 3rd party programs.

Here is something you maybe interested in

:) Check out the parameter $bDownload - [optional] True = program will be downloaded False = return Version number ONLY

If you find something that doesn't work or needs to be improoved let me know and I'll update the script.

Have Fun

John Morrison

Link to comment
Share on other sites

Oh something else to add to the mix. :)

I was looking at something similar but concentrating on Autoit scripts only and came up with a few ideas you might like to consder.

Link to comment
Share on other sites

Well here's my idea. It is actually quite simple.

When the program checks for updates, it does the following:

Download a text file from a specified URL.

Check line one for the latest release's product version number.

Compare it to the current product's version number.

If it is not the latest version, prompt the user to download it.

If the accept, download the file from the given URL, on line 2 of the text file.

Delete the text file.

Link to comment
Share on other sites

@Mikeman

I have some code around somewhere that does exactly that as well.

(been meaning to moderise and document it for public consumption but just never get aroudn to it) :)

The Text file is called a VCF (Version Control File).

But someone or somthing must update the VCF for the system to work.

Link to comment
Share on other sites

@Mikeman: This is exactly my idea :) The only problem I currently have is how to read all the version informations from the different software vendors.

And yes it would be on a linux server. How ever, the client application would be written in AutoIt

@storme: Thanks for the links. My idea is to be able to fully setup a fresh OS and keep it up to date with this app. Export/Important a list of applications and install ALL your favourite software on a new PC with just a few clicks. Upgrade the software, etc.

So far I could only find half-working projects or dead projects. Update which weren't able to update already existing installations (so the update would only work if you install the software via the updater.exe) or e.g. filehippo which is giving you links but won't download/install anything automatically.

SecuniaPSI does a nice updating job but it won't allow you to install new applications + it's too big for a simple updater/package manager.

Link to comment
Share on other sites

> My idea is to be able to fully setup a fresh OS and keep it up to date with this app. Export/Important a list of applications and install ALL your favourite software on a new PC with just a few clicks. Upgrade the software, etc

Yeah been thinking of something similar for ages but I keep running into brickwalls.

My Thoughts...

Don't try to create one piece of software that will download/install/update all of your software.

There is just too many variables.. :)

My current thinking is have a central script that simply executes a series of scripts (and restarts if the computer is restarted).

The individual scripts are your download/install/update scripts for each of your pieces of software.

In this way you can work on one program at a time and get it right without having to create complex functions that will handle multiple programs.

Also if a program changes it's install/update you just need to update that one script.

Anyway that is the basics of the idea.

Let me know how you go.

John Morrison

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...