Jump to content

Why no installation?


airelibre

Recommended Posts

How come KSP runs straight away when I download the appropriate folder, whereas most games I have played require download and then a subsequent installation? (As non-technical as possible please, I don't know much about computers :blush:)

Link to comment
Share on other sites

Most AAA games have a TON more resources to pull from (resources means sound effects, music, images, character models, etc etc), KSP is relatively simple compared against those specs so once you've downloaded it, it's basically installed.

Plus most games have their resources packaged in such a way that the game will "unzip" them when it needs to, whereas KSP's resources are pretty much "out in the open" already.

Super simple explanation, but that's basically why you can download and play KSP without having to run an "installer."

Link to comment
Share on other sites

Because an installer is just equal to unzipping. Seriously. You'll often note there are files which you can't read yet they are large sized - that's the .zip equivalent...

Link to comment
Share on other sites

its more than just copying files. also setting up stuff with the os. on windows this means writing stuff to the registry, setting up directories for code and user data in the appropriate folder, installing services for drm, anticheat and whatnot. i actually kinda like that ksp keeps it to copying only. i dont like some of the things these game installers put on my computer.

i assume linux does things more or less the same way, with some kind of install script. i dont really know what happens when i 'sudo apt-get install whatever', but i assume it does a lot of the same things that windows installers do.

Link to comment
Share on other sites

its more than just copying files. also setting up stuff with the os. on windows this means writing stuff to the registry, setting up directories for code and user data in the appropriate folder, installing services for drm, anticheat and whatnot. i actually kinda like that ksp keeps it to copying only. i dont like some of the things these game installers put on my computer.

i assume linux does things more or less the same way, with some kind of install script. i dont really know what happens when i 'sudo apt-get install whatever', but i assume it does a lot of the same things that windows installers do.

Most games don't need much system setup, drm and anticheat is main exceptions. Might also request firewall changes.

Link to comment
Share on other sites

Basically:

Windows wants to install software under C:\Program Files\. In turn, because that's a directory that has software in it, it's specially protected for security reasons. Among other things, users do not have write permissions in these folders. Because of this, it's considered a major faux pas to store any form of user data under C:\Program Files\, such as config files, savegames, documents and images, and so on.

Also, Windows is a multi-user OS, and while only a minority of software actually takes advantage of this, it's theoretically possible to install software in such a way that each individual user can use it in complete separation from all other users. In a game installed in such a way, you would not see the savegames created by someone who logged in with a different Windows account, for instance, and you making changes to graphics settings does not overwrite theirs - even though you've launched the exact same game client.

In order to pull this off, and in order to isolate user data from the installed software, the software must actively hook into the OS in a certain way. It must be able to dynamically create folders for its user data under C:\Users\<username>\... whenever a user who does not have these folders launches the software - even for user accounts which didn't even exist at the time of software installation. It must keep track of these locations it has created in case the software needs to be uninstalled, so they can be removed. It needs permission to launch in a user-isolated context. And so on, and so forth.

And that doesn't even begin to get into more complex software that might run DRM measures or needs to supply its own runtime extensions, DLL files or even entire hardware drivers which need to be copied into Windows system folders and/or registered with the OS to be loaded when the computer starts up. Some software even installs other software it has a hard dependency on, and that software may require complicated installation procedures of its own.

KSP can get away with just copying files because a.) it's completely encapsulated within the Unity runtime and does not require anything else to run; b.) it doesn't give a damn about people giving it weird looks for saving user data under Program Files (and you shouldn't install it there anyway, since some mods are broken by the restrictive permissions of that location); c.) it is not in any way, shape or form multi-user aware; and d.) it does not feature any DRM.

Link to comment
Share on other sites

Most games don't need much system setup, drm and anticheat is main exceptions. Might also request firewall changes.

in the 90s it was mostly just spamming the registry. some games you could copy from your old system and they would work without running the installer (anything idtech). but others would look for certain registry keys and wouldn't run without them, sometimes it would tell you to reinstall. some games in the 90s were really picky about things like video drivers, which you pretty much needed to upgrade with each new game you bought (they were big on pushing the limits of technology back then). on modern systems most of that is taken care of by auto updates done by the os. i really miss the dos days when all you had to do was type 'copy *.*'.

Link to comment
Share on other sites

I assume linux does things more or less the same way, with some kind of install script. i dont really know what happens when i 'sudo apt-get install whatever', but i assume it does a lot of the same things that windows installers do.

It does not. Windows is the only operating system to act in this "dirty" way.

On Mac OSX, most of the programs are "self-contained". They are nothing more than a directory following some convention that you can drag-and-drop where you want ( by default in the application directory ).

Linux distributions have packaging systems. deb or rpm packages are more or less a "zip" of a list of file that are copied in predefined place. RPM/DEB can have scripting. The configuration under Linux is done "per application" via configuration file and there is no such (ugly) thing as "the registry".

Android use an hybrid system between the Linux way and the OSX way. They have a packaging system but each package is mainly "self-contain" to be isolated from the OS itself.

The concept of installation is a thing quite specific to Windows.

Link to comment
Share on other sites

i assume linux does things more or less the same way, with some kind of install script. i dont really know what happens when i 'sudo apt-get install whatever', but i assume it does a lot of the same things that windows installers do.

apt-get will download only the needed resources/libraries aka dependencies from the ppa; that's one of the nice things with linux, many programs can share the same assets. The system does a wonderful job at keeping track of dependencies, so when you remove a program the assets that are used by other programs are left in place as needed. Apt-get installed software will also get automagically updated when you apt-get update && apt-get upgrade (what the normal, automatic system updater does in Ubuntu and such), so the individual programs do not need up-to date checking, which imho is a huge nuisance in windows.

Link to comment
Share on other sites

Software from a zip file requires the software to be self contained or at least runable on an average OS install. You want to meet those requirements to make it user friendly.

Installers are for software which depends on other software, unique settings per system or for people who don't know how to extract files.

Also, not having an installer isn't a guarantee that said software wont install other unwanted software. Other software could be installed by just starting the program.

Link to comment
Share on other sites

There's a list of things an average Windows installer can do (and usually does):

1. Check Windows version for compatibility with the software being installed.

2. Tell user what exactly he's going to install (name and version).

3. Show the EULA and make user accept (or decline) it.

3.5. Ask user for registration info (serial numbers etc) and do appropriate checks.

4. Ask where the software should be installed to (disk and folder).

5. Ask which features of the software should be installed. For example, when installing Microsoft Office suite, you can choose to install Excel and skip other features (Word etc) if you don't need them.

6. Choose (according to the selected features and/or Windows version) and unpack necessary files to the proper location(s).

7. Create shortcuts at the Start menu and/or desktop (and maybe somewhere else). Adding new Send To destinations also goes here.

8. Create an entry in the Programs and Features (formerly Add/Remove Programs) Control Panel applet.

9. Create additional registry entries (i.e. register new file types, protocol handlers, Windows Explorer context menu extensions etc; installing kernel mode drivers and system services (it the software needs them) also goes here).

10. Install additional software packages (usually Visual Studio runtimes; years ago DirectX updates and various versions of .NET Framework were popular, too).

11. Ask user if he wants to run the software right now.

Not all these actions are used by every piece of software. Some of these actions can be performed by software itself on the first run. Some first-run actions usually performed by software and thus not mentioned above can be moved to installer. Some less popular actions are not mentioned at all. And I didn't even start to talk about a thing called Microsoft System Installer (MSI) which is vast, almighty, gorgeous and terrifying.

Source: my personal (little) experience in creating installers for various in-house software.

Sorry for my English, never had an opportunity to learn it properly.

Edited by fairytalefox
Link to comment
Share on other sites

Most games don't need much system setup

Quite often dependencies are installed, like the appropriate DirectX or Microsoft .NET version or libraries. Exactly that is the reasons Windows system tend to bloat over time, lots of things are installed and never uninstalled again.

Also, not having an installer isn't a guarantee that said software wont install other unwanted software. Other software could be installed by just starting the program.

Sadly, this is true, especially in the case of installers that are just a small .exe that download all the rest.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...