Página 1 de 1

Paquete de visualización virtual de Crouzet

Publicado: 27 de noviembre de 2023 - 11:39 a. m.
por gaelds
Buen día,

Estoy intentando crear un paquete para el software Crouzet "Virtual Display". Lo basé en mis paquetes Crouzet Soft y Touch Soft, que también instalan controladores, pero sigo viendo estas dos pantallas al iniciar Setup_CVD_PC_V2_3_01_02.exe (ver imagen adjunta).

En mi paquete, copié el directorio del controlador "DriverUSB" desde "C:\Archivos de programa (x86)\Crouzet automation\Crouzet Virtual Display\". Intenté instalar los controladores con pnputil o dpinst, pero me aparecen las mismas pantallas. Al hacer clic manualmente en "Siguiente" y "Finalizar", el paquete completa la instalación sin errores.

Aquí está la función install():

Código: Seleccionar todo

def install():
    print(r'Installation du certificat Crouzet et SiliconLabs')
    currentpath = os.path.dirname(os.path.realpath(__file__))
    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\crouzet.cer' % currentpath)
    run(r'C:\Windows\System32\certutil.exe -addstore "TrustedPublisher" %s\siliconlabs.cer' % currentpath)

    print(r'Installation des pilotes USB')
    with disable_file_system_redirection():
        run(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\x64\ftdibus.inf"' % basedir)
        run(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\x64\ftdiport.inf"' % basedir)
        run(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\windrv_BLE\x64\dfu.inf"' % basedir)
        run(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\windrv_BLE\x64\usbserial.inf"' % basedir)

    #run_notfatal(r'%s\DriverUSB\windrv_BLE\x64\dpinst.exe /S /F'  % currentpath)
    #run_notfatal(r'%s\DriverUSB\x64\dpinst.exe /S /F'  % currentpath)

    print(u'Installation de %s' % app_name)
    run_notfatal('Setup_CVD_PC_V2_3_01_02.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-')

Re: Paquete de visualización virtual de Crouzet

Publicado: 4 de diciembre de 2023 - 11:50 a. m.
por cbaziret
Hola,

intentamos instalar el software nosotros mismos y tenemos el mismo problema. El problema es que el instalador inicia la instalación de los controladores independientemente de si ya están instalados o no, y no se trata de una instalación silenciosa.

Mi solución sería realizar una instalación silenciosa de los controladores seguida de una instalación portátil del software.

Para la instalación portátil, solo necesitas instalar el software una vez, recuperar los archivos fuente de "C:\Archivos de programa (x86)\Crouzet automation\Crouzet Virtual Display" y moverlos a la misma carpeta.

Re: Paquete de visualización virtual de Crouzet

Publicado: 4 de diciembre de 2023 - 13:19
por gaelds
¡Gracias por la información! Nunca pensé que estos programas de Crouzet pudieran ser portables.

Re: Paquete de visualización virtual de Crouzet

Publicado: 15 de enero de 2024 - 14:45
por gaelds
Si le sirve de ayuda, aquí tiene un ejemplo de un archivo setup.py funcional para instalar Crouzet Virtual Display (copiando la carpeta de instalación y los controladores). Obviamente, necesita mejoras o personalización.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []

app_name = 'Crouzet Virtual Display'
app_dir = makepath(programfiles32, 'Crouzet automation')
app_dir_binaries = makepath(app_dir,'Crouzet Virtual Display')
binary_name = "Crouzet Virtual Display.exe"
kill_list = [binary_name]
shortcutsdir = makepath(common_desktop(),'Logiciels','Elec - Automatisme')
uninstall_string = r'"C:\Program Files (x86)\Crouzet automation\Crouzet Virtual Display\unins000.exe" /silent'

def install():
    #print(r'Désinstallation de l\'ancienne version')
    run_notfatal(uninstall_string)
    print(r'Installation des pilotes USB')
    currentpath = os.path.dirname(os.path.realpath(__file__))
    with disable_file_system_redirection():
        run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\x64\ftdibus.inf"' % basedir)
        run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\x64\ftdiport.inf"' % basedir)
        run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\windrv_BLE\x64\dfu.inf"' % basedir)
        run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\DriverUSB\windrv_BLE\x64\usbserial.inf"' % basedir)
    print(r'Copie du dossier %s' % app_dir_binaries)
    killalltasks(kill_list)
    if not isdir(app_dir_binaries):
        mkdirs(app_dir_binaries)
    copytree2(app_name, app_dir_binaries,onreplace = default_overwrite)
    print(r'Création du raccourci %s sur le bureau public' %app_name)
    if not isdir(shortcutsdir):
        mkdirs(shortcutsdir)
    create_shortcut(makepath(shortcutsdir,'%s.lnk' %app_name), target=makepath(app_dir_binaries,binary_name))
    remove_desktop_shortcut(app_name)

def uninstall():
    print(r"Suppression de %s" %app_name)
    killalltasks(kill_list)
    if isdir(app_dir_binaries):
        remove_tree(app_dir_binaries)
    if  isfile(makepath(shortcutsdir,'%s.lnk' %app_name)):
        remove_file(makepath(shortcutsdir,'%s.lnk' %app_name))

def audit():
    if isfile(makepath(app_dir_binaries,binary_name)):
        return("OK")