Página 1 de 1

[RESUELTO] Ruta UNC como argumento msi

Publicado: 30 de mayo de 2023 - 15:04
por cefinformatique
Buen día,

Estoy intentando instalar un software "DR" que requiere los siguientes argumentos:
- PATHRENSEIGNE='"1"'
- TYPEINSTALL"="PORTÁTIL"
- EXE="C:\EIC\DR\Aplicación"
- DATOS="C:\EIC\DR\Aplicación\DATOS"
- NETWORKDATA="\\miservidor\SRV\DRData"

Entonces creé el archivo setup.py de la siguiente manera:

Código: Seleccionar todo

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
uninstallkey = ["{61D2EDA6-1B60-49A2-9167-159BA73B2897}"]

def install():
        # Declaring local variables
        install_laptop_properties = {
            "PATHRENSEIGNE":'"1"',
            "TYPEINSTALL":'"PORTABLE"',
            "EXE":"C:\EIC\DR\Application",
            "DONNEES":"C:\EIC\DR\Application\DONNEES'",
            "DONNEESRESEAU":"\\monserveur\SRV\DRData'",
        }
        # Installing the software
        print("Installation: DR")
        install_msi_if_needed('DR.msi', properties = install_laptop_properties)
Lamentablemente, me aparece el siguiente error:

Código: Seleccionar todo

CRITICAL Fatal error in install script: CalledProcessErrorOutput: Command 'msiexec /norestart /q /i "DR.msi" PATHRENSEIGNE="1" TYPEINSTALL="PORTABLE" EXE=C:\\EIC\\DR\\Application\ DONNEES=C:\\EIC\\DR\\Application\\DONNEES DONNEESRESEAU=\\\\fichiers.wizzyoo.info\\WZY\\DRData' returned non-zero exit status 1603.
Entonces tengo dos preguntas:
- ¿El hecho de que las barras invertidas se dupliquen supone un problema para la instalación?
- ¿Cómo puedo agregar una opción /L*v "log.log" para obtener los registros de instalación de msi?

Re: Ruta UNC como argumento MSI

Publicado: 30 de mayo de 2023 - 16:08
por cefinformatique
Si uso:

Código: Seleccionar todo

"EXE":r'C:\EIC\DR\Application',
en lugar de :

Código: Seleccionar todo

"EXE":"C:\EIC\DR\Application",
Funciona con VSCodium, sin embargo sigo recibiendo el siguiente error durante la instalación del paquete con WAPT:

Código: Seleccionar todo

Installation: DR
Installing: DR.msi (5.7.0302)
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4074, in install_wapt
    exitstatus = setup.install()
  File "C:\WINDOWS\TEMP\waptz5r69e_d\setup.py", line 55, in install
  File "C:\Program Files (x86)\wapt\common.py", line 4024, in new_func
    return func(*args, **kwargs)
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 1449, in install_msi_if_needed
    run(r'msiexec /norestart /q /i "%s" %s' % (msi, props), accept_returncodes=accept_returncodes, timeout=timeout, pidlist=pidlist)
  File "C:\Program Files (x86)\wapt\waptutils.py", line 2112, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command 'msiexec /norestart /q /i "DR.msi" PATHRENSEIGNE=1 TYPEINSTALL=POSTE TYPEPOSTE=2 EXE=C:\\EIC\\DR\\Application DONNEES=\\\\monserveur\\SRV\\DRData' returned non-zero exit status 1603.
Output:

CalledProcessErrorOutput: Command 'msiexec /norestart /q /i "DR.msi" PATHRENSEIGNE=1 TYPEINSTALL=POSTE TYPEPOSTE=2 EXE=C:\\EIC\\DR\\Application DONNEES=\\\\monserveur\\SRV\\DRData' returned non-zero exit status 1603.
Output:

Re: Ruta UNC como argumento MSI

Publicado: 31 de mayo de 2023 - 09:04
por cefinformatique
En definitiva, creo que el problema reside en el propio software, por lo que no tiene relación con el paquete WAPT.

En cualquier caso, he evitado la necesidad de especificar argumentos en el archivo setup.py generando en su lugar un archivo de respuesta MST.

Re: [RESUELTO] Ruta UNC como argumento msi

Publicado: 31 de mayo de 2023 - 09:45
por sfonteneau
En los argumentos tienes DATA que apunta a un servidor mediante UNC.

¿Es posible que la máquina deba tener acceso a los datos en el momento de la instalación para que esta funcione correctamente?