none
Instalar software (32 o 64 bit) RRS feed

  • Pregunta

  • Hola a todos,

    En mi compañía, tengo equipos de 32 y 64 bit, y necesito desplegar un software en todos lo equipos mediante GPO.

    Necesito desplegar un script/batch que dependiendo de si es de 32 o 64 bit escoja el software correcto.

    Este software está alojado en red. He intentado desplegar este script pero no hace nada. He intentado desplegarlo en local, configurado en GPO por script de inicio y por tarea programada y nada de nada. La carpeta está compartida y tiene los permisos correctos. Os indico el código.

    Set WshShell = WScript.CreateObject("WScript.Shell")
    OSArchCheck = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")

    If OSArchCheck = "x86" Then
     
     WshShell.Run "msiexec.exe /i ""\\server\carpeta\softwarex86.msi"" /quiet /norestart"

     

    Else
     
     WshShell.Run "msiexec.exe /i ""\\server\carpeta\softwarex64.msi"" /quiet /norestart"
    End If

    Gracias. Un saludo.

    miércoles, 2 de marzo de 2016 13:41

Todas las respuestas

  • Hola Dgonzalez88, lamentablemente no puedo ayudarte con el tema del script, pero por si te sirve te muestro un ejemplo que sin usar scripts, permite que dependiendo que el sistema sea x86 o x64 instala un MSI u otro

    El desarrollo de la nota del enlace, aunque es para LAPS, pues instala en el cliente la versión correspondiente a la arquitectura del mismo

    Revisa la parte de GPO para instalar el cliente de la siguiente nota: Administración Centralizada de los Administradores Locales – Parte 1 de 2 | WindowServer
    https://windowserver.wordpress.com/2015/07/28/administracin-centralizada-de-los-administradores-locales-parte-1-de-2/


    Guillermo Delprato
    Buenos Aires, Argentina
    El Blog de los paso a paso

    MVP - MCSE - MCSA2012
    MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory/Network Configuration/Applications Configuration/Server Virtualization/Windows 7 Configuration/Windows 7 & Office 2010 Deployment/Vista Configuration

    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    miércoles, 2 de marzo de 2016 14:08
  • Buenas,

    Una solución sería crear 2 GPOs y a cada una asignarle un filtro de WMI (de 32 bits y de 64 bits) y a cada una asignarla el script de su correspondiente versión.

    Te dejo un enlace con ayuda para crear el filtro WMI.

    http://anonit.blogspot.com.es/2012/12/create-group-policy-wmi-filter-to.html

    Un saludo.

    miércoles, 2 de marzo de 2016 14:26
  • ¡Muy buena opción Carlos!

    Yo trato de usar WMI porque me he "peleado" bastante, pero es una muy buena opción la propuesta

    :)

     


    Guillermo Delprato
    Buenos Aires, Argentina
    El Blog de los paso a paso

    MVP - MCSE - MCSA2012
    MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory/Network Configuration/Applications Configuration/Server Virtualization/Windows 7 Configuration/Windows 7 & Office 2010 Deployment/Vista Configuration

    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    miércoles, 2 de marzo de 2016 16:18
  • Antes de nada, agradeceros la ayuda prestada.

    Deciros que el programa que intento instalar es una actualización.

    En vez de utilizar el script, he seguido las instrucciones suyas, Guillermo.

    Lo que me sucede es una cosa extrañísima, les cuento:

     He implementado el programa desde "Instalación Software" y apliqué la directiva de "Esperar siempre la detección de red al inicio del equipo y de sesión" , forcé la GPO y hasta ahí todo correcto, en cuanto a configuración se refiere.

    Una vez en el equipo, testeado con Windows Vista, 7 y 8, si el programa no está instalado, me lo instala correctamente, pero sí previamente, si está instalado, lo elimina y no instala la versión actualizada.

    He probado a crear otra GPO con la misma configuración y en el equipo que previamente no la instalaba.. ahora sí. Obviamente, esto no es una solución, porque si cojo otro equipo  donde tiene instalada la versión antigua estamos en la misma situación que antes.

    miércoles, 2 de marzo de 2016 17:09
  • Qué "feo" eso, entiendo que no debería hacer eso

    La única opción que se me ocurre, ingresando en las propiedades del paquete en la GPO, hay una opción si hace "Upgrade" de una versión anterior de la aplicación, y si es obligatorio

    Prueba con esas opciones a a ver si así se arregla el problema

     


    Guillermo Delprato
    Buenos Aires, Argentina
    El Blog de los paso a paso

    MVP - MCSE - MCSA2012
    MCITP: Enterprise Administrator / Server Administrator
    MCTS: Active Directory/Network Configuration/Applications Configuration/Server Virtualization/Windows 7 Configuration/Windows 7 & Office 2010 Deployment/Vista Configuration

    Este mensaje se proporciona "como está" sin garantías de ninguna clase. Usted asume todos los riesgos.

    miércoles, 2 de marzo de 2016 20:49
  • Volví de nuevo con el script y parece que he tenido mejor suerte. Por lo menos se instala en algunos equipos. En los que no, he visto lo siguiente en el Visor de Sucesos, a ver si me pueden ayudar.

    Configuré la GPO como un script de inicio de sesión en Computer.

    Product: Snow Inventory Client for Windows (x64) -- Configuration failed.

    Nombre de registro:Application
    Origen:        MsiInstaller
    Id. del evento:11729
    Categoría de la tarea:Ninguno
    Nivel:         Información
    Palabras clave:Clásico
    Usuario:       SYSTEM

    Indico el código:

    Set WshShell = WScript.CreateObject("WScript.Shell")
    OSArchCheck = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")

    If OSArchCheck = "x86" Then
     
     WshShell.Run ("msiexec.exe /i ""\\server\GPO\softwarex86.msi"" /quiet /norestart")

     

    Else
     
     WshShell.Run ("msiexec.exe /i ""\\server\GPO\softwarex64.msi"" /quiet /norestart")
    End If

    lunes, 7 de marzo de 2016 12:22