Šiandienos "geek" pamokoje mes tiksliai paaiškinsime, kodėl "Windows" gali būti toks erzina, kai visa tai perkraunama, ir, tikiuosi, suteiksime jums geresnę perspektyvą, kodėl viskas taip veikia.
Kodėl Installerai yra erzina?
Trumpas atsakymas yra tai, kad dauguma montuotojų yra erzina, nes jie arba nėra labai gerai parašyti, arba jie pernelyg giliai integruojami į "Windows", kad būtų galima kopijuoti sistemos failus ir paleisti viską, kas reikalinga be perkrovos.
Problema susilpnėja, nes "Windows" programos dažnai naudoja DLL (dinaminių saitų bibliotekos) failus, kurie yra dalijami tarp daugiau nei vienos programos. Tai puiki idėja, tačiau, kai kalbama apie programų įdiegimą ir pašalinimą, gali būti sunku persikrauti. Labai liūdnas dalykas yra tai, kad daugelis programų šiomis dienomis yra visiškai savarankiški ir nekeičia integruotų "Windows" DLL, bet jų diegėjai vis tiek persijungia.
Štai keletas atvejų, kai montuotojai gali būti erzinantys:
- Jei įdiegtai programai reikia kopijuoti naujas failų versijas, kurios šiuo metu naudojamos kitoje programoje, ji arba ragins uždaryti visas kitas programas, arba iš naujo paleis.
- Jei yra ankstesnis diegimas arba "Windows" naujinimas, kurio laukiantys pakeitimai reikalauja perkraukio, kai kurie įrenginiai nepavyks atlikti ir prašys iš naujo paleisti pirmą.
- Jei įdiegta programa turi papildomą priedą kitai programai, pavyzdžiui, naršyklės kontekstinį meniu arba naršyklės papildinį, jis paprašys iš naujo paleisti ar uždaryti kitas programas.
- Kartais netinkamai parašyti montuotojai prašys iš naujo paleisti, nes jie nepradeda reikiamų paslaugų savarankiškai.
Pažiūrėkime keletą iš šių atvejų, kad galėtumėte visiškai suprasti, kas vyksta.
Naudojimosi failai turi būti nukopijuoti iš naujo
Jei programinės įrangos diegimo programai reikia kopijuoti kai kuriuos failus, bet jie šiuo metu yra naudojami, arba sisteminiai failai yra "Windows Update" atveju, jis naudos "Windows" laukimo funkciją, kuri leidžia diegimo programai nurodyti, kad failo operacija įvyksta po perkrovimo, ir prieš pradedant viską sistemoje "Windows".
Įdiegėjas parašys raktą į tokią vietą registre:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager PendingFileRenameOperations
Jei gavote klaidą, nurodydama, kad pirmiausia reikia paleisti iš naujo, galite atidaryti šį raktą ir pamatysite visus failus, kuriuos reikia pakeisti kitą kartą perkrauti.
Diegimas jau vyksta
Kai kurie diegimo programos nebus paleisti, jei vyksta dabartinis diegimas, todėl jie patikrins šį mygtuką, norėdami pamatyti, ar diegimas jau vyksta:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerInProgress
Aš neturiu šio vieno ekrano kopijos, bet jūs galite gauti idėją iš rakto pavadinimo.
"Windows Update" leidžia paleisti iš naujo
Jei gaunate pranešimą, kad negalite įdiegti programos, kol iš naujo paleisite kompiuterį, tai reiškia, kad "Windows Update" reikalauja priverstinio perkraukimo. Pavyzdžiui, jei gaunate šį klaidos pranešimą:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionWindowsUpdateAuto Update
Dešinėje pusėje yra daugybė GUID verčių, ir nors jie nėra susiję su nieko registro, tai, kad jie yra, yra tai, kas sukelia šį pranešimą.
Taigi dabar jūs sužinojote šiek tiek daugiau apie tai, kodėl programų kūrėjai veikia taip, kaip jie veikia. Ar yra kažkas, ko norėtumėte žinoti? Paaiškinkite savo nepasitenkinimą komentaruose ir pamatysime, ar negalėsime jų apšviesti.