Miks te ei saa Windowsis mitut programmi desinstallida?
Oletame, et teil on väike hulk programme, mida soovite oma Windowsi süsteemis desinstallida, kuid Windows laseb teil need ükshaaval eemaldada. Miks nii? Mis peatab mitme programmi samaaegse eemaldamise?
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Küsimus
SuperUser-lugeja Jeroen Bollen tahab teada, miks inimene ei saa Windowsis mitut programmi samaaegselt eemaldada:
Miks Windows hoiab teid mitmete programmide üheaegsel eemaldamisel või eemaldamisel? Mis on selle põhjus? Kas see segaks sisemist süsteemi?
Ma ei taha samaaegselt mitut programmi eemaldada, ma otsin lihtsalt põhjust (põhjuseid), miks see ei oleks valik.
Mis takistab inimestel mitme programmi samaaegset eemaldamist Windowsis?
Vastus
SuperUser'i toetajad ultrasawblade ja techie007 on meile vastuseks. Esimene üles, ultraheli:
Kui loete midagi Windowsi installi süsteemi toimimise kohta, on ilmselge, et nad rakendasid mõningaid ideid tehingute andmebaasidest installimise ja hoolduse programmeerimiseks, rääkimata sellest, et .msi failid ise on andmebaas.
Iga andmebaasi kujundamisel on alati küsimus - kas soovite kiirust või täpsust / ohutust? Arvestades, et paigaldajad saavad süsteemi konfiguratsiooni muuta ja et häire võib muuta süsteemi kasutuskõlbmatuks, on ohutusele seatud prioriteet kiiruse üle.
Üks põhjus, miks .msi paigaldajad on nii aeglased, sest iga faili jaoks tehakse tagasipöördumisfaile, mida muudetakse ja kustutatakse hiljem, võimaldades kõikidel muudatustel „tagasi tõmmata”, kui midagi läheb asjade keskel (näiteks voolukatkestus või süsteemi krahhi).
Nüüd usun, et MSI mootor ise teostab korraga ainult ühe programmi installimist, muutmist või eemaldamist. Kui proovite käivitada .msi näiteks siis, kui teine on desinstallida, siis see ei käivitu või ootab parajasti töötava desinstallimisprotsessi lõppemist. Mitte-MSI paigaldajad ei pruugi sellisel viisil käituda, kuna nad ei kasuta MSI mootorit. Kuid selle ohutuse tagamise otsuse tõttu on see ilmselt põhjus appwiz.cpl nõuab, et korraga kutsutakse ainult üks desinstaller.
CCleaner võimaldab teil eemaldada desinstalleerijaid ilma, et ootaksid eelnevalt töötavad, kuid MSI paigaldajad ei pruugi ülalnimetatud andmete tõttu paralleelselt töötada..
Järgneb techie007 vastus:
See kehtib tõesti ainult Windows Installeri süsteemi kasutavate programmide kohta.
Kui programm kasutab oma (un) installer-süsteeme, siis ei takista see ühtegi teist desinstallerit samaaegselt käivitamast.
Windows Installer piirab selliste eksemplaride arvu, et vältida konflikte mitme programmi ajal, kui nad muudavad kogu süsteemi (sageli jagatud) seadeid ja faile.
Enamik desinstalleerijaid jälgib, mida nad muudavad, et nad saaksid tõrke korral edukalt tagasi pöörduda. Kui keegi ei ole teadlik kõigist tehtud muudatustest (teiste desinstallijate poolt), siis võib see tegelikult asju WORSE teha, kui ta üritab ebaõnnestunud installimist tagasi lükata.
Windows Installeri süsteem loodi eesmärgiga olla ühtne süsteem kõigi rakenduste arendajatele, mida kasutada (Windowsis), et aidata vältida selliseid probleeme.
Kas teil on midagi lisada selgitusele? Heli on kommentaarides välja lülitatud. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.