Waarom zijn niet alle applicaties draagbaar?
Het is een vraag die verslapt aan iedereen die verliefd is geworden op draagbare apps: waarom niet allemaal toepassingen draagbaar?
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-drive groep van Q & A-websites.
De vraag
SuperUser-lezer Tom houdt van de schone organisatie die draagbare apps bieden en wil weten waarom alles niet draagbaar is:
Ik heb onlangs geprobeerd om dingen veel minder te 'installeren' op mijn Windows-machine (ik haat installateurs - ik moet weten waar programma's dingen plaatsen ...), in plaats daarvan kiezen voor het gebruik van draagbare of stand-alone versies van applicaties.
Ik plaats ze allemaal in een 'Programma's' map op een schijf die losstaat van mijn Windows-partitie, dus wanneer ik opnieuw installeer, heb ik al mijn applicaties beschikbaar met minimale inspanning en aan de positieve kant krijg ik een mooie, schone installatie.
Toepassingen zoals Office en Creative Suite vereisen nog steeds dat ik door een vreselijk lang installatieproces ga waar duizend willekeurige bibliotheken en hulpprogramma's over mijn systeem worden gegooid.
Waarom moeten Windows-apps nog steeds worden geïnstalleerd? Waarom kunnen we Photoshop niet gewoon naar een map à la OSX slepen en gewoon laten werken? Richt iemand zich nog meer op draagbare apps, of ben ik gewoon gewoon een ocs over het geheel?
We zijn zeker fans van draagbare apps en willen ook graag alles uit de kast halen.
Het antwoord
SuperUser-bijdrager David Whitney biedt enig inzicht in de reden waarom veel apps niet overdraagbaar zijn en hoe Windows een soort van anti-portabiliteitsregeling afdwingt:
Installateurs zijn het resultaat van jarenlange evolutie en een klein beetje (vereenvoudigde) geschiedenis helpt begrijpen waarom ze doen wat ze doen ...
Het Windows 3.1-model stelde config.ini-stijlconfiguratiebestanden voor per toepassing met ondersteuning voor gedeelde bibliotheken die in systeemmappen gaan om duplicatie en verspilde schijfruimte te voorkomen.
Windows 95 heeft het register geïntroduceerd, waardoor een centrale winkel voor toepassingsconfiguratie mogelijk is, die veel configuratiebestanden vervangt. Wat nog belangrijker is, Windows-configuratie was opgeslagen op dezelfde plaats.
Het register werd opgeblazen door applicaties die zichzelf niet opruimden. DLL-hel gebeurde als gevolg van meerdere versies van dezelfde gedeelde bibliotheken die elkaar overschreven.
.NET introduceerde het concept van app.config (bijna ini-bestanden mark 2, dit keer met een beetje meer structuur, waardoor ontwikkelaars tijd verspillen met het schrijven van handmatige parsers). De GAC is geïntroduceerd om gedeelde assembly's te verslaan in een poging DLL Hell te voorkomen.
In Windows XP en moreso in Vista probeerde Microsoft de gebruikersruimte te definiëren als een plaats om gebruikersgegevens en configuratiebestanden op één standaardlocatie op te slaan om roaming-profielen en eenvoudige migratie toe te staan (kopieer gewoon uw profiel) met de toepassingen die zijn geïnstalleerd in Program Files.
Dus ik denk dat de reden is dat "applicaties in Windows zijn ontworpen om op één plek te leven, hun gedeelde afhankelijkheden in een andere, en de gebruikersspecifieke gegevens in een andere", wat vrijwel tegen het concept van xcopiëren van een enkele locatie werkt.
... en dat is voordat u gebruikersaccounts moet configureren en beveiligingsmachtigingen moet instellen en beveiligen, en updates moet downloaden en Windows-services moet installeren ...
xcopy is het "eenvoudige geval" en is zeker niet geschikt voor alles.
Helaas voor fans van alle soorten draagbare apparaten blijven veel apps, vooral grote apps zoals Office, stevig gefixeerd en verdeeld over het besturingssysteem.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.