2010-02-10 31 views
6

Chúng tôi đang phát triển một ứng dụng ClickOnce với hỗn hợp các thành phần .NET và các thành phần C++ COM cũ.Có thể sử dụng các lớp .NET có thể nhìn thấy được với đăng ký COM miễn phí không?

Hiện tại chúng tôi đang bổ sung các thành phần C++ COM vào máy của người dùng bằng MSI (đây là điều kiện tiên quyết để cài đặt ứng dụng ClickOnce) có nghĩa là chúng tôi có thể đăng ký trước đối tượng COM trên máy của người dùng.

Chúng tôi vẫn có thể đẩy các bản cập nhật cho phần còn lại của ứng dụng được viết bằng C# qua ClickOnce, nhưng việc cập nhật các thành phần được cài đặt bởi MSI yêu cầu can thiệp thủ công. Tuy nhiên, chúng tôi đang cố gắng tìm ra nếu có thể cài đặt các thành phần COM C++ thông qua đăng ký COM miễn phí, nghĩa là chúng đều nằm trong cùng một thư mục, và mỗi thành phần có một tệp kê khai chỉ định clsid cho mỗi COM đối tượng và giao diện. Điều này có nghĩa là chúng ta có thể loại bỏ hoàn toàn MSI.

Điều này link đã là một giới thiệu tốt về chủ đề này.

Tôi đã có thể nhận được một thành phần .NET để tải đối tượng COM C++, nhưng không phải là cách khác.

Có ai biết nếu điều này là có thể không?

Trả lời

5

Có, điều đó là có thể. Bạn cần phải sử dụng phần tử <clrClass> trong tệp kê khai. Có một cách thích hợp để located here. Các tài liệu SDK là nếu không khá khổ sở, bạn sẽ cần Junfeng Zhang's blog để có được thông tin cơ bản tốt hơn.

Các vấn đề liên quan