why do some software need installing while others can be used directly

485 viewsOtherTechnology

In windows, most software would need an installing before usage yet some can be opened directly. For example, Blender is a 3D software that can be downloaded in two forms: one that can be installed and the other in “portable” form that can be directly used even when it’s inside a flashdisk. How can this be so? Why not all software require installation or not?

In: Technology

7 Answers

Anonymous 0 Comments

When your software gets installed it meshes itself into your OS (windows or mac). This allows your computer to recognise .blend files, give blender special permissions, give it better access to hardware and firmware, and allow it to access most files on your computer.

Portable versions are limited in all these, they’re meant to be put on flash drives (hence the name portable) so you can plug them into any pc and work.

Edit: I almost forgot compression! Setup files are compressed into smaller data to makes downloads faster. A majority of the installation process is simply decompressing the data to make it usable.

Anonymous 0 Comments

its mostly a legacy thing a this point. programs install because programs have always installed, and this way they can be used by multiple users on different accounts.

some times there are changes that need to be made in the windows registry (like setting file name associations) and its helpful if those point somewhere owned by admin, but there is very little need for installation these days.

gennerally all installers do now adays is download the program (some times), and uncompress it into a folder. you can sometimes even get away with copying thay folder to a thumbdrive to make it portable.

Anonymous 0 Comments

Most programs require generic libraries (additional files that provide functionality) that need to be integrated in the operating system. In a lot of cases, those libraries already exist on the computer.

However, it’s possible that a program might require a version that’s high enough and maybe the one already existing on the computer is not up to date. So overwriting that library is required, which is what the installer does. But sometimes it might be even more complex than simply overwriting a file. Maybe the new version needs to be declared in the operating system’s registry.

Some portable programs come with their own generic libraries. But then you might sometimes encounter conflicts due to the multiple versions existing on the computer (this is usually solved by referencing the file specifically).

Then there’s the additional functionality that was mentioned by the others, such as associating the files with the program.

Overall, installers provide additional functionality.

However, if you’re a savvy enough user, you can just get that functionality done by yourself (such as file associations).

In blender’s case, it was designed to be portable from the get-go. But other programs require third party modifications to make them portable, as they weren’t even designed with that in mind.

Anonymous 0 Comments

Installation can perform many tasks, for example :

– decompress the compressed package of the program and put it in the expected location with the expected file structure.
– check if system meets requirement
– remove previous installation of the same program to avoid conflicts
– detect program is already installed but on an older version and update it
– check you’re not missing any piece due to a download malfunction
– check permissions for any directory you’re going to use that isn’t in the program main directory.
– check for the existence of other programs your program relies on (jvm, dotnet ?)
– check which media tooling you have and configure the program to use the ones you have
– Ask your OS for the text fonts
– Add some variables to the registry to find some paths on your system (or check registry for paths you need but everyone local machine is different so someone has to tell where it is on this machine).
– Tell the OS to open your program-specific *.XXX files with the XXX program
– Tell your OS about that new command line keyword that correspond to this new program
– Tell your OS that program should run with some specific options
– create shortcuts to desktop/start menu/pin to task bar etc… if you want them.
– check your activation key for licenced product
– phone home and download the rest of the program

Or anything else really.

Some programs don’t need any of this. Due to the way they work internally or the way they were shipped or both.

Anonymous 0 Comments

Because using indirect is inconvenient. Your shortcut will have to be in the same place where it was, otherwise you will have to manually change the shortcut.

Anonymous 0 Comments

More complex programs will allow you to save some settings like take a web browser. It can store bookmarks, passwords , you can even customize the way it looks. To do this it most likely writes settings to some file on your computer that stores these settings

The one benefit of this is when a new version is installed , all those settings can carry over to the new version

It can even change the OS settings, if you install a web browser , the web browser can change some OS settings basically saying “If you open up a web link, use firefox (or chrome or safari) to open it” this requires some settings in the OS to be updated

Portable software has a harder time with this, some may even be able to save bookmarks or something but when a new version is downloaded since nothing is “saved” or installed on your computer you may lose these settings if you download a new version

Anonymous 0 Comments

A lot of software piggybacks off of resources that already exist in your OS. They don’t need to rewrite how to read a file every time, they can just use a library that exists on the OS. But because it can be a little different on every variant of every patch of every version of the OS, it needs to do some logic to link to the proper library each time.

The standalone version just packages those libraries with it, but those are extra space that technically isn’t needed.

In addition, these days proper software separates the executable code files from the configuration files. The code files will be somewhere in Program Files on Windows, and the config files will be per-user in the Users[Username]AppData folder. The portable version is intended to be on a USB stick, and to store its config files in the same path so that they are also carried along in the USB Stick.