Pacchetto display virtuale Crouzet

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Risposta
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

27 novembre 2023 - 11:39

Buongiorno,

Sto cercando di creare un pacchetto per il software Crouzet "Virtual Display". L'ho basato sui miei pacchetti Crouzet Soft e Touch Soft, che installano anche i driver, ma quando avvio Setup_CVD_PC_V2_3_01_02.exe, ottengo ancora queste due schermate (vedi immagine allegata).

Nel mio pacchetto, ho copiato la directory del driver "DriverUSB" da "C:\Programmi (x86)\Crouzet automation\Crouzet Virtual Display\". Ho provato a installare i driver usando pnputil o dpinst, ma ottengo le stesse schermate. Facendo clic manualmente su "Avanti" e "Fine", il pacchetto completa l'installazione senza errori.

Ecco la funzione install():

Codice: Seleziona tutto

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-')
Allegati
2.jpg
2.jpg (42,95 KB) Visualizzato 4991 volte
1.jpg
1.jpg (29,11 KB) Visualizzato 4991 volte
cbaziret
Messaggi: 5
Registrazione: 28 settembre 2023 - 15:46

4 dicembre 2023 - 11:50

Salve,

abbiamo provato a installare il software manualmente e riscontriamo lo stesso problema. Il problema è che il programma di installazione avvia l'installazione dei driver indipendentemente dal fatto che siano già installati o meno, e non si tratta di un'installazione silenziosa.

La mia soluzione sarebbe quella di eseguire un'installazione silenziosa dei driver seguita da un'installazione portatile del software.

Per l'installazione portatile, è sufficiente installare il software una sola volta, recuperare i file sorgente da "C:\Program Files (x86)\Crouzet automation\Crouzet Virtual Display" e spostarli nella stessa cartella.
Clément BAZIRET - Tranquil IT,
creatore di pacchetti
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

4 dicembre 2023 - 13:19

Grazie per l'informazione! Non avrei mai pensato che questi programmi software Crouzet potessero essere resi portabili.
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

15 gennaio 2024 - 14:45

Se può essere utile a qualcuno, ecco un esempio di un file setup.py funzionante per "installare" Crouzet Virtual Display (copiando la cartella di installazione e i driver). Ovviamente necessita di miglioramenti/personalizzazioni.

Codice: Seleziona tutto

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