Zitat von
tommie-lie:
Also müsste MSXML4 auch automatisch MSXML3 mitinstallieren, damit alte Anwendungen weiterhin laufen (sofern MSXML3 nicht schon auf dem System vorhanden ist), wenn meine obigen Vermutungen stimmen.
Nein, das müsstest du tun bzw. der Anwender.
XML 4 registriert nur die Interfaces für sich selbst und lässt andere außen vor. Im
PSDK kannst du das auch nachlesen:
Zitat von
PSDK:
After you install
MSXML 4.0, applications that use version-independent ProgIDs continue to run using the latest version of
MSXML prior to version 4.0. To use version 4.0, applications must be written to use the appropriate version-dependent class IDs (CLSIDs) and ProgIDs that reference Msxml4.dll.
This ensures stability in your applications. It also enables customers to implement new and improved versioning solutions by using the side-by-side installation technology provided with Windows XP.
(ms-help://MS.PSDK.1033/xmlsdk/htm/sdk_guidprogid_367i.htm)
Zitat von
tommie-lie:
Demnach müsste es eigentlich genügen, wenn ich mein Objekt über die
GUID von "MSXML2.DOMDocument" erzeuge, ohne irgendwelche Interfaceversion dahinter. Oder hab' ich was übersehen?
Das ist korrekt, setzt aber wie gesagt voraus, dass eine entsprechende "alte" Version vorhanden ist. Ist aber kein Problem, denke ich. Hier im Forum findest du irgendwo eine "DoesXMLExist"-Funktion, deren Class-ID (benutzt wird die von "DomDocument40") du gegen die von dir benutzte unabhängige ID austauschen kannst.