Hmm, de vraag is "hoe veel wil je weten?"
CMD, msxml, .dll's, het Windows-register, het zijn allemaal niet de meest eenvoudige dingen.
Dus succes met m'n onderstaande post ;)
MSXML:Door Spiff: Ja, dat komt overeen met wat AdHd aangaf in de "MS ignores XML update issue" thread, denk ik.
Inderdaad, je kunt MSXML 4.0 SP2 natuurlijk altijd updaten naar SP3 indien noodzakelijk, maar dat is op zich niet echt belangrijk. Niet vanuit security-oogpunt tenminste.
Hoe Windows werkt:Door Spiff: Unregistering msxml4.ddl
Duidelijk, dank je.
Graag gedaan, er speelt "iets" meer mee (famous last words), maar dat is er wat in dit geval belangrijk is. (dll bedoel je natuurlijk = Direct Link Library)
Het commando "regsrv32" (= Register Server 32(bit) = regsrv32.exe = geregistreerd systeem-bestand (zoals msxml4.dll) en daardoor uitvoerbaar als CMD-commando) heeft betrekking op het Windows-register en komt voort uit de manier waarop het OS input verwerkt (stiekem is dat eigenlijk nog gewoon DOS). Voor eindgebruikers is het niet handig om daar te veel mee te gaan prullen.., vandaar...
Door Spiff: Door Mij, 19:13 uur:
Alleen .dll's worden geregistreerd, dus niet .mui.
En de msxml4
r.ddl ?
Goede vraag, nu krijg je de "iets" uitgebreidere reactie-versie:
Er wordt altijd gezocht naar basis-bestanden (zoals msxml4.dll). Ik ken geen uitzonderingen, al sluit dat niets helemaal uit natuurlijk.
Het kan verder geen kwaad om msxml4
r.dll ook handmatig te verwijderen uit het register (via hetzelfde CMD-commando regsrv32 dus), maar msxml4r.dll is een zgn. resource-dll en bevat niet de soort (uitvoerbare PE-) code die de basis-dll bevat. Nogmaals,
hoeveel wil je weten?
Overigens bestaat msxml4 uit ±200 bestanden, de meeste daarvan (allen?) zijn ook opgenomen in het register (ook die .mui dus), maar alléén msxml4.dll hoeft verwijderd te worden (fysiek + uit het register) om msxml4 onbruikbaar te maken.
NB: .mui = Multilingual User Interface, en zorgt er voor dat er maar één source-code nodig is voor een applicatie in meerdere talen. Ook deze bestanden zijn terug te vinden in het register (in tegenstelling tot wat ik, voor het gemak, eerder schreef) maar ze bevatten geen uitvoerbare code zoals een .dll (= vergelijkbaar met een .exe) en vormen dus géén risico.
Ook wordt er niet naar gezocht indien msxml4.dll ontbreekt. Vandaar...
NB-2: Nu zie ik net dat er ook een .ocx bij msxml4 zit, die zijn in theorie dan weer wél kwetsbaar (.ocx = OLE Control Extension, heeft te maken met ActiveX + COM/DCOM), maar ik ga er van uit (met >99% zekerheid, toch slecht eigenlijk) dat ook deze *.ocx onbruikbaar wordt bij het ontbreken van de basis-.dll.
Als je echt para bent kun je ocx-bestanden op exact dezelfde wijze verwijderen als dll's.
Door Spiff: Enkel wanneer iemand zeker zou weten dat de software die afhankelijk was van MSXML 4 is verwijderd
...
en met de computer van een vriendin die ik assisteer met haar computer geen onnodige risico's wil aangaan, zal ik MSXML 4.0 SP3 daarop negeren, ook al 'waarschuwt' haar Secunia PSI daarop dat MSXML 4 end of life is.
Dat lijkt me verstandig.
Als je het er niet zelf op hebt gezet, kun je het beter niet verwijderen !!!Je kan het wel doen en dat levert hoogstwaarschijnlijk helemaal geen problemen op bij dagelijks gebruik.
Maar als je een keer iets (anders?!) tegenkomt en je neemt contact op met een helpdesk, kan het zijn dat hun oplossing niet meer werkt omdat die oplossing (indirect) afhankelijk is van msxml4. Lijkt misschien een beetje vergezocht, maar ik ben al gekkere dingen tegengekomen, al helemaal met JDK's en aan hardware-gerelateerde software!
Drivers zijn een ander verhaal en hebben nooit iets met msxml te maken voor zover ik weet.
Bij een verse OS-installatie zou ik het logischerwijs alléén installeren als dat nodig is.Door Spiff: En geïnteresseerd geraakt door wat Eric-Jan H te A aanstipte betreffend unregistering .dll-files,
heb ik daar nog twee vragen over:
1.
Is unregistering van een .dll-file bij een andere gelegenheid eens werkelijk nodig,
moet Regsvr32 /u dan uitgevoerd worden vanuit de locatie van die betreffende dll-file,
of ... ?
Uit de diverse bronnen die ik erover vond werd dat niet duidelijk.
2.
En moet eerst Regsvr32 /u <dll-naam> worden uitgevoerd ... of ... ?
Het wordt allebei genoemd, in verschillende bronnen.
Ja da's lastig allemaal, je zou eens op zoek kunnen gaan naar een studie? :p (Grapje, maar ik denk wel dat je het leuk zou vinden / iets op kan leveren).
Weer niet om in te breken, als Eric-Jan er iets anders van vindt horen we het vanzelf:
1] Het is alleen nodig als de uninstaller niet werkt / er niet is, en de software ook niet verwijderd kan worden via het configuratiescherm (= in feite hetzelfde). Dit is namelijk één van de dingen die "uninstall" hoort te doen.
Juist door een bestand te registreren zorg je er voor dat Windows dat bestand kan vinden / commando kan uitvoeren ongeacht vanuit welke locatie dat bestand / commando wordt aangeroepen (opnieuw, DOS!).
Het ZOU dus niet uit mogen maken vanuit welke directory je het commando uitvoert, noch waar het bestand fysiek is opgeslagen.
Dat het in dit geval ook nog in een systeem-directory staat laat ik nu even buiten beschouwing, dat hoeft namelijk niet altijd zo te zijn, wat dat betreft is je vraag 100% valide.
Voor de duidelijkheid: Als je het bestand fysiek verwijdert kan een vermelding in het register op zich geen kwaad t.a.v. security, de gevolgen hebben meer betrekking op stabiliteit en leesbaarheid van foutberichten.
2] In feite maakt de volgorde niets uit. Als je de bestanden ook via CMD (bijv. een script) verwijdert, is het handiger eerst de bestanden te verwijderen (Windows kan die dan nog makkelijk vinden dmv wildcards namelijk) en pas daarna de verwijzingen in het register op te ruimen. Zo doen uninstallers dat ook, als je het handmatig doet is er geen verschil.
Als een bestand nog geladen is in een actief proces, dien je eerst dat proces te stoppen natuurlijk. Het kan ook zijn dat je eerst de register-vermeldingen moet verwijderen, daarna opnieuw op moet starten en pas dan in staat bent om de bestanden van de schijf af te gooien. Vooral bij malware is dat vaak het geval, dat zal een mogelijke oorzaak zijn van de elkaar tegensprekende bronnen / werkwijzen, al komt er in het geval van malware vaak nog "iets" meer bij kijken (attrib, runonce, boot-commands etc.), maar dat laat ik nu even voor wat het is.
Algemeen mbt uninstallers:In sommige situaties zou het wenselijk kunnen zijn dat er bepaalde verwijzingen uit het register worden gehaald en dat er bepaalde bestanden worden verwijderd die achterblijven na een -al dan niet succesvolle- "uninstall."
Ikzelf gebruik al jaren REVO om software te verwijderen (ipv uninstallers van de software zelf) en auslogics voor basis-onderhoud (ipv MS-tools) en heb daar nog nooit problemen mee / door gehad, maar feit blijft wel dat sommige zaken (zoals het register) niet gemaakt zijn om handmatig (als eindgebruiker) mee te gaan stoeien.
Het veelgebruikte argument uit MS-hoek dat het allemaal niet uitmaakt t.a.v. prestaties / stabiliteit is ook niet waar, het scheelt niet veel per entry / bestand, maar op een moment worden vele kleine druppels wel een enorme plas water, mede daarom loopt een verse installatie ook zo lekker snel.
CCleaner wordt vaak aangeraden en is ook prima, maar heeft hetzelfde probleem:
Voor mij werkt het 'handmatig' onderhouden van het register (+ systeem) prima en foutloos, maar als het een keer fout gaat zit je waarschijnlijk wel gelijk met allerlei vervelende problemen zoals onbegrijpelijke foutmeldingen, BSOD's en opstart-issues. Als je al niet 100% bekend bent met het verwijderen van entries wordt het oplossen van die problemen nog een hele uitdaging, zelfs met een back-up / systeemherstel. Dus vandaar de veelgenoemde adviezen om je register met rust te laten, verborgen bestanden niet weer te geven, etc.
Als het niet veel uitmaakt of een systeem werkbaar blijft zou ik juist zeggen dat het wel leerzaam kan zijn om je hier in te verdiepen. Maar natuurlijk NIET op het systeem van een vriendin! (Tenzij je van haar hulpvragen af wil natuurlijk :p)
Man man, wat een verhaal, wel leuk om eens wat info te kunnen delen (nerd-factor 9) hopelijk is het wat duidelijker zo, als er nog vragen zijn...