Page 1 sur 1

Paquet Crouzet Virtual display

Posté : 27 nov. 2023 - 11:39
par gaelds
Bonjour,

J'essaye de créer un paquet pour le logiciel Crouzet "Virtual Display". Je me suis inspiré de mes paquets Crouzet Soft et Touch Soft qui installent aussi des pilotes, mais j'ai toujours ces 2 écrans quand le Setup_CVD_PC_V2_3_01_02.exe se lance (voir PJ).

Dans mon paquet, j'ai copié le répertoire de pilotes "DriverUSB" venant de "C:\Program Files (x86)\Crouzet automation\Crouzet Virtual Display\". J'ai essayé l'installation des pilotes par pnputil ou dpinst mais j'ai les mêmes écrans qui s'affichent. En cliquant manuellement sur "Suivant" et "Terminer", le paquet finit de s'installer sans erreur.

Voici la fonction install():

Code : Tout sélectionner

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: Paquet Crouzet Virtual display

Posté : 04 déc. 2023 - 11:50
par cbaziret
Bonjour,

On a essayé d'installer le logiciel de notre côté et on a le même problème. Le problème est que l'installeur va lancer l'installation des pilotes peu importe qu'ils soient déjà installés ou non et de façon non silencieuse.

La solution pour moi ce serait de faire une installation silencieuse des drivers et une installation portable du logiciel ensuite.

Pour l'installation portable vous avez juste besoin d'installer le logiciel une fois, de récupérer les sources contenues dans "C:\Program Files (x86)\Crouzet automation\Crouzet Virtual Display" et dans le paquet de déplacer les sources dans le même dossier.

Re: Paquet Crouzet Virtual display

Posté : 04 déc. 2023 - 13:19
par gaelds
Merci pour l'info ! je n'aurais pas cru que ces logiciels Crouzet pouvaient être portabilisés.

Re: Paquet Crouzet Virtual display

Posté : 15 janv. 2024 - 14:45
par gaelds
Si ça peut en aider certains, voici un exemple de setup.py qui fonctionne pour "installer" Crouzet Virtual Display (copie du dossier d'installation + pilotes). A améliorer/personnaliser évidemment.

Code : Tout sélectionner

# -*- 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")