views:

171

answers:

4

Hi everyone.

Last year, in 2009 GSoC, I participated with an organization called Winlibre. The basic idea is having a project similar to Aptitude (or Apt-get) and a GUI like Synaptic but for Windows and just to hold (initially), only open source software. The project was just ok, we finished what we considered was a good starting point but unfortunately, due to different occupations of the developers, the project has been idle almost since GSoC finished. Now, I have some energy, time and interest to try to continue this development. The project was divided in 3 parts: A repository server (which i worked on, and which was going to store and serve packages and files), a package creator for developers, and the main app, which is apt-get and its GUI.

I have been thinking about the project, and the first question that came to my mind is.. actually is this project useful for developers and Windows users? Keep in mind that the idea is to solve dependencies problems, and install packages "cleanly". I'm not a Windows developer and just a casual user, so i really don't have a lot of experience on how things are handled there, but as far as I have seen, all installers handle those dependencies. Will windows developers be willing to switch from installers to a packages way of handling installations of Open source Software? Or it's just ok to create packages for already existing installers?

The packages concept is basically the same as .deb or .rpm files.

I still have some other questions, but basically i would like to make sure that it's useful in someway to users and Windows developers, and if developers would find this project interesting. If you have any questions, feedback, suggestions or criticisms, please don't hesitate posting them.

Thanks!!

A: 

Hi acadavid,

I can only speak for myself, but obviously I could definitely make use of such a tool as I found your post through googling! ;)

My two use cases for this tool would the following ones: 1. I generally avoid to re-install my system as long as possible (in fact I manage to do so only for switching to a reasonable (not each an every) new version of Windows every few years or to setup new computers). But still I'd like my software to be up-to-date. Neither do I want to have to go to all the web pages and check manually if there are compatibility issues with the new version of Doxygen, Graphviz and the latest version of MikTeX for example, nor do I want to have to navigate to the download pages and run the setups all by myself. I just want to schedule ONE SINGLE (!) tool, which checks whether there are new updates or not and updates those applications which are not in conflict with any other application version.

  1. If it unavoidably happens to me that I have to re-install my system, I don't want to get the new setups neither (and check compatibility). I even don't want to wait for one setup to finish in order to start the next one, I just want to check the tools I need, or even better, I want to simply load my "WinApt XML" batch installation file, which gets the installers and handles the setups sequentially all by itself.

I don't know enough about the architecture of .deb or .rpm but IMHO the most reasonable would be to maintain a DB with only the names, versions, dependencies and the location of the different versions' download locations. I mean, most of the tools available for Windows provide .msi packages anyways, which (I guess) is the application itself and some custom installation properties (really not sure how scripting is handled, but I know that creating a MSI in Visual Studio has very limited abilities to create custom installation steps and I can only imagine this is due to limitations of MSI protocol).

I guess a GUI will be mandatory for Windows users ;) but I personally would prefer the additional ability to handle the setups with the console.

Well, I like the idea and would love to hear from that (or such a) tool in the future.

Cheers

Pierre
A: 

Check out NSIS. It's an open source MSI creator. You might be able to use it as part of your package creation software. http://nsis.sourceforge.net/Main_Page

potat
A: 

be sure to research previous efforts on this. Google turns up several similar/relevant efforts.

http://en.wikipedia.org/wiki/Package_management_system#Microsoft_Windows

http://windows-get.sourceforge.net

http://pina.plasmite.com

IIRC there was an rpm for windows at some point

Also I think there was some guy (who used to work at MS) in the news recently that basically is starting up a very similar project. I can't find a link to this now.

But anyway, yeah, it would be awesome if there was such a standard tool and repository.

aaron
A: 

For the ALT-.Net tool/lib stack there have been some affords in this direction: Horn Get However, the usability in a real world project has been subject in this SO question.

tobsen