2009-07-02 14 views
6

ho una dipendenza su MSXML 4.0.Cosa è successo a MSXML 4.0?

Microsoft ha una pagina che dà the CLSID and ProgIDs of various MSXML 4.0 oggetti:

Symbolic Name: CLSID_DOMDocument40 
     GUID: {88d969c0-f192-11d4-a65f-0040963251e5} 
     ProgID: Msxml2.DOMDocument.4.0 

Symbolic Name: CLSID_XMLSchemaCache40 
     GUID: {88d969c2-f192-11d4-a65f-0040963251e5} 
     ProgID: Msxml2.XMLSchemaCache.4.0 

Ma nessuno dei ProgID s o CLSID s sono registrati sul mio Vista macchina, oppure su XP macchina del collega .

  • Era MSXML 4.0 solo fornito con una certa versione di Office (ad esempio Office 2003)?
  • Spedito originariamente con Windows XP, ma un service pack successivo lo ha rimosso?
  • Esiste una vulnerabilità di sicurezza ed è stato privato?
  • È stato semplicemente privato?

io sono disposto a trasferirsi a MSXML 5.0, che è disponibili sulle macchine di Windows XP e Windows Vista - ma mi piacerebbe essere sicuri che ho la più ampia compatibilità possibile; e avrei pensato che MSXML 4.0 sarebbe stato più ampiamente disponibile rispetto a MSXML 5.0.

Microsoft fa recommend that i use MSXML 6.0:

Si consiglia di effettuare l'aggiornamento dalle versioni precedenti di MSXML per MSXML 6.0. MSXML 6.0 fornisce sicurezza e miglioramenti delle prestazioni rispetto alle versioni precedenti di MSXML .

+1

Dopo aver utilizzato MSXML in precedenza, si consiglia di eseguire l'aggiornamento a System.Xml da .NET. L'ho fatto. –

+0

Se posso prendere una dipendenza su System.Xml, senza richiedere Common Language Runtime, allora sono dentro! –

+0

Non sei sicuro se sei serio, ma ... No, non puoi fare affidamento su System.Xml senza dipendere anche dal CLR. – Cheeso

risposta

8

È stato semplicemente deprecato in favore di MSXML 6.0. This blog entry from the Microsoft XML team passa attraverso la cronologia di MXSML. Non rimandare la parte "... in Internet Explorer" del titolo, la cronologia su quella pagina è completamente indipendente da IE.

Nella sezione "MSXML del ciclo di vita e la storia" in quella voce del blog, l'autore afferma che:

MSXML4 è stato un predecessore di MSXML6 ma non ha mai spedito nel sistema operativo . MSXML6 è un significativo passo in avanti in termini di affidabilità, sicurezza, compatibilità W3C e System.Xml , e anche ha il supporto per ambienti nativi a 64 bit .Al momento siamo investendo molto più pesantemente in MSXML6 e MSXML3 e stiamo incoraggiando i nostri clienti a spostarsi a 6 quando possibile e 3 quando necessario.


OP Modifica: E 'importante notare che è stato rilasciato MSXML3 prima W3C ha deciso su una specifica finale XSD. Alla fine, il W3C è andato con una sintassi XSD diversa da quella che Microsoft aveva creato per MSXML3. MSXML6 è completamente compatibile con lo schema XSD scelto dal W3C.

Ciò significa che MSXML3 e MSXML6 sono non compatibili l'uno con l'altro; e MSXML3 non utilizza lo standard XSD.

4

Scopri i Q & A which-version-of-msxml-should-i-use?

La risposta breve per voi è: Utilizza MSXML6.

+0

MSXML 5.0 fa parte di Office 2003, credo. Forse anche il 2007. MSXML 4.0 era una versione precedente di ciò che diventava 6.0 (grazie al team di Office!) E richiede un'implementazione come la 6.0 sui sistemi downlevel. Se non è possibile utilizzare il fallback (3.0), continuare con 6.0. – Bob77

2

MSXML4 SP3 è un'opzione di backup con questi punti salienti:

  • maggiore sicurezza e affidabilità. Un po 'come MSXML6!
  • Se non è possibile pianificare altri SP, migrare a MSXML6.
  • Supporti MSXML4 SP2 termina il 4/13/2010 in base alla nota di rilascio.

Se davvero non riesci a spostarti da MSXML4, SP3 è una buona opzione per te. Ho anche accennato a un'alternativa migliore, ma non vorrei ripetermi.

+0

E MSXML4 SP3 finirà il supporto a partire da aprile 2014. –