Tôi đã tạo một assembly .NET cho COM interop và nó hoạt động tốt trên máy phát triển của tôi. Tôi hiện đang cố gắng tìm ra cách triển khai DLL cho một máy tính mục tiêu bằng cách sử dụng "Dự án thiết lập" của Visual Studio. Làm cách nào tôi có thể sử dụng dự án thiết lập Studio VIsual để thực hiện những việc sau:Sử dụng Visual Studio Setup Project để tự động đăng ký và GAC một COM Interop DLL
- Đăng ký lắp ráp (hiện đang sử dụng
regasm
).- Hội đồng cần được đăng ký thành công
và thư viện loại (.tlb) cần được đăng ký thành công. - This answer đề nghị loại bỏ
regasm
có lợi cho mã tùy chỉnh. Tôi đây là một ý tưởng tốt? Nếu vậy, mã này được bao gồm trong dự án thiết lập như thế nào? - This answer đề xuất sử dụng lệnh
/regfile
củaregasm
và sau đó sử dụng công cụ nhập trên Cơ quan đăng ký trong Dự án thiết lập. Điều này có hiệu quả không?
- Hội đồng cần được đăng ký thành công
- Cài đặt assembly vào GAC (hiện đang sử dụng
gacutil
)- Tôi nhận thức được "toàn cầu hội cache Folder" trong "File System trên máy mục tiêu." Có điều gì đặc biệt tôi cần phải làm trong đó bao gồm cả lắp ráp trong dự án thiết lập không?
Bất kỳ lời khuyên hoặc quan tâm nào khác sẽ được đánh giá cao.
Thuộc tính đăng ký được đặt thành 'vsdrpCOM' sẽ tự động tạo và đăng ký tệp .tlb không? Nếu không, làm thế nào để tôi bao gồm .tlb trong dự án thiết lập (nó dường như không thích được chia sẻ trong thư mục GAC trong dự án thiết lập)? –
Đó là một điểm tuyệt vời. Tôi đã quá quen với việc gõ 'regasm/tlb ... 'mà tôi cho rằng tôi sẽ cần nó, nhưng bạn mang đến một điểm tuyệt vời - máy khách sẽ không viết mã chống lại những hội đồng này. Cảm ơn rất nhiều. –
Để trả lời câu hỏi của Ben trong bình luận của mình, sử dụng vsdrpCOM * sẽ * tự động tạo và đăng ký tệp .tlb. – Keith