Why aren't all applications 'mobile'?
I've lately been attempting to 'install' things a whole lot much less on my Windows equipment (I despise installers - I require to recognize where programs place things ...), picking to make use of mobile or standalone variations of applications rather.
I placed them done in a 'Programs' dir on a drive different from my Windows dividing, so whenever I re-install, I have all my applications readily available with marginal initiative and also on the bonus side, I get a wonderful tidy arrangement.
Applications like Office and also Creative Suite still need me to experience a badly lengthy installation procedure where a thousand arbitrary collections and also devices are tossed throughout my system.
Why do Windows applications still require mounting? Why can not we simply drag Photoshop to a folder à la OSX and also simply have it function? Does any person else concentrate on portable apps, or am I simply being OCD concerning the entire point?
Some programs call for that the install area remain in the computer system registry, others might have their areas tough - coded right into the program (this held true for perl.exe).
Primarily the major factor is designers that took the very easy escape, and also tough - coded something right into the programs, either computer system registry keys, or real tough - coded courses.
Great inquiry, I asked a related question on Stack Overflow a while earlier.
The solution usually appears to be "since that's just how we've done it in the past". Sorry yet that does not clean with me.
A couple of others have claimed the major factor results from the computer system registry. If you are speaking about a tool vehicle driver or a few other COM part etc, after that of course this might be essential, yet except GUI applications such as Word cpus or spread sheets.
It's fairly feasible to write an application that either examine start - up for called for computer system registry setups, and also motivates the customer for them/ makes use of defaults. Or, as several protable applications presently do, jst allow the customer recognize that OS assimilation is presently restricted due to the fact that you are running in mobile setting.
Installers usually additionally have a great deal of "expertise" concerning just how the application functions. After that when the application adjustments, you usually need to upgrade the installer also. This is a timeless source of bugs/problems I've seen in my time shows.
It's the one dimension fit's all strategy.
I assume it's partially to do with the huge quantities of cruft windows applications require. As an example, Registry keys, User information (/ Users// AppData ). Probably OSX simply manages this better/differently.
However it's possible to create applications that you can simply extract from an archive - I'm constantly satisfied when this holds true.
Mostly as a result of the windows registry - despite the fact that your programs remain in a particular directory site, setups are usually saved in the computer system registry.
It can additionally be due to the fact that the program places documents in various other directory sites on your computer system apart from the install directory site (system32 as an example )
The.Net Framework is the system to enable this sort of capability, and also primarily installers are simply made use of due to the fact that this is what regular customers are made use of to. Similarly Mac customers are made use of to replicating documents right into the Applications folder.
Bulk of installers merely expand documents right into the Program Files folder and also develops a faster way. It's even more an instance of what customers recognize, and also usually it is simply to less complex to maintain the procedure the very same also if the application is mobile.
A mix of the computer system registry and also per customer storage space. The registry is an essential item, specifically if your application is COM based (which calls for signing up, which takes place in the computer system registry ). Per customer storage space (of arrangement etc ) is additionally a vital part. The just excellent way to do this is to store it in some particularly made directory sites (see Isolated Storage ).
Installers are an outcome of years of advancement and also a little of (streamlined ) background aids recognize why they do what they do.
The windows 3.1 version recommended config.ini design arrangement documents per application with sustaining common libaries entering into system folders to stop replication and also thrown away disk space.
Windows 95 presented the computer system registry permitting a main store for application arrangement changing several arrangement documents. Extra notably, windows arrangement was saved in the very same area.
The computer system registry came to be puffed up as a result of applications unclean up after themselves. DLL heck took place as an outcome of numerous variations of the very same common collections overwriting each various other.
. NET presented the principle of app.config (virtually ini documents mark 2, this moment with a little bit extra framework conserving programmers losing time creating hand-operated parsers ). The GAC was presented to variation shared settings up in an effort to stop DLL Hell.
In Windows XP and also moreso in Vista, Microsoft tried to specify the userspace as an area to store customer information and also arrangement documents in a solitary criterion area to permit roamning accounts and also very easy movement (simply replicate your account ) with the applications mounted in Program Files.
So I presume, the factor is that "applications in windows are made to stay in one area, their shared dependences in an additional, and also the customer details information in an additional", which virtually antagonizes the principle of xcopying a solitary area.
. which's prior to you need to set up customer accounts, and also arrangement and also make certain protection approvals, and also download and install updates, and also install windows solutions ...
xcopy is the "straightforward instance" and also absolutely isn't an ideal suitable for every little thing.