Sau asking about what Visual Studio does to register a COM Library, nó trở nên rõ ràng rằng VS đã làm hai việc đăng ký COM:Typelib Generation và cài đặt với WiX
- đăng ký COM Library
- Tạo và đăng ký một thư viện kiểu
trực quan Studio dường như thực hiện việc đăng ký này bằng regasm.exe. Đối với phần đầu tiên (đăng ký COM trực tiếp) sử dụng tallow
hoặc heat
(WiX 2.0 hoặc WiX 3.0) dường như nhận được tất cả thông tin đăng ký COM cơ bản chính xác.
Tuy nhiên, những gì tallow/nhiệt dường như không làm là thiết lập cài đặt thư viện kiểu. Nó sẽ có thể tạo ra một hành động tùy chỉnh để làm điều này với một trình cài đặt WiX và regasm.exe, nhưng gọi hành động tùy chỉnh không phải là thực hành tốt nhất khi nói đến trình cài đặt dựa trên trình cài đặt Microsoft.
Sau khi nghiên cứu thêm, có vẻ như một msi có khả năng tạo thư viện kiểu khi cài đặt. Trong thực tế, WiX dường như có sự hỗ trợ trực tiếp cho nó! Trong phần tử tệp, bạn có thể thêm phần tử Typelib. Trên thực tế, an article over here on wix có ví dụ về việc điền phần tử TypeLib với các phần tử Interface.
Dường như có ít nhất hai thuộc tính cần thiết để một yếu tố giao diện:
- Id
- Tên
Larry Osterman speaks about the other parts of the interface that need to be registered for a TypeLib in general, nhập cảnh giao diện này có vẻ để chăm sóc các bộ phận cá nhân. Larry nói rằng chúng ta cần phải xác định ProxyStubClassId32 là "{00020424-0000-0000-C000-000000000046}", vì vậy chúng ta có thể dễ dàng thêm điều đó.
Nơi để đi từ đó và những gì cần điền cho các yếu tố Giao diện khác nhau đã khiến tôi bối rối. Tôi đã đi trước và thêm phần tử TypeLib vào tệp wix của tôi và nó biên dịch thành công. Tôi là một chút clueless như thế nào để thiết lập các yếu tố giao diện mặc dù. Chúng ta cần phải làm gì để điền vào phần tử TypeLib đúng cách và tôi có thể sử dụng những ứng dụng hoặc công cụ nào để có được nó?
Câu trả lời dưới đây của wcoenen có vẻ hứa hẹn ... Tôi sẽ cho nó một shot.
Cập nhật: Đã đăng giải pháp cuối cùng của tôi dưới đây làm câu trả lời.
+1, tôi muốn tất cả các câu hỏi trên trang web này được viết như thế này ... –
Heh, tôi cho nó ảnh đẹp nhất của tôi. :) –