Начална » как да » Защо инсталирането на приложения прави рестартиране и затваряне на други приложения?

    Защо инсталирането на приложения прави рестартиране и затваряне на други приложения?

    Това се случи на всички в някакъв момент - отивате да инсталирате ново приложение и Windows ви казва да рестартирате първо. Или рестартирайте след. Или ви иска да затворите първо всяко друго приложение. Защо го прави?

    В урока днес ще ви обясним точно защо Windows може да бъде толкова дразнещ с цялото това рестартиране и да се надяваме да ви дадем по-добра перспектива защо нещата работят по този начин.

    Защо инсталаторите са дразнещи?

    Краткият отговор е, че повечето инсталатори са досадни, защото или не са написани много добре, или се интегрират твърде дълбоко в Windows, за да могат да копират системните файлове и да стартират всичко необходимо без рестартиране.

    Проблемът се усложнява, защото приложенията на Windows често използват DLL (динамична библиотека) файлове, които се споделят между повече от едно приложение. Това е хубава идея, но когато става въпрос за инсталиране и деинсталиране на приложения, може да е дразнещо да се наложи да се рестартира. Много тъжно е, че много от приложенията днес са напълно самостоятелни и не заменят вградените Windows DLL, но техните инсталатори все още ви карат да рестартирате.

    Ето няколко случая, при които инсталаторите може да са досадни:

    • Ако приложението, което инсталирате, трябва да копира нови версии на файлове, които в момента се използват от друго приложение, то ще ви подкани да затворите всички други приложения или ще ви накара да рестартирате.
    • Ако предишна инсталация или Windows Update има предстоящи промени, изискващи рестартиране, някои инсталации ще се провалят и ще ви помолят да рестартирате първо.
    • Ако приложението, което инсталирате, има приставка за друго приложение, като добавка в контекстното меню на Explorer или приставка за браузър, тя ще ви подкани да рестартирате или затворите другите приложения.
    • Понякога лошо написани инсталатори ще ви помолят да рестартирате, защото те не стартират необходимите услуги сами.

    Нека разгледаме по-отблизо някои от тези случаи, така че да можете напълно да разберете какво става.

    Файлове, които се използват, трябва да бъдат копирани при рестартиране

    Ако инсталаторът на приложения трябва да копира някои файлове, но в момента те се използват, или са системни файлове в случай на Windows Update, той ще използва функция „В очакване“ в Windows, която позволява на инсталатора да уточни, че операцията с файл се извършва след рестартиране, и преди всичко в Windows да се стартира.

    Инсталаторът ще напише ключ в следното местоположение в системния регистър:

    HKEY_LOCAL_MACHINE СИСТЕМА CurrentControlSet Контролен сесиен мениджър
    \ PendingFileRenameOperations

    Ако сте получили грешка, казвайки, че първо трябва да рестартирате, можете да отворите този ключ и ще видите всички файлове, които трябва да бъдат заменени при следващото рестартиране.

    Вероятно не искате да се забърквате със съдържанието на този ключ, иначе нещата бързо ще започнат да стават странни. Има някои много редки случаи, в които този ключ не се изпразва дори след многократни рестартирания и може да се наложи да изтриете съдържанието на ключа - но вероятно трябва да избягвате да го правите, освен ако не сте много сигурни.

    Инсталацията вече е в ход

    Някои инсталатори няма да стартират, ако има текуща инсталация, така че те ще проверят следния ключ, за да проверят дали вече има инсталация:

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

    Нямам скрийншот за този, но можете да получите идеята от името на ключа.

    Windows Update ви прави рестартиране

    Ако получавате съобщение, че не можете да инсталирате приложение, докато не рестартирате компютъра си, това се дължи на Windows Update, който изисква принудително рестартиране. Така например, ако получавате това съобщение за грешка:

    Това е, защото вероятно сте кликнали върху отлагането, когато сте видели този диалогов прозорец:

    Ако влезете в регистъра, ще видите, че има ключ за рестартиране на това място в системния регистър:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
    Автоматична актуализация

    Има цял куп GUID стойности от дясната страна и макар да не се отнасят до нищо в системния регистър, фактът, че те са там, е това, което задейства това съобщение.

    Технически бихте могли да експортирате съдържанието на ключа, да инсталирате приложението и след това да ги поставите обратно, но това може да наруши нещо, а рестартирането не е толкова болезнено,?


    Така че сега сте научили малко повече за това, защо инсталаторите на приложения работят така, както правят. Има ли нещо друго, което бихте искали да знаете? Обяснете разочарованието си в коментарите и ще видим дали не можем да хвърлим светлина върху тях.