visual studio 2012 - subir - ¿Cómo creo un proyecto de InstallShield LE para instalar un servicio de Windows?
las mejores extensiones para visual studio 2018 (12)
Acabo de encontrar algunos problemas para encontrar dónde agregar el instalador como se menciona en la respuesta. Entonces aquí es cómo.
Haga doble clic en su clase de servicio dentro del servicio de Windows Proyecto Una pantalla en blanco con el texto "Para agregar componentes a su clase, arrástrelos desde Toolbox y use la ventana Propiedades para establecer sus propiedades ..." Haga clic derecho en cualquier lugar pero en los enlaces y seleccione "Agregar instalador"
nos vemos
Descargué Visual Studio 2012 ayer cuando se lanzó en MSDN. Me di cuenta de que algunos de los tipos de proyectos que teníamos en 2010 han desaparecido o son diferentes. La mayor diferencia para mí en este momento es la eliminación del proyecto de Windows Installer. Ahora nos vemos obligados a usar InstallShield LE (edición limitada). El problema aquí es que escribo muchos servicios de Windows y no veo cómo configurar InstallShield LE. Parece que nosotros (mi empresa) tendremos que invertir en licencias para la edición profesional.
¿Alguien ha encontrado una forma de instalar servicios en InstallShield LE? Cuando utiliza el proyecto de Windows Installer, simplemente establece las acciones personalizadas.
Consulte este enlace, que lo ayudará
Estoy usando VS2012 e Installshield LE Spring Edition. No tuve que usar Wix.
Si encuentra el error "No se pudo crear _isconfig.xml para usar con InstallUtilLib.dll", cree una carpeta con el mismo nombre que su proyecto de instalación y dentro de la carpeta del proyecto de instalación.
He escrito sobre este tema:
Aumento de InstallShield con Windows Installer XML - Servicios de Windows
Básicamente, usted crea un módulo de fusión usando WiX para encapsular el servicio y luego agregarlo a su proyecto installshield. (Asegúrese de asociarlo al directorio INSTALLDIR para asegurarse de que su archivo vaya donde usted espera). Construye y prueba en una VM. Pedazo de pastel.
Los proyectos de instalación de Visual Studio están de vuelta en VS 2013 como una extensión de estudio visual.
https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
Actualice su solución y proyectos a VS 2013. Si todavía está en VS 2010, probablemente esté mejor si se actualiza directamente a VS 2013.
Mi experiencia con Installsheild LE es que es muy peculiar, pero una vez que descubres los trucos, es más fácil de usar. Sin embargo, creo que la edición limitada es una forma de que Microsoft y Flexera vendan la edición completa. En otras palabras, primero le pagamos a Microsoft mucho dinero por Visual Studio y luego a su socio (en el crimen) más por Installsheild. Mala estrategia que no funcionó ya que tuvieron que volver a traer los proyectos de configuración en VS 2013.
Mientras utiliza la clase de instalador, la casilla de verificación puede funcionar en algunas instancias, puede experimentar el siguiente error:
Error 1001. El servicio especificado ya existe
Aquí hay un extracto de este link sobre cómo resolver este problema:
Para error: Error 1001. El servicio especificado ya existe
Este error ocurrirá si el componente que instala un servicio .NET está incorrectamente configurado con "Clase de instalador .NET" establecido en Sí. El método para instalar un servicio .NET es utilizar la vista Componente / Configuración avanzada / Servicios, no la configuración "Clase de instalador .NET". Al hacer definiciones en la vista Componente / Configuración avanzada / Servicios, se crean entradas en Windows Installer ServiceControl y ServiceInstall Tables. Estas entradas son utilizadas por la acción "InstallServices" de Windows Installer para instalar el Servicio.
Para Visual Studio 2012 e InstallShield LE, haga lo siguiente:
- Ejecute el asistente de proyecto de InstallShield y agregue el resultado principal de su servicio a la sección Archivos de la aplicación.
- Una vez que haya terminado con el asistente de proyecto, haga doble clic en el elemento "Archivos" en el paso dos del proyecto de instalación.
- Haga clic derecho en la salida principal de su servicio, y vaya a propiedades.
- Haga clic en la pestaña "Configuración de COM y .NET" y marque la casilla "Clase de instalador".
- Haga clic en Aceptar
Ahora, una vez que compile y ejecute su instalación, su servicio aparecerá en el complemento Servicios de Windows.
Tenga en cuenta que esto supone que agregó un "Instalador de proyecto" a su proyecto de servicio (haga clic con el botón derecho en la hoja de diseño del servicio y haga clic en "agregar instalador"). Puedo confirmar este trabajo en Windows 8 con Visual Studio 2012 / InstallShield LE.
Quería poner esto aquí;
En VS 2015, al hacer esto, me encontré con el error 1001 después de la instalación repetidamente.
La respuesta en esta página explica que en las versiones más recientes (cualquier cosa más allá de 2012) , aparentemente debe dejar explícitamente la opción de clase de instalador desactivada y luego agregar su servicio de Windows en la sección de Servicios en el Paso 3 del proyecto de instalador:
Recientemente instalé VS 2012 con Install Shield LE. Al principio, recibí un error del servidor interno ISEXP -5036 después de una compilación (esto fue después de configurar un proyecto ISLE y ejecutarlo a través del Asistente de Install Install Shield). Eventualmente descubrí que estaba intentando crear el MSI en el tipo de medio DVD-5, que es donde estaba fallando. Por alguna razón, la creación de la solución nuevamente desde cero de alguna manera reconoce que solo se construye con los tipos de medios CD_ROM e SingleImage que funcionan.
De todos modos, para rectificar el error 5036, haga clic en la pestaña Generar en VS 2012 (menú superior), seleccione el administrador de configuración y verá que su archivo de configuración IS está seleccionado en la configuración del DVD-5. Cambie esto a CD_ROM y haga clic en cerrar. Una vez que compile / reconstruya, se completará sin error IS 5036.
Si su proyecto es .NET, intente luego puede usar la clase ServiceProcessInstaller con InstallShield LE.
Para que funcione con InstallShield, debe ingresar al árbol de "archivos" de InstallShield y hacer clic con el botón derecho en su archivo. Luego marque la casilla de verificación "Clase de instalador" en la pestaña "Configuraciones COM y .NET".
Lo he hecho funcionar, pero he tenido problemas en algunos sistemas operativos como Windows 2008R2. Su experiencia puede ser diferente.
Aquí hay un ejemplo: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
Tenía todo tipo de problemas con esto.
Como sigue.
- InstallShield tarda años en descargarse
- el proceso de registro es un dolor.
- las opciones de configuración son confusas y demasiado complejas.
- la solución aceptada en este hilo es un truco y no siempre funciona, vea 1001 en la documentación, esencialmente necesita pasar por el muro de pago para obtener las opciones de configuración correctas para instalar un servicio de Windows.
La solución para mí, como se mencionó en otro lugar, fue abandonar InstallShield
Muy fácil desde ese punto.
Editar: Actualización: instala la última versión desde aquí https://wix.codeplex.com/releases/view/115492 para vs 2013/2015
Tenga en cuenta que todas las explicaciones anteriores no lo ayudarán si planea crear más adelante una actualización de esa configuración. InstallShiled LE no puede detener el servicio en ejecución cuando se actualiza. No puede hacerlo desde el Instalador de servicios de Windows -> evento BeforeInstall.