If-Koubou

Miksi useita ohjelmia ei voi poistaa samanaikaisesti Windowsissa?

Miksi useita ohjelmia ei voi poistaa samanaikaisesti Windowsissa? (Miten)

Oletetaan, että sinulla on pieni joukko ohjelmia, jotka haluat poistaa Windows-järjestelmästä, mutta Windows saa vain poistaa ne käytöstä kerrallaan. Miksi niin? Mikä estää sinua poistamaan useita ohjelmia samanaikaisesti?

Tämän päivän kysymys- ja vastausistunto tulee meihin SuperUserin hyväksi - Stack Exchangein alaosasto, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

SuperUser-lukija Jeroen Bollen haluaa tietää, miksi henkilö ei pysty poistamaan useita ohjelmia samanaikaisesti Windowsissa:

Miksi Windows estää sinua poistamaan tai poistamaan useita ohjelmia samanaikaisesti? Mikä on perustelu tämän takana? Haittaako se sisäisen järjestelmän?

En halua poistaa samanaikaisesti useita ohjelmia, vaan etsin syytä (syitä), miksi se ei olisi vaihtoehto.

Mitä se estää ihmisiä poistamasta useita ohjelmia samanaikaisesti Windowsissa?

Vastaus

SuperUser-avustajat ultrasawblade ja techie007 ovat meille vastaus. Ensin ylös, ultrasawblade:

Jos luet mitään Windowsin asennusjärjestelmän toimivuudesta, on ilmeistä, että ne käyttivät joitain ideoita transaktiotietokannoista ohjelmoimaan asennusta ja huoltoa, puhumattakaan siitä, että .msi tiedostot ovat tietokanta.

Kysymys on aina tietokannan suunnittelussa - haluatko nopeuden tai tarkkuuden / turvallisuuden? Koska asentajat voivat muokata järjestelmän kokoonpanoa ja epäonnistuminen saattaa järjestelmän toimimattomaksi, turvallisuus on asetettu etusijalle nopeuden suhteen.

Yksi syy siihen .msi asennusohjelmat ovat niin hidas, koska jokaiselle tiedostolle, joka muokataan ja poistetaan sen jälkeen, muutetaan tiedostoja jne., jolloin kaikki muutokset voidaan "rullata takaisin", jos jokin asia menee pieleen kesken asioita (kuten sähkökatkoksen tai järjestelmä kaatuu).

Nyt uskon, että MSI-moottori itse valvoo vain yhden ohjelman asennusta, muuttamista tai poistamista kerrallaan. Jos yrität ajaa .msi tiedosto, kun taas toinen poistaa asennuksen, esimerkiksi se ei käynnisty tai odottaa käynnissä olevan asennuksen poistamisprosessia. Muut kuin MSI-asentimet eivät välttämättä toimi tällä tavalla, koska ne eivät käytä MSI-moottoria. Mutta tämän turvallisuusmallin päätöksen vuoksi tämä on luultavasti mahdollista appwiz.cpl vaatii kerrallaan vain yhden asennuksen poistamisen.

CCleanerin avulla voit aloittaa asennuksen poistamisen odottamatta aiemmin käynnistyneitä, mutta MSI: n asentimet eivät todennäköisesti toimi rinnakkain edellä kuvatulla tavalla.

Seuraa techie007: n vastausta:

Tämä koskee vain ohjelmia, jotka käyttävät Windows Installer -järjestelmää.

Jos ohjelma käyttää omia (un) asennusjärjestelmiään, niin mikään ei estä sinua käyttämästä toista poistoa samanaikaisesti.

Windows Installer rajoittaa tapaamien määrää, jotta vältetään useiden ohjelmien tekemät ristiriidat samalla, kun ne muuttavat järjestelmällisiä (usein jaettuja) asetuksia ja tiedostoja.

Useimmat poisto-ohjelmat poistavat, mitä he ovat muuttaneet, jotta he voivat palata menestyksekkäästi, jos epäonnistuu. Jos joku ei ole tietoinen kaikista muutoksista (muut poistotyökalut), se saattaa oikeastaan ​​tehdä asiat HÄVITTÄÄ, jos se yrittää palauttaa epäonnistuneen asennuksen.

Windows Installer -järjestelmä luotiin tarkoituksena olla yhtenäinen järjestelmä, jota kaikki sovelluskehittäjät voivat käyttää (Windowsissa) näiden ongelmien välttämiseksi.

Onko jokin asia lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä? Katso koko keskusteluketju täältä.