Se on kysymys, joka nokkelee kenelle tahansa, joka on rakastunut kannettaviin sovelluksiin: miksi ei kaikki sovellukset kannettavat?
Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin ansiosta. Tämä on Stack Exchange -jako, joka on Q & A-sivustojen yhteisöjoukkoyhtymä.
Kysymys
SuperUser-lukija Tom rakastaa puhdasta organisaatiota kannettavia sovelluksia ja haluaa tietää, miksi kaikki ei ole kannettava:
I’ve recently been trying to ‘install’ stuff a lot less on my Windows machine (I hate installers – I need to know where programs put stuff…), choosing to use portable or standalone versions of applications instead.
I put them all in a ‘Programs’ dir on a drive separate from my Windows partition, so whenever I reinstall, I have all my applications available with minimal effort and on the plus side, I get a nice clean setup.
Applications like Office and Creative Suite still require me to go through a horribly long installation process where a thousand random libraries and tools are thrown across my system.
Why do Windows apps still need installing? Why can’t we just drag Photoshop to a folder à la OSX and just have it work? Does anyone else focus on portable apps, or am I just being OCD about the whole thing?
Olemme varmasti kannettavien sovellusten faneja ja haluamme myös päästä asioiden alkuun.
Vastaus
SuperUser-avustaja David Whitney tarjoaa jonkinlaisen käsityksen siitä, miksi monet sovellukset eivät ole kannettavia ja miten Windows noudattaa eräänlaista anti-portaittaisjärjestelyä:
Installers are a result of years of evolution and a little bit of (simplified) history helps understand why they do what they do..
The Windows 3.1 model suggested config.ini style configuration files per application with supporting shared libaries going into system folders to prevent duplication and wasted disk space.
Windows 95 introduced the registry allowing a central store for application configuration replacing many configuration files. More importantly, windows configuration was stored in the same place.
The registry became bloated due to applications not cleaning up after themselves. DLL hell happened as a result of multiple versions of the same shared libraries overwriting each other.
.NET introduced the concept of app.config (almost ini files mark 2, this time with a little more structure saving developers wasting time writing manual parsers). The GAC was introduced to version shared assemblies in an attempt to prevent DLL Hell.
In Windows XP and moreso in Vista, Microsoft attempted to define the userspace as a place to store user data and configuration files in a single standard location to allow for roamning profiles and easy migration (just copy your profile) with the applications installed in Program Files.
So I guess, the reason is that “applications in Windows are designed to live in one place, their shared dependencies in another, and the user specific data in another”, which pretty much works against the concept of xcopying a single location.
.. and that’s before you have to configure user accounts, and setup and ensure security permissions, and download updates, and install windows services…
xcopy is the “simple case” and certainly isn’t a best fit for everything.
Valitettavasti kaikkien kannettavien fanien monet sovellukset, erityisesti suuret sovellukset, kuten Office, pysyvät tiukasti kiinni ja jakautuvat käyttöjärjestelmän yli.
Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.