2011-08-18 11 views
5

Tôi đang cố gắng triển khai Outlook bổ trợ với ClickOnce. Trong khi thiết lập các tùy chọn cập nhật, tôi nhận thấy rằng có ít tùy chọn có sẵn cho Outlook thêm vào dự án hơn là dành cho dự án Win Forms. Ví dụ tôi không thể chỉ định phiên bản yêu cầu tối thiểu. Tại sao vậy? Ngoài ra, tôi muốn:Cài đặt chuyên biệt bổ sung Outlook ClickOnce

  1. để cho phép tay cập nhật
  2. hỏi người dùng nếu ông thậm chí muốn một bản cập nhật (nếu nó không được yêu cầu).

1) Tôi đã cố gắng sử dụng System.Deployment.Application và CheckForDetailedUpdate() chức năng nhưng mặc dù cập nhật thành công có những vấn đề cài đặt nó: Nếu tôi khởi động lại plugin của tôi nó biến mất từ ​​Outlook, nếu tôi không làm phiên bản cũ bị mắc kẹt trong Outlook (và cư xử kỳ quặc) mặc dù các bản cập nhật thêm thông qua đường dẫn UNC cho thấy rằng bản cập nhật đã được thực hiện thành công.

2) Xuất bản thường xuyên mà không có tùy chọn đặc biệt nào được thêm vào với Mage hoặc MageUI hoạt động trong chính nó, nhưng bổ trợ dường như cập nhật mà không yêu cầu người dùng. Googling một chút reveils rằng mọi người đang cố gắng để làm điều ngược lại, vì vậy tôi là loại khó hiểu là tại sao nó không nhắc nhở để cập nhật theo mặc định.

Tôi đã thử chỉnh sửa tệp kê khai được tạo từ Visual Studio bằng MageUI nhưng nó tạo XML không hợp lệ cho tệp kê khai ứng dụng (?! - nút này bị bỏ lỡ "assemblyIdentity" trong nút "dependsAssembly") và khi tôi thêm các nút bị thiếu từ tệp kê khai gốc được tạo bởi VS (và cập nhật và ký nó sau đó), cài đặt than phiền về việc lắp ráp băm không hợp lệ.

Làm cách nào để triển khai Outlook bổ trợ với các yêu cầu đã nêu?

Trả lời

6

Ứng dụng VSTO (bổ trợ Office) chỉ hỗ trợ một số bit nhất định của ClickOnce. Bạn có thể thử thêm mã và thực hiện các cập nhật có lập trình, nhưng dẫn đầu ClickOnce tại Microsoft cho biết nó không thực sự có ý định được sử dụng, và một phần của nó có thể không hoạt động. (Không, không có chi tiết về chính xác phần nào - bạn phải làm một chút thử nghiệm & lỗi).

Cũng lưu ý rằng cách triển khai vsto hoạt động và chạy là: Outlook kiểm tra ứng dụng vsto và sao chép (các) dll vào vị trí bóng và tải bằng Outlook. Khi bạn cập nhật ứng dụng vsto, nó cập nhật nó trong bộ nhớ cache một lần bấm, nhưng không phải trong triển vọng. Khi bạn đóng triển vọng và mở lại nó, nó tìm thấy phiên bản mới, sao chép nó ra vị trí bóng tối và tải nó. Bạn không thể khởi động lại chính bản thân vsto và làm bất cứ điều gì. Người dùng phải khởi động lại Outlook.

Đây là một trong những lý do cập nhật được thực hiện khi khởi động ứng dụng Office. Nó sẽ tìm phiên bản mới, cập nhật nếu cần, sau đó tải nó vào Outlook và sử dụng nó.

Có nói rằng, một cách khác để hoàn thành những gì bạn muốn là viết một ứng dụng biểu mẫu cửa sổ sẽ cập nhật bổ trợ của bạn. Về cơ bản triển khai một ứng dụng winforms mà chỉ hiển thị không có gì lần đầu tiên ngoại trừ việc gọi ứng dụng vsto thông qua clickonce (process.start là bạn của bạn). Sau đó, bạn có thể có add-in outlook gọi ứng dụng winforms xem nếu có bản cập nhật, và nếu có, nó có thể nhắc cập nhật ứng dụng biểu mẫu giành chiến thắng, sau đó gỡ cài đặt và cài đặt lại bổ trợ hoặc cập nhật nó .

+1

Dường như phần Ribbon có vấn đề một chút. Và hầu như không chỉ những người duy nhất. Cảm ơn câu trả lời của bạn, ít nhất tôi biết tôi không nên lãng phí thêm thời gian để cố gắng làm những gì không phải làm. – Damir

+0

@RobinDotNet Câu trả lời này vẫn còn hợp lệ hôm nay, khoảng 5 năm sau? Tôi đã phát triển một Excel thêm vào (một ứng dụng dựa trên VSTO được xuất bản qua FTP và được cài đặt qua HTTP), quá trình cập nhật tự động lúc khởi động của Excel hoạt động tốt.Tuy nhiên, tôi đã tìm kiếm một phương pháp cho phép người dùng kiểm tra các bản cập nhật và áp dụng chúng thông qua một nút bấm đơn giản trong giao diện của add in. Vẫn không thể đạt được điều này? Cảm ơn bạn. –