Thật không may câu trả lời ở đây cho đến nay không hoàn toàn bao gồm tất cả các cơ sở.
Mã sản phẩm
này không xuất hiện là đáng tin cậy - chúng tôi đang tìm kiếm một phiên bản tối thiểu, không phải là một phiên bản cụ thể. Mặc dù mã sản phẩm theo lý thuyết chỉ được phép thay đổi cho các phiên bản chính, phiên bản VSTO trên máy của tôi - 10.0.40303 - có mã sản phẩm là {A0FE0292-D3BE-3447-80F2-72E032A54875}. Điều này cho thấy rằng Microsoft không nhất thiết phải giữ chúng ổn định, vì vậy tôi đề nghị đây không phải là một lựa chọn tốt.
Phiên bản tệp
Một lựa chọn khác có thể để kiểm tra sự hiện diện/phiên bản của VSTO Assemblies mình, mà thường có thể là% Program Files% \ Common Files \ Microsoft Shared \ VSTO \ 10.0. Tuy nhiên tôi muốn nói thư mục này không được bảo đảm - thư mục thực sự xuất hiện để được chỉ định trong sổ đăng ký, nhưng rõ ràng giải pháp này hiện không tốt hơn là chỉ nhận phiên bản từ sổ đăng ký trực tiếp ...
Registry
Vì vậy, bằng cách đăng ký có lẽ là tùy chọn duy nhất còn lại.
Thật không may, phiên bản thời gian chạy VSTO có thể xuất hiện ở bất kỳ một trong 4 địa điểm đăng ký:
- HKLM \ SOFTWARE \ Microsoft \ VSTO Runtime Setup \ v4 (32-bit, VSTO cài đặt từ Văn phòng lắp đặt 2010)
- HKLM \ SOFTWARE \ Microsoft \ VSTO Runtime Setup \ v4R (32-bit, VSTO cài đặt từ phân phối)
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ VSTO Runtime Setup \ v4 (64 bit, VSTO cài đặt từ Văn phòng lắp đặt 2010)
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ VSTO Runtime Setup \ v4R (64-bit, VSTO cài đặt từ phân phối)
Lưu ý: Tôi không có một nguồn dứt khoát cho điều này - tôi đang trộn lẫn các bit thông tin từ, ví dụ: this blog post by Wouter van Vugt và this SO answer. Có thể còn nhiều hơn thế nữa.
Bên cạnh đó, có thể có yêu cầu phiên bản tối thiểu, mặc dù tôi nghi ngờ rằng trong thực tế này sẽ chỉ ảnh hưởng đến người chạy các phiên bản tiền phát hành của Office 2010:
Visual Studio 2010 Công cụ cho runtime Văn phòng cũng tàu với Microsoft Office 2010. Tuy nhiên tại thời điểm Office 2010 RTM, thời gian chạy với Office chỉ hỗ trợ các giải pháp Office nhắm mục tiêu Khuôn khổ .NET 3.5. Nếu giải pháp của bạn nhắm mục tiêu Khuôn khổ .NET 3.5, nó có thể chạy hoặc nếu Office 2010 được cài đặt hoặc nếu Visual Studio 2010 Công cụ cho Office Runtime redistributable được cài đặt. Nếu các giải pháp văn phòng của bạn nhắm mục tiêu Khuôn khổ .NET 4, bạn phải phân phối lại Công cụ Visual Studio 2010 cho thời gian chạy Office (citation).
Câu trả lời thứ hai ở đó (với VSTORFeature_CLR40) có lẽ chính xác hơn. Tôi chỉ có một kịch bản mà các mục đăng ký đầu tiên (HKLM \ Microsoft \ vsto thiết lập thời gian chạy \ v4 \ Install) đã được tìm thấy nhưng addins của tôi sẽ không tải - và trong thực tế VSTO không được cài đặt. – PandaWood
Ai đó có thể giải thích cách phát hiện VSTOR40 đã cài đặt là x86 hay x64 không? Tôi đã cài đặt tất cả các kết hợp của x86 và x64 runtimes, và các phím được đề cập ở trên là những người duy nhất được tạo ra - mọi thứ đều nằm dưới WOW6432Node - có nghĩa là không có cách nào để xác định 'bitness' của thời gian chạy đã cài đặt ... (lưu ý rằng Office 2010 có cả hai hương vị 32 và 64 bit, và các tiến trình .net được sinh ra sẽ có cùng bit-ness như cài đặt Office http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/8d70d66c-fe87-4f38-b154-5804b871e153 /) – Adam
Tôi đã phát hiện ra rằng 'VSTORFeature_' chỉ tồn tại trong x64 lượt cài đặt. Vui lòng xem câu trả lời của tôi bên dưới để biết cài đặt x86. –