Página 1 de 1

Problema al instalar el paquete de instalación de Home I/O

Publicado: 17 de diciembre de 2018 - 09:07
por Mickael Lombard
Hola a todos,

Estoy experimentando un problema al instalar el software Home I/O.
Aquí está mi guión:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('installing langevin-home-io')
    install_exe_if_needed("homeio-1.5.0-installer.exe",'--unattendedmodeui none --mode unattended',key='',min_version='1.5.0')
    filecopyto('paul-langevin.lic','C:\Program Files (x86)\Real Games\Home IO')
Al instalar desde PyScripter en mi equipo de prueba, todo funciona correctamente. Si ejecuto la instalación en otro equipo con el comando `wapt-get install`, también funciona. Sin embargo, si vinculo el paquete a otro equipo, la instalación falla y aparece el siguiente mensaje de error:
Instalando langevin-home-io
[Error 32] El proceso no puede acceder al archivo porque este archivo está siendo utilizado por otro proceso: 'c:\\temp\\waptensxp2\\homeio-1.5.0-installer.exe'
Traceback (última llamada):
Archivo "C:\Program Files (x86)\wapt\common.py", línea 3512, en install_wapt
exitstatus = setup.install()
Archivo "c:\temp\waptensxp2\setup.py", línea 8, en install
Archivo "C:\Program Files (x86)\wapt\common.py", línea 3471, en new_func
return func(*args,**kwargs)
Archivo "C:\Program Files (x86)\wapt\setuphelpers.py", línea 3982, en install_exe_if_needed
run(r'"%s" %s' % (exe,silentflags),accept_returncodes=accept_returncodes,timeout=timeout,pidlist=pidlist)
Archivo "C:\Program Files (x86)\wapt\setuphelpers.py", línea 1029, en run
raise TimeoutExpired(cmd,''.join(output),timeout)
TimeoutExpired: El comando '"homeio-1.5.0-installer.exe" --unattendedmodeui none --mode unattended --disable-components connectio --disable-components VisualC2010' agotó el tiempo de espera después de 300 segundos con la salida ''ADVERTENCIA: La opción --disable-components ya se proporcionó\r\n''
TimeoutExpired: El comando '"homeio-1.5.0-installer.exe" --unattendedmodeui none --mode unattended --disable-components connectio --disable-components VisualC2010' agotó el tiempo de espera después de 300 segundos con Salida ''ADVERTENCIA: La opción --disable-components ya se ha proporcionado\r\n''
En una inspección más cercana, la instalación está casi terminada pero permanece congelada al final.
Tengo dos ideas pero no sé cómo implementarlas:
1) La aplicación intenta conectarse a Internet pero como no hay ningún usuario conectado, mi proxy la bloquea -> ¿Cómo configuro un proxy en un paquete WAPT?
2) Los archivos de usuario se copian al final y el paquete no escribe donde debería (intenté iniciar el servicio WAPT con una cuenta de administrador local y de dominio, pero eso no cambió nada)

¿Qué opinas?
Gracias de antemano

Re: Problema al instalar el paquete de instalación de Home I/O

Publicado: 19 de marzo de 2019 - 11:18
por gaelds
Buen día,
Si ayuda, aquí está mi código que instala exitosamente Home IO en las computadoras de mis estudiantes, sin requerir ninguna credencial de proxy:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []
uninstallstring = "C:\Program Files (x86)\Real Games\Home IO\uninstall.exe"
global destdir
destdir = makepath(programfiles32,'Real Games','Home IO')

def install():
    print('Installation de dst-home-io-distrame')
    install_exe_if_needed("homeio-1.5.0-installer.exe",' --unattendedmodeui none --mode unattended --installer-language fr',key='Home I/O',min_version='1.5.0')

    print(ur'Copie de la licence 2019')
    if isdir(destdir):
        filecopyto("lycee-professionnel.lic",destdir)
    else:
        error(ur'Dossier Home IO introuvable')

    print('Raccourci dans dossier Logiciels sur bureau public')
    if not isdir(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme')):
        mkdirs(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme'))
    create_shortcut(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk'),target=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32, wDir=r'%s\Real Games\Connect IO\\' %programfiles32,icon=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32)
    create_shortcut(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Bewatest.lnk'),target=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32, wDir=r'%s\Real Games\Connect IO\\' %programfiles32,icon=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32)
    remove_desktop_shortcut('Home IO')
    remove_desktop_shortcut('Connect IO')

def uninstall():
    print('Suppression de Home et Connect IO')
    if isfile(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Connect IO.lnk')):
        remove_file(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Connect IO.lnk'))
    if isfile(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk')):
        remove_file(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk'))

def session_setup():
    remove_user_desktop_shortcut('Home IO')
    remove_user_desktop_shortcut('Connect IO')
PD: Seguramente hay otra forma de especificar el directorio de instalación del software sin codificarlo, pero no la había encontrado.

Re: Problema al instalar el paquete de instalación de Home I/O

Publicado: 9 de septiembre de 2019 - 11:20 a. m.
por Mickael Lombard
Muchas gracias por tu mensaje, lo acabo de ver.
Acabo de crear un nuevo paquete siguiendo tus instrucciones, pero lamentablemente, se comporta exactamente igual. Debe haber alguna diferencia en mis equipos.

Re: Problema al instalar el paquete de instalación de Home I/O

Publicado: 30 de enero de 2020 - 16:02
por sfonteneau
Estoy respondiendo tarde (recién experimenté esto)

El problema es realmente muy extraño, el problema ocurre con instaladores del tipo installbuilder

Básicamente, tienes que iniciarlo una vez y luego iniciarlo nuevamente para que se inicie correctamente en modo silencioso.

Aquí hay un fragmento de código para resolver el problema

Código: Seleccionar todo

    
def install():
    filename = 'FreeStyleLibreInstaller-EU_7196.exe'
    versionpaquet = control['version'].split('-',1)[0]
    try:
        install_exe_if_needed(makepath(basedir,filename),'--installer-language fr --mode unattended --unattendedmodeui none',key='FreeStyle Libre %s' % versionpaquet,min_version=versionpaquet,timeout=30)
    except:
        killalltasks(filename)
        time.sleep(2)
        install_exe_if_needed(makepath(basedir,filename),'--installer-language fr --mode unattended --unattendedmodeui none',key='FreeStyle Libre %s' % versionpaquet,min_version=versionpaquet,timeout=60)