Razones para no usar acciones personalizadas en el proyecto de instalación de Visual Studio

Hoy temprano estaba discutiendo con alguien que descubrí que puede usar una acción personalizada en los proyectos de instalación de Visual Studio para ejecutar sus propias clases de instalador que normalmente ejecutaría usando InstallUtil (que funciona muy bien para un nuevo proyecto en el que estoy trabajando).

Sin embargo, dicha persona sugirió que evitara las acciones personalizadas a toda costa, afirmando que en el momento en que necesite usar acciones personalizadas, debe encontrar su propia solución y dijo que esto es algo que muchas personas reconocen y lo ha sido durante mucho tiempo. hora.

He realizado una búsqueda y no puedo encontrar un solo foro en el que alguien haya expresado su preocupación sobre esto, y solo quiero saber si alguien sabe alguna razón por la cual no se deben usar acciones personalizadas.

Quiero asegurarme de que estoy usando la solución más confiable posible en mi nuevo proyecto, y esto me ha dado algunas preocupaciones sobre mi enfoque actual, sin embargo, la persona con la que lo estaba discutiendo no pudo darme un ejemplo de por qué es una mala idea, así que solo quiero confirmación de si lo que dijeron tiene validez o no.

preguntado el 22 de mayo de 12 a las 18:05

Búscame en Skype si alguna vez quieres una comprensión completa de la historia y las mejores prácticas aquí. -

Por cierto, es una conversación completamente diferente sobre por qué no usar los proyectos de configuración de Visual Studio en absoluto. -

1 Respuestas

Tengo muchas razones, pero es una conversación larga y subjetiva. Aquí hay un par de enlaces para empezar. En resumen, lo que hay que tener en cuenta es mantener el nativo declarativo de MSI (acciones personalizadas transaccionales basadas en datos de la tabla de autor) y trabajar muy, muy duro para no introducir fragilidad en su instalador. Debido al diseño de las acciones personalizadas de la clase InstallUtil/Installer, simplemente no sirven para empezar. En su lugar, utilice los tipos de proyectos de acción personalizados administrados por DTF (Deployment Tools Foundation) de WiX (C#/VB.NET).

Acciones personalizadas de código administrado, sin soporte en el camino y he aquí por qué

Las acciones personalizadas son (generalmente) una admisión de falla

Tenga en cuenta que, para el primer enlace, la parte "técnica" es OBE debido al lanzamiento de DTF. La parte estratégica es algo optimista en mi opinión y se analiza más en el segundo enlace. Aquí también hay algunos antecedentes de mi propio blog:

MSI frente a .NET

El precio de la ideología y una gran esperanza nueva

Acciones personalizadas administradas de Deployment Tools Foundation (DTF)

contestado el 22 de mayo de 12 a las 18:05

muchas gracias por el material de lectura! Acabo de echar un vistazo a todo, pero ahora me siento un poco abrumado / confundido acerca de a dónde ir ahora. La razón por la que estaba usando una acción personalizada originalmente era en realidad algo que podía hacer puramente en el proyecto de configuración, es decir, agregar algunas entradas de registro. Vi en su otro comentario que sugirió que valdría la pena evitar los proyectos de configuración, por lo que ahora me siento un poco escéptico acerca de seguir adelante con mi solución actual. ¿Tiene algún material de lectura que sería bueno para un novato en WiX / DTF? - usuario1243584

También debo agregar: soy muy nuevo en el desarrollo de implementaciones, todo mi desarrollo en el pasado ha sido cosas que no requieren configuración. El objetivo de este instalador es registrar una sola DLL y agregar algunas entradas de registro antes de que el usuario inicie la aplicación. - usuario1243584

Los felicito por darse cuenta muy temprano en el proceso de que MSI es una bestia totalmente diferente. Hay algunos sitios web de tutoriales de Wix, un libro publicado en Packagepub y, por supuesto, la lista de correo de usuarios de Wix. Si la instalación es realmente tan simple como dices, podría escribirla en unos 15 minutos debido a mi nivel de experiencia. - Christopher pintor

Si puede escribir una instalación que haga exactamente lo que necesita, nunca falla en una reparación, no tiene ninguna CA y no espera que su instalación se complique más, entonces continúe y quédese con ella. Tenga en cuenta que los proyectos de instalación se han ido en VS11 ya que MSFT finalmente lo eliminó. De lo contrario, sugiero cambiar a WiX y/o InstallShield Limited Edition. (gratis para clientes de VS) También hay otro enfoque: blog.iswix.com/2011/03/… - Christopher pintor

Me encontré con eso anoche mientras leía (que los proyectos de configuración ya no se implementan con VS), ¡creo que probablemente sea una buena señal para tener algunas semanas de aprendizaje de WiX! Muchas gracias por la oferta de escribirlo también, pero lo mantendré, ya que debería ser una buena experiencia de aprendizaje (¡una buena, o una desgarradora!) - usuario1243584

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.