XP installer-hakemiston siirtäminen?

Kysymys XP-guruille.

Olen tässä hämmästellyt, kun Windows XP:n (SP3) päivitykset vähä vähältä syövät miniläppärin nopean 4GB levyn tilat. Nyt on jäljellä enää muutama sata megaa, kun alkujaan oli gigan verran. Olen tyhjentänyt cachet ja poistanut Windows Update Removerilla kaikki päivitysten backupit ja siivonnut Java Runtimen Environmentin vanhat asennukset ja kaiken "turvallisesti poistettavan" tauhkan pois, mutta silti alkaa nopea levy käydä ahtaaksi.

Aloin miettiä, miten XP:n Installer on totetettu? Sehän varastoi piilotettuun hakemistoon c:\windows\installer kaiken installointikonffaustiedon, ja aivan älyttömästi kamaa siellä näkyy olevankin (gigan verran). Tätä hakemistoa ei siis voi oikein hävittää, kun sitten kaikki mahdolliset ohjelmien uudelleenasennukset ja poistamiset eivät enää toimi.

Siispä kysymys: olisi yksinkertaista siirtää koko windows\installer -hakemisto hitaammalle isolle levylle ja yksinkertaisesti etsi/korvaa-systeemillä käydä registry läpi niin että korvaa stringin "c:\windows\installer" joka paikassa stringillä "d:\windows\installer" (tai mihin sen nyt sitten siirtääkin). Toimiiko näin? Vai onko sitä stringiä c:\windows\installer ripoteltu muuallekin kuin registryyn, esim. ini-tiedostoihin?
6437
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat
  • Kiitoksia vastauksesta, pathiin lisääminen ei kuitenkaan auttane kun se stringi "c:\windows\installer" näkyy olevan kovakoodattuna registryyn varmaan yli 100 paikkaan. Eli installer etsii konffausdatojaan aina sieltä, jos vaikka haluan poistaa tai uudelleenasentaa jonkun ohjelman. Sinne registryyn voisi vaihtaa joka paikkaan "d:\windows\installer", jonne ko. hakemiston voisi siirtää, mutta villakoiran ydin on että toimiiko sittenkään vai onko se "c:\windows\installer" kovakoodattu tuhanteen muuhunkin paikkaan?

    Hienointahan tietysti olisi jos jossain päin todella määriteltäisiin installerin käyttämä path-muuttuja, mutta ilmeisesti ei koska polku on registryssä kovakoodattuna joka paikassa.

    Äänestä

  • Winkku-Uuno kirjoitti:

    Kiitoksia vastauksesta, pathiin lisääminen ei kuitenkaan auttane kun se stringi "c:\windows\installer" näkyy olevan kovakoodattuna registryyn varmaan yli 100 paikkaan. Eli installer etsii konffausdatojaan aina sieltä, jos vaikka haluan poistaa tai uudelleenasentaa jonkun ohjelman. Sinne registryyn voisi vaihtaa joka paikkaan "d:\windows\installer", jonne ko. hakemiston voisi siirtää, mutta villakoiran ydin on että toimiiko sittenkään vai onko se "c:\windows\installer" kovakoodattu tuhanteen muuhunkin paikkaan?

    Hienointahan tietysti olisi jos jossain päin todella määriteltäisiin installerin käyttämä path-muuttuja, mutta ilmeisesti ei koska polku on registryssä kovakoodattuna joka paikassa.

    Ehdin tuossa jo hetken kaipailla windowsille unixin tapaista symbolista linkkisysteemiä, jolla saisi hakemistonimen helposti viittaamaan jonnekin aivan toisaalle. Mutta senhän on jo joku kirjoittanutkin, kun NTFS kerran tukee moista. Täältä löytyy:
    http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

    On ilmainen, mutta toimii vain komentoriviltä. Siispä kopioin kaiken c:\windows\Installer -hakemistosta d:\windows\Installer -hakemistoon (alihakemistot ja kaikki piilotetutkin tiedostot attribuutit säilyttäen, eli komentorikkunan rivikomentoina (juu, olen vanhanaikainen)

    d:
    cd \
    mkdir windows
    cd windows
    mkdir Installer
    cd Installer
    xcopy -EHKOX c:\windows\installer\* .

    ja kopioinnin valmistuttua tuhosin koko Installer-hakemisto c:ltä:

    c:
    cd \windows
    cd \Installer
    del /S /ARSHA *
    cd ..
    rmdir Installer

    Ja lopuksi luodaan Installer-hakemisto uusiksi ja sitten tuolla linkin työkalulla tehdään siitä "NTFS junction" eli symbolinen linkki d-levyn vastaavaan hakemistoon:

    c:
    cd \windows
    mkdir Installer
    c:\tmp\junction.exe c:\windows\Installer d:\windows\Installer

    (tuon viimeisen rivin linkistä ladattu junction.exe on tallennettu c:\tmp-hakemistoon).

    Ja kas, nyt kun menee hakemistoon c:\windows\Installer niin siellähän näkyy kaikki se gigatavun tauhka joka ennen oli c:-levyllä mutta sijaitseekin nyt oikeasti d:llä.

    Ja minähän en sitten ota mitään vastuuta jos joku muu haluaa kokeilla samaa. Jos ei tiedä mitä on tekemässä, voi saada aikaan windowsin jota ei pysty enää päivittämään eikä softia poistamaan tai uudelleeninstalloimaan. Vähintäänkin kannattanee tehdä Installer-hakemistosta varmuuskopio jonnekin tikulle. Nyt boottaan, katsotaan käynnistyykö enää... rohkea rotan syö :)

    Äänestä

  • Winkku-Uuno kirjoitti:

    Ehdin tuossa jo hetken kaipailla windowsille unixin tapaista symbolista linkkisysteemiä, jolla saisi hakemistonimen helposti viittaamaan jonnekin aivan toisaalle. Mutta senhän on jo joku kirjoittanutkin, kun NTFS kerran tukee moista. Täältä löytyy:
    http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

    On ilmainen, mutta toimii vain komentoriviltä. Siispä kopioin kaiken c:\windows\Installer -hakemistosta d:\windows\Installer -hakemistoon (alihakemistot ja kaikki piilotetutkin tiedostot attribuutit säilyttäen, eli komentorikkunan rivikomentoina (juu, olen vanhanaikainen)

    d:
    cd \
    mkdir windows
    cd windows
    mkdir Installer
    cd Installer
    xcopy -EHKOX c:\windows\installer\* .

    ja kopioinnin valmistuttua tuhosin koko Installer-hakemisto c:ltä:

    c:
    cd \windows
    cd \Installer
    del /S /ARSHA *
    cd ..
    rmdir Installer

    Ja lopuksi luodaan Installer-hakemisto uusiksi ja sitten tuolla linkin työkalulla tehdään siitä "NTFS junction" eli symbolinen linkki d-levyn vastaavaan hakemistoon:

    c:
    cd \windows
    mkdir Installer
    c:\tmp\junction.exe c:\windows\Installer d:\windows\Installer

    (tuon viimeisen rivin linkistä ladattu junction.exe on tallennettu c:\tmp-hakemistoon).

    Ja kas, nyt kun menee hakemistoon c:\windows\Installer niin siellähän näkyy kaikki se gigatavun tauhka joka ennen oli c:-levyllä mutta sijaitseekin nyt oikeasti d:llä.

    Ja minähän en sitten ota mitään vastuuta jos joku muu haluaa kokeilla samaa. Jos ei tiedä mitä on tekemässä, voi saada aikaan windowsin jota ei pysty enää päivittämään eikä softia poistamaan tai uudelleeninstalloimaan. Vähintäänkin kannattanee tehdä Installer-hakemistosta varmuuskopio jonnekin tikulle. Nyt boottaan, katsotaan käynnistyykö enää... rohkea rotan syö :)

    Boottasipa hyvinkin. Kaikki installer-tiedostot näkyvät entiseen tapaan hakemistossa c:\windows\installer, eli XP:n installerin pitäisi löytää ne kuten ennenkin jos softien asennuksia on tarpeen modifioida. C-levyllä on kuitenkin nyt 1,4 gigaa vapaata tilaa kun ennen remonttia oli 0.4. Näinkös helppoa tämä olikin, vai vieläköhän Bill Gates kostaa jotenkin...

    Äänestä

  • Winkku-Uuno kirjoitti:

    Boottasipa hyvinkin. Kaikki installer-tiedostot näkyvät entiseen tapaan hakemistossa c:\windows\installer, eli XP:n installerin pitäisi löytää ne kuten ennenkin jos softien asennuksia on tarpeen modifioida. C-levyllä on kuitenkin nyt 1,4 gigaa vapaata tilaa kun ennen remonttia oli 0.4. Näinkös helppoa tämä olikin, vai vieläköhän Bill Gates kostaa jotenkin...

    Aavistinpa oikein, kyllä Bill Gates on pitänyt huolen siitä että ei tasan onnistu. Poistin kokeeksi Ohjauspaneelin kautta yhden pikkuohjelman, ja poistuihan se, eli asennustiedot löytyivät NTFS junctionin kautta - mutta samalla katosi kaikki Installer-hakemiston sisältö alihakemistoineen päivineen. Eli kaikki softainstallaatioiden konfiguraatiotiedot, joita tarvitaan sovellusasennusten muokkaamiseen tai poistamiseen. Installerin päästäminen käpistelemään hakemistoa NTFS junctionin kautta tuhosi ilmeisesti sekä itse junctionin että tiedostot siellä mihin linkki osoitti.

    No, onneksi oli backupit. Windowsin kanssa ei kyllä kannata yksinkertaisintakaan asiaa yrittää ilman että tekee sellaiset ensin.

    Unix-maailmassa kyllä toimii tällaiset linkitkin aivan mainiosti. Onkohan ne unix-koodaajat vain fiksumpia kuin Microsoftilla?

    Äänestä

  • Winkku-Uuno kirjoitti:

    Aavistinpa oikein, kyllä Bill Gates on pitänyt huolen siitä että ei tasan onnistu. Poistin kokeeksi Ohjauspaneelin kautta yhden pikkuohjelman, ja poistuihan se, eli asennustiedot löytyivät NTFS junctionin kautta - mutta samalla katosi kaikki Installer-hakemiston sisältö alihakemistoineen päivineen. Eli kaikki softainstallaatioiden konfiguraatiotiedot, joita tarvitaan sovellusasennusten muokkaamiseen tai poistamiseen. Installerin päästäminen käpistelemään hakemistoa NTFS junctionin kautta tuhosi ilmeisesti sekä itse junctionin että tiedostot siellä mihin linkki osoitti.

    No, onneksi oli backupit. Windowsin kanssa ei kyllä kannata yksinkertaisintakaan asiaa yrittää ilman että tekee sellaiset ensin.

    Unix-maailmassa kyllä toimii tällaiset linkitkin aivan mainiosti. Onkohan ne unix-koodaajat vain fiksumpia kuin Microsoftilla?

    Joku viisas onkin näemmä jo miettinyt oikean tavan hoitaa homma, testasin ja toimii. Gigatavu vapautui ruuhkaiselta C-levyltä, ja softa-asennusten käpistely Windows Installerilla toimii. Mahtavaa!

    http://prism-it-services.com.au/blog/free-up-space-on-your-eee-pc-automated-method/

    Äänestä

Kommentoi aloitusta


Winkku-Uuno kirjoitti:

Kysymys XP-guruille.

Olen tässä hämmästellyt, kun Windows XP:n (SP3) päivitykset vähä vähältä syövät miniläppärin nopean 4GB levyn tilat. Nyt on jäljellä enää muutama sata megaa, kun alkujaan oli gigan verran. Olen tyhjentänyt cachet ja poistanut Windows Update Removerilla kaikki päivitysten backupit ja siivonnut Java Runtimen Environmentin vanhat asennukset ja kaiken "turvallisesti poistettavan" tauhkan pois, mutta silti alkaa nopea levy käydä ahtaaksi.

Aloin miettiä, miten XP:n Installer on totetettu? Sehän varastoi piilotettuun hakemistoon c:\windows\installer kaiken installointikonffaustiedon, ja aivan älyttömästi kamaa siellä näkyy olevankin (gigan verran). Tätä hakemistoa ei siis voi oikein hävittää, kun sitten kaikki mahdolliset ohjelmien uudelleenasennukset ja poistamiset eivät enää toimi.

Siispä kysymys: olisi yksinkertaista siirtää koko windows\installer -hakemisto hitaammalle isolle levylle ja yksinkertaisesti etsi/korvaa-systeemillä käydä registry läpi niin että korvaa stringin "c:\windows\installer" joka paikassa stringillä "d:\windows\installer" (tai mihin sen nyt sitten siirtääkin). Toimiiko näin? Vai onko sitä stringiä c:\windows\installer ripoteltu muuallekin kuin registryyn, esim. ini-tiedostoihin?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu