2009-07-02 19 views
6

tôi có một sự phụ thuộc vào MSXML 4.0.Điều gì đã trở thành của MSXML 4.0?

Microsoft có một trang cung cấp cho the CLSID and ProgIDs of various MSXML 4.0 đối tượng:

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 

Nhưng không ai trong số các ProgID s hoặc CLSID s đã được đăng ký trên Vista máy của tôi, hoặc trên XP máy đồng nghiệp của .

  • Đã MSXML 4,0 chỉ xuất xưởng với một số phiên bản của Office (ví dụ Office 2003)?
  • Ban đầu nó có xuất xưởng với Windows XP, nhưng gói dịch vụ sau đã xóa nó không?
  • Đã có lỗ hổng bảo mật và đã là bị xóa?
  • Đơn giản chỉ là được khắc phục?

tôi sẵn sàng để di chuyển đến 5,0MSXML, mà sẵn trên các máy Windows XP và Windows Vista - nhưng tôi muốn chắc chắn rằng tôi có khả năng tương thích rộng nhất có thể; và tôi đã nghĩ rằng MSXML 4.0 sẽ phổ biến rộng rãi hơn MSXML 5.0.

Microsoft không recommend that i use MSXML 6.0:

Chúng tôi đề nghị bạn nâng cấp từ phiên bản trước của MSXML để MSXML 6.0. MSXML 6.0 cung cấp bảo mật và cải tiến hiệu suất trên các phiên bản MSXML cũ hơn.

+1

Đã sử dụng MSXML trước đây, tôi khuyên bạn nên "nâng cấp" lên System.Xml từ .NET. Tôi đã làm. –

+0

Nếu tôi có thể mất một sự phụ thuộc vào System.Xml, mà không yêu cầu Thời gian chạy ngôn ngữ chung, thì tôi đang ở! –

+0

Không chắc chắn bạn có nghiêm túc hay không, nhưng ... Không, bạn không thể phụ thuộc vào System.Xml mà không phụ thuộc vào CLR. – Cheeso

Trả lời

8

Đơn giản là không được chấp thuận vì lợi ích của MSXML 6.0. This blog entry from the Microsoft XML team đi qua lịch sử của MXSML. Không phải tôi đưa ra bởi "... trong Internet Explorer" một phần của tiêu đề, lịch sử trên trang đó hoàn toàn độc lập với IE.

Trong phần "MSXML Vòng đời và lịch sử" trong blog entry, tác giả khẳng định rằng:

MSXML4 là một tiền thân của MSXML6 nhưng chưa bao giờ được vận chuyển trong hệ thống điều hành. MSXML6 là bước quan trọng về phía trước trong điều khoản của độ tin cậy, bảo mật, W3C và Khả năng tương thích của hệ thống.Xml và nó cũng có hỗ trợ cho môi trường 64 bit bản địa.Hiện tại chúng tôi đang đầu tư nhiều hơn vào MSXML6 và MSXML3 và chúng tôi đang khuyến khích các khách hàng chuyển sang 6 khi có thể và 3 khi cần thiết.


OP sửa: Điều quan trọng cần lưu ý là MSXML3 được phát hành trước W3C quyết định chọn một đặc điểm kỹ thuật XSD thức. Cuối cùng W3C đã đi với một cú pháp XSD khác với những gì Microsoft đã tạo cho MSXML3. MSXML6 hoàn toàn tương thích với lược đồ XSD đã chọn của W3C.

Điều này có nghĩa là MSXML3 và MSXML6 là không tương thích với nhau; và MSXML3 không sử dụng tiêu chuẩn XSD.

4

Check-out Q & Một which-version-of-msxml-should-i-use?

Câu trả lời ngắn cho bạn là: sử dụng MSXML6.

+0

MSXML 5.0 là một phần của Office 2003 mà tôi tin tưởng. Có lẽ năm 2007 là tốt. MSXML 4.0 là một phiên bản cũ hơn của những gì đã trở thành 6.0 (nhờ đội Office!) Và nó yêu cầu triển khai giống như 6.0 trên hệ thống downlevel. Nếu bạn không thể sử dụng dự phòng (3.0) thì hãy liên kết với 6.0. – Bob77

2

MSXML4 SP3 là một lựa chọn sao lưu với những điểm nổi bật:

  • Cải thiện an ninh và độ tin cậy. Loại như MSXML6!
  • Không có SP nào khác được lên kế hoạch để di chuyển sang MSXML6 nếu bạn có thể.
  • MSXML4 SP2 hỗ trợ kết thúc vào ngày 13/4/2010 theo ghi chú phát hành.

Nếu bạn thực sự không thể di chuyển khỏi MSXML4, SP3 là một lựa chọn tốt cho bạn. Tôi đã khéo léo ám chỉ một lựa chọn tốt hơn, nhưng tôi sẽ không muốn lặp lại bản thân mình.

+0

Và MSXML4 SP3 sẽ tự kết thúc hỗ trợ vào tháng 4 năm 2014. –