¿Qué instalador/software puedo usar para instalar varias aplicaciones y servicios, así como para colocar archivos en diferentes ubicaciones?

Nuestros clientes han comprado algo así como 2000 máquinas (todos en uno Dell que ejecutan win8.1). El software que estamos construyendo usa IIS y php para mostrar el contenido del host local a través de una interfaz Java. Por lo tanto, necesitamos IIS 8, PHP 5.6, MySQL, JRE 1.8 y Teamviewer instalados en estas máquinas. Además, hay contenido que debe colocarse en los archivos jar y localhost en las ubicaciones requeridas.

El problema: los muchachos que manejan las máquinas (instalación física/ubicación) no están equipados para manejar algo tan complejo. Los he visto arruinar el uso de instaladores únicos en el pasado, así que me gustaría limitar nuestra dependencia de ellos. No tenemos acceso físico a las máquinas debido a la logística y la mayoría de ellas tendrán una conexión 2g en el mejor de los casos, por lo que no podemos hacer nada de esto de forma remota.

Idealmente, me gustaría tener una instalación silenciosa de todos los componentes, aunque un solo archivo msi/exe. Cada sistema es completamente nuevo, por lo que son prácticamente idénticos. Voy a probar SilentInstall y AdvancedInstaller, pero mientras tanto, si alguien tiene alguna sugerencia, estaré encantado de escucharla. La compra no es un problema, siempre que sea algún tipo de licencia empresarial o por volumen.

¿Tiene acceso de administrador a las máquinas? ¿Qué tipo de acceso remoto utiliza?
¿Es una cosa de una sola vez, o querrá instalar otro programa (o actualizar uno) en el futuro?
@NicolasRaoul Tenemos acceso de administrador ya que estas máquinas se compraron únicamente para que se ejecute nuestro software (como quioscos). Están ubicados en ubicaciones que tienen poca o ninguna conectividad de red (así como en ciudades más grandes), por lo que la conectividad de red no es un hecho. Como mínimo, deberían tener conectividad 2g, pero eso probablemente sea irregular. y es una cosa de una sola vez. Uno de los archivos jar actualizará el contenido más adelante.
Si no tiene acceso físico ni acceso a la red, ¿cómo instalará algo?
@NicolasRaoul Construiremos un instalador, lo quemaremos en los medios y los enviaremos a los muchachos que configuran los sistemas. Esos tipos pueden introducir un CD y hacer doble clic en un icono, y eso es casi el límite de su experiencia técnica. Así que estoy buscando un instalador que pueda hacer todas las cosas que he pedido anteriormente.
Ya veo, entonces solo desea empaquetar los diversos programas descritos anteriormente en un solo EXE o MSI, ¿verdad?
@NicolasRaoul Idealmente, sí.
Estoy desarrollando una aplicación sobre lo que necesitas. El programa es un instalador silencioso (basado en interruptores de instalación y espero que sus instaladores tengan este tipo de función) que selecciona el software y lo instala. El programa necesita (para instalar) .Net Framework 4.5.2. Lo que no puede hacer es copiar archivos a la carpeta deseada, pero puedo manejar esto pronto, también tendré que traducirlo al inglés. He estado pensando en publicarlo y os aviso por aquí cuando lo haga. Espero que esto ayude, si todavía lo hace.
Lo siento por mi ingles

Respuestas (5)

Debería poder usar el Servicio y administración de imágenes de implementación (DISM) del kit de herramientas de servicios de implementación de Windows para generar una imagen que se ajuste a un solo DVD o unidad USB y no necesite más que un par de clics para activar la instalación como una actualización del sistema existente. Consulte la guía de MS aquí para obtener más información. También puede usar secuencias de comandos de PowerShell como alternativa a DISM.

Preste especial atención a la sección y los enlaces del kit de herramientas de implementación de Windows .

Es un conjunto de herramientas gratuito que permite la "carga lateral" de aplicaciones y la "instalación sin intervención".

Creo que la mejor solución para este caso de uso es implementar máquinas virtuales en cada computadora. Las máquinas solo necesitan VMware Workstation o VirtualBox, y su máquina virtual puede contener su aplicación y todas sus dependencias.

Ese enfoque tiene el beneficio adicional de que se vuelve extremadamente fácil implementar actualizaciones, sin afectar el sistema base de Windows.

Autopromoción: mi empresa se especializa en hacer precisamente eso: crear máquinas virtuales con software de aplicación específico, dependencias, etc., mientras se asegura de que puedan actualizarse y administrarse fácilmente desde la red local (es decir, no se requiere Internet).

Si todas las máquinas son idénticas y tienen la capacidad de arrancar desde USB o DVD, sugeriría obtener una sola máquina, configurarla según sea necesario y luego crear una imagen de esa máquina para instalarla en todas las demás. Esto reformateará la máquina existente, por lo que necesitará una licencia de sistema operativo que se puede aplicar a cada máquina o comuníquese con MS para obtener detalles sobre una imagen preactivada.

Puede crear la imagen con varios paquetes de software, pero el más común es Symantec Ghost .

Incluso podría preconstruir su sistema operativo con todos los paquetes requeridos y dárselo al proveedor para que lo instale previamente; con ese tamaño de pedido, serán más que útiles si desea seguir esa ruta, contáctelos primero para ver qué formato que pueden admitir.

No puedo hacer eso, lamentablemente. Tal como se desarrollaron las cosas, los clientes ya compraron las máquinas y las enviaron a sus ubicaciones finales para colocarlas en las carcasas construidas para ellas. Así que todos tienen sus propias licencias de Windows. ¿Hay alguna forma de usar la licencia existente al reemplazar la imagen del sistema operativo?
¿Qué tan fácil/difícil es para un técnico local de bajo nivel realizar la operación utilizando el DVD que se le entregó? ¿Aproximadamente cuántos clics/líneas de comando/reinicios, en cuánto tiempo típicamente? ¡Gracias!
@YashCapoor: vea mi otra respuesta para una solución alternativa que debería permitir la reutilización de licencias.
@NicolasRaoul: reinstalar una imagen fantasma en hardware idéntico normalmente es muy sencillo, 2-3 clics y un reinicio al principio y al final, el tiempo que lleva depende del hardware y el tamaño de la imagen.

Pensé en actualizar esto con lo que hicimos. No es una solución exacta ya que ajustamos un poco nuestros requisitos para que se ajuste. Usamos xampp en lugar de IIS y eliminamos el visor de equipos porque nos dijeron que casi todos los sistemas ya lo tenían instalado. Finalmente, construimos un instalador usando NSIS para instalar todo nuestro software en directorios predefinidos. El instalador ejecutó la instalación desatendida de xampp y usó archivos por lotes para configurar la base de datos MariaDB/mySQL (dentro de xampp) después de la instalación. Dado que necesitábamos acceso de administrador en el instalador, también usamos archivos por lotes para instalar servicios (xampp, mariadb/mysql) a medida que los necesitábamos.

Nota: no acepto mi propia respuesta, ya que en realidad no proporciona una solución para mi pregunta original. Solo estoy compartiendo esta información en caso de que alguien más pueda usar la especie de solución que usamos.

También puede usar imagex de Microsoft incluido en el kit de herramientas de implementación de Microsoft.

  1. Configure 1 máquina perfectamente.
  2. Cree un archivo desatendido.xml para sysprep con tantas o pocas opciones como desee para preconfigurar el idioma, etc. Desea agregar un marcador de posición para el número de serie de Windows.
  3. Cree un PE de Windows USB. https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive
  4. Use pnputil -a para agregar controladores para Dell ahora
  5. máquina sysprep desde y símbolo del sistema administrativo sysprep /generalize /oobe /shutdown /unattend:c:\windows\system32\sysprep\unattend.xml
  6. Arranque la PC desde Windows PE de arranque de Windows

    Verifique dos veces la carta del conductor, tal vez sea diferente en esta etapa.

  7. Alternativa agregue controladores aquí dism /Image:c:\ /add-driver /drivers:c:\drivers /recurse

  8. imagex /capture c:\ c:\partition1.wim "Mi partición de Windows" Probablemente necesitará usar diskpart para asignar temporalmente letras de unidad temporales a particiones ocultas. Repita el paso 2 para cada partición.
  9. Ahora tiene partición1.wim, partición2.wim, partición3.wim

  10. Hacer un script de implementación

    a. copiar imagex.exe en USB

    b. copie particiones.txt (desde abajo) en USB

    C. Lea https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc766521(v=ws.10)

    d. escriba el archivo de script real e inclúyalo en el USB e inícielo con la información del punto c.

  11. Haga algo, a través de un script, para extraer el número de serie existente. Almacenándolo en la memoria USB temporalmente.

  12. Modifique el archivo unattend.xml agregando el número de serie en el marcador de posición. Ubicado en la carpeta C:\windows\panther en este momento.

hazlo.bat

   diskpart /s partitions.txt
   imagex /apply N:\Images\my-windows-partition1.wim 1 s:\
   imagex /apply N:\Images\my-windows-partition2.wim 1 c:\
   imagex /apply N:\Images\my-windows-partition3.wim 1 r:\
   reboot

Aquí está particiones.txt

select disk 0
clean
create partition primary size=350
format quick fs=ntfs label="System"
assign letter="S"
active
create partition primary size=75000
format quick fs=ntfs label="Windows"
assign letter="C"
create partition primary size=15000
format quick fs=ntfs label="Recovery image"
assign letter="R"
attributes volume set nodefaultdriveletter
exit
  1. Asegúrese de que todos los archivos se copien en la memoria USB de arranque .
  2. Haz un duplicado para ti.

  3. Pruebe en otra PC o en una máquina virtual hasta que solucione todos los problemas.

  4. Hacer 2000 copias.

Instrucciones para el usuario final.

  1. Asegúrese de que la PC esté ensamblada y enchufada, pero apagada.
  2. Enchufe la memoria USB
  3. encender computadora
  4. Presione o cualquiera que sea la tecla del menú de arranque del BIOS.
  5. Seleccione memoria USB
  6. Asegúrese de ver la pantalla de inicio.
  7. Deje la computadora sola durante las próximas 2 horas.
  8. La computadora se reiniciará automáticamente e iniciará su producto finalizado.