Hjemmeside » hvordan » Hvorfor laver applikationsinstallationer dig at genstarte og lukke andre apps?

    Hvorfor laver applikationsinstallationer dig at genstarte og lukke andre apps?

    Det er sket med alle på et tidspunkt - du går til at installere en ny applikation, og Windows fortæller dig at genstarte først. Eller genstart efter. Eller det beder dig om at lukke ud af alle andre ansøgninger først. Hvorfor gør det det?

    I dagens geekundervisning forklarer vi præcis, hvorfor Windows kan være så irriterende med alt dette genstart, og forhåbentlig giver dig et bedre perspektiv på, hvorfor tingene fungerer på denne måde.

    Så hvorfor er installatører irriterende?

    Det korte svar er, at de fleste installatører er irriterende, fordi de heller ikke er skrevet meget godt, eller de integrerer for dybt ind i Windows for at kunne kopiere systemfiler og starte alt nødvendigt uden genstart.

    Problemet er forstærket, fordi Windows-applikationer ofte bruger DLL-filer (dynamisk link bibliotek), der deles mellem mere end en applikation. Det er en god ide, men når det kommer til at installere og afinstallere programmer, kan det være irriterende at skulle genstarte. Den virkelig triste ting er, at mange applikationer i disse dage er helt selvstændige og erstatter ikke indbyggede Windows DLL'er, men deres installatører gør dig stadig genstart.

    Her er et par tilfælde, hvor installatører kan være irriterende:

    • Hvis den applikation, du installerer, skal kopieres til nye versioner af filer, der aktuelt bruges af et andet program, vil det enten bede dig om at lukke alle andre programmer, eller det vil få dig til at genstarte.
    • Hvis der er en tidligere installation eller Windows Update, der har ventende ændringer, der kræver en genstart, mislykkes nogle installationer og beder dig omstarte først.
    • Hvis den applikation, du installerer, har et plugin til en anden applikation, som en tilføjelse til Explorer-kontekstmenu eller et browser-plugin, vil det bede dig om at genstarte eller lukke de andre programmer.
    • Nogle gange vil dårligt skrevet installatører bede dig om at genstarte, fordi de ikke selv starter de nødvendige tjenester.

    Lad os se nærmere på nogle af disse tilfælde, så du kan forstå helt, hvad der foregår.

    In-Use-filer skal kopieres ved genstart

    Hvis applikationsinstallatøren skal kopiere nogle filer, men de aktuelt bliver brugt eller er systemfiler i tilfælde af Windows Update, vil den bruge en ventende funktion i Windows, der gør det muligt for et installationsprogram at angive, at en filhandling sker efter en genstart, og før alt i Windows er startet.

    Installatøren skriver en nøgle til følgende placering i registreringsdatabasen:

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
    \ PendingFileRenameOperations

    Hvis du har modtaget en fejl, der siger, at du skal genstarte først, kan du åbne denne nøgle, og du vil se alle de filer, der skal udskiftes ved den næste genstart.

    Du vil sandsynligvis ikke rive med indholdet af denne nøgle, ellers vil ting hurtigt begynde at blive underligt. Der er nogle meget sjældne tilfælde, hvor denne nøgle ikke tømmes selv efter flere genstarter, og du skal muligvis tørre indholdet af nøglen - men det skal du nok undgå at gøre, medmindre du er meget sikker.

    Installation allerede i gang

    Nogle installatører starter ikke, hvis der er en igangværende installering i gang, så de vil tjekke følgende nøgle for at se om der allerede er en installation:

    HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress

    Jeg har ikke et skærmbillede til denne, men du kan få ideen fra nøgleens navn.

    Windows Update gør dig genstart

    Hvis du får en besked, der siger, at du ikke kan installere et program, før du genstarter din computer, skyldes det, at Windows Update kræver en tvungen genstart. Så hvis du f.eks. Får denne fejlmeddelelse:

    Det skyldes, at du sandsynligvis har klikket på Udskyder, da du så denne dialogboks op:

    Hvis du leder ind i registreringsdatabasen, vil du se, at der er en RebootRequired-nøgle på dette sted i registreringsdatabasen:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
    CurrentVersion \ WindowsUpdate \ Auto Update

    Der er en hel masse GUID-værdier over på højre side, og mens de ikke vedrører noget i registreringsdatabasen, er det faktum, at de er der, der, der udløser meddelelsen.

    Teknisk kunne du sandsynligvis eksportere indholdet af nøglen, installere programmet og derefter sætte dem tilbage - men det kunne bryde noget, og genstart er ikke så smertefuldt er det?


    Så nu har du lært lidt mere om, hvorfor applikationsinstallatører arbejder som de gør. Er der noget andet du gerne vil vide? Forklar dine frustrationer i kommentarerne, og vi vil se, om vi ikke kan kaste lys over dem.