deployment - para - descargar complementos de excel 2016
Cómo implementar un complemento XLL de Excel y registrar automáticamente el complemento en Excel (2)
Desarrollé un Excel XLL usando ExcelDNA y C #. Estoy en el punto en el que me gustaría comenzar a probar la implementación, pero no puedo encontrar mucha información que realmente proporcione pasos que funcionen.
Mi proyecto fue desarrollado como una biblioteca de clase con referencias ExcelDna. En el archivo .dna, tengo el siguiente código que empaqueta todos los recursos en una versión empaquetada del XLL (es decir, el atributo Pack = "true").
<DnaLibrary Name="ExcelXLL" RuntimeVersion="v4.0" Language="C#">
<ExternalLibrary Path="ExcelXLL.dll" LoadFromBytes="false" Pack="true" />
Me gustaría implementar el XLL empaquetado en la máquina de destino en la ruta:
%APPDATA%/Microsoft/AddIns
Para registrar automáticamente el XLL con Excel, necesito agregar una clave de registro que depende de la versión de Excel que tenga el usuario.
Por ejemplo, en mi computadora (Windows 7 de 64 bits con Excel 2007 de 32 bits), necesitaría agregar una clave de registro a la siguiente ruta:
HKEY_CURRENT_USER/Software/Microsoft/Office/12.0/Excel/Options/
La clave sería tipo REG_SZ con el nombre OPEN (o OPEN1, OPEN2, etc.) y el valor / R "ExcelXLL-packed.xll"
Tengo 2 problemas sin embargo. El primero es determinar qué versión de Excel necesita el usuario para obtener la ruta correcta y la segunda es determinar la versión OPEN correcta que necesito crear (por ejemplo, si el usuario ya tiene OPEN, OPEN1 y OPEN2, entonces yo crearía una clave OPEN3).
Estoy tratando de hacer la instalación usando el proyecto de Instalación e Implementación o un proyecto de InstallShield LE y no puedo determinar cómo hacerlo. ¿Alguien sabe cómo hacer esto o una mejor manera de hacerlo?
EDIT 1:
He realizado una gran investigación sobre esto y he observado varios instaladores de Windows.
En el paquete y la implementación e InstallShield LE, puedo hacer que la instalación / desinstalación funcione al colocar una clase de instalador en mi biblioteca de clase y agrupar el resultado del proyecto con la instalación. En este enfoque, me encargo de insertar / eliminar la clave de registro usando la clase de instalador. El problema que tengo es que el usuario debe desinstalar primero antes de ejecutar una nueva instalación (sin capacidad de actualización).
Descargué la versión demo de Setup Factory y puedo hacer que la instalación / actualización funcione, pero no puedo hacer la verificación de marco (no incluida con la demostración). Además, la desinstalación falla (aunque es posible que pueda hacer que funcione con más investigación).
Estoy interesado en usar el instalador de WiX, pero me gustaría saber si alguien tiene una muestra de cómo realizar la implementación usando WiX. También me gustaría saber si necesito usar la clase de instalador o si hay una forma diferente de manejar la búsqueda de la clave OPEN [n] en HKCU / Software / Microsoft / Office [Version] .0 / Excel / Options. Si tuviera que usar el resultado del proyecto para habilitar la clase de instalador, entonces necesito tener dos directorios de destino separados (uno en Archivos de programa para el resultado del proyecto básico y otro en% appdata% / Microsoft / AddIns para el paquete XLL).
Cualquier ayuda es muy apreciada.
Gracias,
Sotavento
Para detectar Excel 32 bits frente a 64 bits, puede verificar el registro: detectar si Office es de 32 bits o de 64 bits a través del registro
Para OPEN, OPEN1, OPEN2, etc., normalmente necesita una acción personalizada en el script de instalación que enumera las claves.
Usando IsWix y Wix 3.7, pude resolver esto.
Enlaces útiles sobre cómo registrar los componentes son los siguientes:
Para generar una clase C # para manejar las acciones personalizadas de Windows Installer: 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 = Posición y vista = Rápido & spc = Relajado & select = 4131367 & fr = 1 # xx0xx
Para establecer la propiedad del archivo CustomAction.config en Content WIX, ¿las acciones personalizadas creadas para .Net Framework 4.0 no funcionan? Formas de resolver?
EDIT 1:
Para obtener información general sobre WiX (muy importante) http://channel9.msdn.com/blogs/scobleizer/wix-team-the-most-used-piece-of-software-at-microsoft-and-its-open-source # Página = 2