Developers saw COM registrations going to the Registry and thought that was the replacement for INI files (in part because OLE 1.0 had used INI files in that registration way)Ħ. Developers misunderstood this to mean that INI files were dead (because of those bad defaults causing the APIs to "glitch"/not work as expected/not work at all in Win32 apps)ĥ. The INI APIs stopped working by default because they still defaulted to C:\WINDOWS or application folders for backward compatibility with Win16 apps.Ĥ. Windows 95 (correctly) added permissions restrictions to C:\Windows and C:\Program Files and asked developers to start using User folders instead (such as %LocalAppData% and %Documents%)ģ. The Windows 1.x to 3.x INI reading/writing functions developed for a single user operating system had an unfortunate default to reading/writing files out of the current working directory which in Windows 3.x was still often C:\WINDOWS (but sometimes the application's install directory)Ģ. That was a combination of accidents/mistakes by general developers at the time:ġ. So yes, I agree with you that my understanding is that COM is largely to blame for the inflation of the NT Registry from "just a Kernel data store" to something larger.īut my understanding is that while COM still needed a central registry, the Registry was never intended to replace INI files. Largely because COM relied on it, the NT Registry was then backported (sideported?) to Windows 95. In part because the Kernel may need to call COM components sometimes. Meanwhile the NT Registry was built for the NT Kernel settings store, and primarily just the NT Kernel.īut COM did think to use the Registry as a central store of COM component registration. OLE 1.0 in the Windows 3.x era (which was a predecessor to COM, but not yet COM, and an evolutionary baby step between DDE and COM) did not use "the" Registry but more complex DLL VTABLEs and INI files. Not the least of which - they can allow enterprise customers to verify the exact state changes on the end machine that will occur as a result of installation, and to do updates as patches rather than complete replacements, making them much faster and less network intensive (matters when you're deploying a patch to something like say Visual Studio, which is 40+GB on disk on the small end).īasically - Installation is a lot more complicated with a wide variety of business use-cases, much less hardware control, and a strong legacy of supporting old software. Installers give applications a chance to ensure all required dependencies are correctly in place.įinally - There's a lot of work and tooling for enterprise customers in Microsoft's MSI toolchain. it also means applications need a step to configure those settings at install time.Īdditionally - Windows is a MUCH more diverse ecosystem than macOS in terms of hardware (and the associated software). Windows uses a single shared registry for persistent application settings (instead of something like a plist/config file local to the application) which has some clear upsides because settings are centralized and can be deployed fairly easily by admins and applications can read settings for other applications and change behavior accordingly - But. Microsoft store applications are conceptually similar to the dmg/app approach macOS has taken (and have most of the same limitations and restrictions).Ī few design decisions from the early Windows days tend to keep installers around on windows, though. I think at the time its main "drawback" was that it made installer downloads from the internet a bit awkward since it generated tons of files, but many archiving tools (WinZip, WinRAR, etc) added options for making self-extracting archives that can launch applications, so the combo of a WinZip self-extracting archive that launches an InstallShield setup.exe was very common for a very long time.īut basically the reason it was used a lot was that it was easily available to the users of the most popular development tools at the time. For a ton of people it was more than enough. A cut down (but still very functional) version of Install Shield came bundled with Visual Studio, Delphi, C++ Builder and perhaps others (they were somewhat customized versions for each) so for many it was available out of the box.Īnd the included version had a wizard to quickly create an installation project so unless you wanted something advanced, making an installer was a matter of selecting your program's files, the name of any Start menu shortcuts (and perhaps a couple of other things i forget) and then building the installer.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |