pericazivkovic / portablepython

Build environment for the Portable Python project
http://www.PortablePython.com
105 stars 52 forks source link

ZIP-Version #6

Closed tvw closed 11 years ago

tvw commented 11 years ago

I am always surprised when portable software comes packed as an installer. It would be great if it could be provided as a zip-archive too.

I use portable software to avoid installers/uninstallers and I guess, I am by far not the only one.

pericazivkovic commented 11 years ago

In this case "installer" is not registered in the target system so there is nothing to "uninstall". It is used so that users can select packages they want to have on their system which is something that you can not do with a zip archive. Using NSIS "installer" also allows dependencies check e.g. if user selects package A we can automatically select package B to be installed as it is needed for package A to function.

So in this context Portable Python "installer" is just a smart archive.

Check http://portableapps.com - most of them come as an installer.

tvw commented 11 years ago

You are probably correct: but from a usability standpoint: how does the user know, what the installer will really do? And even if they learned that an installer is just a smart archive, will the next download be again a smart-archive or a regular installer?

BTW: you can do this with ZIP-Archives: In the past there existed Self-Extracting ZIP-Files, which could also be extracted via the unzip command and without executing the executable archive. So it seems to be possible to combine a zip-file and an exe in that way, that it also behaves as a standard zip-archive.

But in practice it would be enough to provide both, archive and installer.

pericazivkovic commented 11 years ago

Nice discussion :+1:

Self-extracting zip files are not that smart, they do same like zip and extract ENTIRE package to specified location. Requirement that NSIS smart package is covering here is that user can select subset of files and libraries from entire package to be installed. As additional thing if user selects "library A" I can with this installer wizard detect and automatically select "library B" which is needed for "library A" to function properly. So all dependencies can be covered without worries on user side what do I need to install to have my "library A" to work on the target installation.

As most of the people don't want to extract hundreds of MB and wait for a long time to have everything unpacked onto USB stick, this seems like a crucial functionality for the users.

Like mentioned, most of the portable applications are delivered in the same way and I don't see why users would even care is it actually installer or just a smart archive or zip file if what they need is delivered in fast and flexible way.