2013-09-03 36 views
5

Tôi đã phát triển Excel XLL sử dụng ExcelDNA và C#. Tôi đang ở điểm mà tôi muốn bắt đầu thử nghiệm triển khai, nhưng không thể tìm thấy nhiều thông tin thực sự cung cấp các bước hoạt động.Làm thế nào để triển khai một Excel XLL Add-In và tự động đăng ký Add-In trong Excel

Dự án của tôi đã được phát triển thành thư viện Lớp với các tham chiếu ExcelDna. Trong tệp .dna, tôi có đoạn mã bên dưới sẽ đóng gói tất cả các tài nguyên vào một phiên bản đóng gói của thuộc tính XLL (tức là thuộc tính Pack = "true").

<DnaLibrary Name="ExcelXLL" RuntimeVersion="v4.0" Language="C#"> 
    <ExternalLibrary Path="ExcelXLL.dll" LoadFromBytes="false" Pack="true" /> 

tôi muốn triển khai XLL đóng gói để máy mục tiêu trong đường dẫn:

%APPDATA%\Microsoft\AddIns 

Để tự động đăng ký XLL với Excel, tôi cần phải thêm một khóa registry mà phụ thuộc vào phiên bản Excel mà người dùng có.

Ví dụ, trên máy tính của tôi (Windows 7 64 bit chạy Excel 2007 32-bit), tôi sẽ cần phải thêm một khóa registry để đường dẫn sau:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options\ 

Mấu chốt sẽ là loại REG_SZ với tên OPEN (hoặc OPEN1, OPEN2, v.v.) và giá trị /R "ExcelXLL-packed.xll"

Tôi có 2 vấn đề. Đầu tiên là xác định phiên bản Excel nào mà người dùng phải có đường dẫn chính xác và thứ 2 là xác định phiên bản OPEN chính xác mà tôi cần tạo (ví dụ, nếu người dùng đã có OPEN, OPEN1 và OPEN2 thì tôi sẽ tạo một khóa OPEN3).

Tôi đang cố thực hiện cài đặt bằng cách sử dụng dự án Thiết lập và triển khai hoặc dự án InstallShield LE và không thể xác định cách thực hiện việc này. Có ai biết làm thế nào để làm điều này hoặc một cách tốt hơn để làm điều đó?

CHỈNH SỬA 1:

Tôi đã thực hiện rất nhiều nghiên cứu về điều này và đã xem xét một số trình cài đặt cửa sổ.

Trong gói và triển khai và InstallShield LE, tôi có thể cài đặt/gỡ cài đặt hoạt động bằng cách đặt lớp trình cài đặt vào thư viện lớp và kết xuất dự án đi kèm với bản cài đặt. Trong phương pháp này, tôi xử lý việc chèn/xóa khoá đăng ký bằng cách sử dụng lớp trình cài đặt. Vấn đề mà tôi có là người dùng phải gỡ bỏ cài đặt đầu tiên trước khi chạy một cài đặt mới (không có khả năng cập nhật).

Tôi đã tải xuống phiên bản demo của Factory Factory và có thể cài đặt/cập nhật để hoạt động nhưng không thể thực hiện kiểm tra khung (không được xuất bản với bản trình diễn). Ngoài ra, việc gỡ cài đặt không thành công (mặc dù tôi có thể làm việc này với một số điều tra khác).

Tôi quan tâm đến việc sử dụng trình cài đặt WiX, nhưng muốn biết liệu có ai có mẫu về cách triển khai triển khai bằng WiX hay không. Tôi cũng muốn biết nếu tôi cần phải sử dụng lớp cài đặt hoặc nếu có một cách khác để xử lý tìm kiếm cho OPEN [n] trong HKCU \ Software \ Microsoft \ Office [Version] .0 \ Excel \ Options. Nếu tôi sử dụng đầu ra của dự án để kích hoạt lớp trình cài đặt, thì tôi cần phải có 2 thư mục đích riêng biệt (một tệp chương trình cho đầu ra dự án cơ bản và một tệp trong% appdata% \ Microsoft \ AddIns cho gói XLL được đóng gói).

Bất kỳ trợ giúp nào được đánh giá cao.

Cảm ơn,

Lee

Trả lời

2

Sử dụng IsWix và Wix 3.7, tôi đã có thể giải quyết vấn đề này.

Liên kết hữu ích cho cách đăng ký các thành phần như sau:

Để tạo ra một lớp C# để xử lý Actions Windows Installer tùy chỉnh: http://www.codeproject.com/Articles/132918/Creating-Custom-Action-for-WIX-Written-in-Managed?fid=1599130&df=90&mpp=25&noise=3&prof=False&sort=Position&view=Quick&spc=Relaxed&select=4131367&fr=1#xx0xx

http://blogs.msdn.com/b/jschaffe/archive/2012/10/23/creating-wix-custom-actions-in-c-and-passing-parameters.aspx

Đối với thiết lập tài sản của tệp CustomAction.config thành Nội dung WIX Custom Actions built for .Net Framework 4.0 does not work? Ways to resolve?

EDIT 1:

Đối với kiến ​​thức chung về WiX (Rất quan trọng) http://channel9.msdn.com/blogs/scobleizer/wix-team-the-most-used-piece-of-software-at-microsoft-and-its-open-source#Page=2

5

Phát hiện Excel 32-bit so với 64-bit, bạn có thể kiểm tra registry: Detect whether Office is 32bit or 64bit via the registry

Đối với MỞ, OPEN1, OPEN2 vv bạn thường cần một hành động tùy chỉnh trong kịch bản cài đặt liệt kê các phím.

+0

Hi Govert, vui lòng xem Sửa tôi 1 ở trên như tôi đã tìm ra những gì là cần thiết nhưng đã cố gắng để tìm một trình cài đặt sẽ thực hiện các tùy chọn cài đặt, cập nhật và gỡ cài đặt. Về cơ bản, tôi cần một trình cài đặt cho phép tôi ghi đè lên một cài đặt với một cài đặt mới hơn mà không buộc người dùng phải gỡ cài đặt trước. –

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