none
¿Cómo instalar un archivo vsto solo si es necesario? RRS feed

  • Pregunta

  • Buenas!

    Tengo un Addin en un word con varios botones que serían plantillas hechas mediante VSTO en Visual Studio 2010-

    En el código de cada botón tengo puesto un código parecido a este: 

    AplicaWord.Documents.Add(\\kioto\General\PLANTILLAS\FACTURAS\Factura Certificación\Factura Certificacion.dotx)
    

    Lo que quiero hacer es que consulte si este desarrollo se ha instalado. Si no lo ha hecho, antes de ejecutar el código anterior, debería irse a la carpeta: "\\kioto\General\PLANTILLAS\FACTURAS\FacturaCertificación" y ejecutar el archivo "Factura Certificacion.vsto" para que se instale la DLL y luego poder ejecutar el código y que se abra la plantilla correctamente.

    No se si me explicado. Espero que alguien que haya tenido este problema lea esto... :D

    Muchas gracias!

    miércoles, 24 de noviembre de 2010 12:40

Respuestas

  • Hola,

    Lo que podrías hacer es fijarte si ya está instalada la extensión mediante el Registro de Windows, bajo la clave HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions.

    Cada solución instalada generará una clave adicional (de nombre un guid):

    HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions\24a288d8-b2a8-4262-a02a-bbcb0b488a4e

    Donde hay un valor, Url, que indica de donde se instala. Por ejemplo:

    file:///C:/Users/johndoe/Downloads/Myaddin/Myaddin.vsto

    Entonces, en el botón, antes de abrir la plantilla, te fijas si existe en el Registro y si no es así, ejecutas un proceso con destino la URL de la plantilla a instalar. 

    De todas maneras, aparecerá el prompt al usuario para que decida instalarlo, con lo cual deberá nuevamente apretar el botón luego de la instalación.

    Saludos,

    Mauro


    castagnasso.wordpress.com | If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    • Propuesto como respuesta Victoria Rodriguez viernes, 26 de noviembre de 2010 2:14
    • Marcado como respuesta VillarGates jueves, 23 de diciembre de 2010 7:13
    miércoles, 24 de noviembre de 2010 14:24

Todas las respuestas

  • Hola,

    Lo que podrías hacer es fijarte si ya está instalada la extensión mediante el Registro de Windows, bajo la clave HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions.

    Cada solución instalada generará una clave adicional (de nombre un guid):

    HKEY_CURRENT_USER\Software\Microsoft\VSTA\Solutions\24a288d8-b2a8-4262-a02a-bbcb0b488a4e

    Donde hay un valor, Url, que indica de donde se instala. Por ejemplo:

    file:///C:/Users/johndoe/Downloads/Myaddin/Myaddin.vsto

    Entonces, en el botón, antes de abrir la plantilla, te fijas si existe en el Registro y si no es así, ejecutas un proceso con destino la URL de la plantilla a instalar. 

    De todas maneras, aparecerá el prompt al usuario para que decida instalarlo, con lo cual deberá nuevamente apretar el botón luego de la instalación.

    Saludos,

    Mauro


    castagnasso.wordpress.com | If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    • Propuesto como respuesta Victoria Rodriguez viernes, 26 de noviembre de 2010 2:14
    • Marcado como respuesta VillarGates jueves, 23 de diciembre de 2010 7:13
    miércoles, 24 de noviembre de 2010 14:24
  • Muchas gracias Mauro!!!

    Me has ayudado mucho! :D

    jueves, 23 de diciembre de 2010 7:19