2012-03-16 24 views
6

Tôi có một thư viện kiểu trong một ứng dụng bổ trợ Excel 32 bit.Cách chuyển một typelib 32 bit sang dự án 64-bit (trong khi ngăn ngừa tình trạng tịch thu)

Tôi cần dịch toàn bộ ứng dụng sang 64 bit.

enter image description here

tôi không thể chỉ cần sao chép dán typelib, vì GUID sẽ xung đột với các ứng dụng 32-bit đã được cài đặt, như trên cho việc đặt tên.
Cách tốt nhất để dịch ứng dụng sang 64 bit theo cách nào tránh được xung đột tên?

Hoặc có một số cơ chế tự động giải quyết các xung đột tên và GUID mà tôi không biết?

+0

[Windows 64 bit đăng ký v.s. Đăng ký 32 bit] (http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry) có thể hữu ích. – kobik

+0

Vì vậy, bạn có một ứng dụng XE2 với cấu hình 32 bit và cấu hình xây dựng 64 bit và bạn chỉ cần chuyển đổi cấu hình xây dựng và xây dựng lại. Đúng? Nếu câu trả lời của david là chính xác (như tôi nghi ngờ nó là) thì đó là tất cả để có nó. –

+0

@WarrenP Đúng vậy. Tôi đã không làm điều này với một add-in Excel COM (nhưng, nó rất cao trên danh sách TODO của tôi), nhưng tôi đã làm điều này với một phần mở rộng vỏ một vài năm trở lại. Điều gọn gàng là bạn sử dụng mã giống nhau ở mọi khía cạnh và chỉ nhắm mục tiêu x86 hoặc x64. Không yêu cầu biên dịch có điều kiện nào cả. –

Trả lời

11

Máy chủ COM 32 bit và 64 bit được đăng ký trong các chế độ xem đăng ký khác nhau. Vì vậy, các quy trình 32 bit và các quy trình 64 bit tồn tại trong các không gian tên GUID rời rạc. Nói cách khác, bạn sử dụng cùng GUID cho cả phiên bản 32 và 64 bit. Trình chuyển hướng đăng ký thực hiện phần còn lại.

+0

Cảm ơn David, tôi nghi ngờ (và hy vọng) đó sẽ là trường hợp. – Johan

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