[RISOLTO] Mblock Setup.py

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
agatoi
Messaggi: 23
Registrazione: 05 apr 2017 - 12:03

5 aprile 2017 - 12:12

Ciao a tutti,

Di seguito è riportato il file setup.py per il software Mblock. Basato su Scratch, Mblock è un software di programmazione per Mbots. I moduli Mbots stessi sono costruiti attorno alle schede Arduino.

Tieni presente che dopo l'installazione, alla prima esecuzione ti verrà chiesto di definire un accesso di rete.

E poi c'è anche l'installazione dei driver Arduino e di altri componenti. Se qualcuno ha voglia di aggiungerli alla lista...

Link per scaricare il file .exe: http://www.mblock.cc/

Codice: Seleziona tutto

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

uninstallkey = []

#uninstallkey = ['{1E9DFEBB-4088-4693-A521-C755318BD492}_is1']
#uninstallstring=""C:\Program Files\mBlock\unins000.exe" /SILENT"

#def install():
#    print('installing aiz-mblock')
#    run(r'"mBlock_win_V3.4.6.exe" /VERYSILENT')

def install():

    versionpaquet = control['version'].split('-',1)[0]

    print('installing aiz-mblock')
    install_exe_if_needed("mBlock_win_V"+versionpaquet+".exe",
                        silentflags="/VERYSILENT",
                        key="{1E9DFEBB-4088-4693-A521-C755318BD492}_is1",
                        min_version=versionpaquet,
                        killbefore="mBlock.exe")

    #suppression de la clé de désinstallation pour pouvoir faire une désinstallation silencieuse. Voir def uninstall():
    uninstallkey.remove("{1E9DFEBB-4088-4693-A521-C755318BD492}_is1")

    #suppression du raccourci bureau
    remove_desktop_shortcut('mBlock')

#Pour une désinstallation silencieuse.
def uninstall():
    print('uninstalling aiz-mblock')
    run(r'"C:\Program Files\mBlock\unins000.exe" /VERYSILENT')
    
Ultima modifica di agatoi il 23 aprile 2019 alle 15:00, modificato 1 volta.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

10 aprile 2017 - 22:21

Per installare un driver con Windows:

Esempio:

Codice: Seleziona tutto

run(r'C:\Windows\System32\pnputil.exe -i -a %s\esaousb.inf' % os.path.dirname(os.path.realpath(__file__)))

Per un driver la cui firma visualizza un avviso di Windows:

Per prima cosa, vai su regedit e controlla le chiavi presenti in "certificates"
Installa il driver manualmente (devi accettare di installare il driver)

Successivamente, per trovare la chiave del certificato (che è stata aggiunta), dovrai seguire il seguente percorso:
→ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\TrustedPublisher\Certificates

È sufficiente aggiungere la chiave prima di aggiungere le informazioni sul driver.

Se il conducente non ha firmato, dovrai firmarlo tu stesso
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

7 novembre 2017 - 14:35

Esiste un modo per forzare l'utilizzo della lingua francese durante l'installazione di mblock?
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

7 novembre 2017 - 19:55

Consiglio di eseguire un regshot e confrontare i valori prima e dopo il cambio di lingua per capire dove avviene la modifica.

Potresti quindi essere in grado di modificare il valore in session_setup.
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

8 novembre 2017 - 16:36

Ho appena provato, ma non credo che la soluzione sia nel file dei risultati...
http://www.domsortais.fr/wapt/res0000.txt

E nonostante l'installazione dei driver Arduino che dovrebbero essere inclusi nel pacchetto, quando si avvia il robot Arduino, Windows chiede di installare il suo driver.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

8 novembre 2017 - 21:59

Devi includere %appdata% nel ciclo di scansione con regshot
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

9 novembre 2017 - 11:58

Anche questo non funziona, vabbè.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

10 novembre 2017 - 00:08

Per tua informazione, le due cartelle che comunicano a mBlock la lingua selezionata sono:

%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\resource_version.xml e
%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

10 novembre 2017 - 09:21

Grazie! Ci proverò. Ho finito per installare manualmente le estensioni e il driver perché copiarli in programfiles\mBlock\ext\libraries\ non era sufficiente. Le estensioni sembrano installate, ma trasferirle al robot non funziona. E dobbiamo reinstallare il nostro driver Arduino perché quello nel tuo pacchetto non deve essere compatibile.
nontiscordardime
Messaggi: 5
Registrazione effettuata il: 26 dicembre 2017 - ore 16:34

26 dicembre 2017 - 17:29

Ciao.

Prima di tutto, complimenti per tutto il lavoro che hai già svolto!

Come gaelds, anch'io ho un grosso problema con l'impostazione della lingua francese in mBlocks. Questo software non funziona proprio nel modo consueto. Sembra che il cambio di lingua dell'interfaccia avvenga tramite una colonna specifica in un file .xlsx! (locale.xlsx, colonna E)


@sfonteneau: ho installato mBlock v3.4.11 e non riesco a trovare alcuna traccia dei percorsi che hai indicato, ovvero

%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\resource_version.xml.
%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale

è effettivamente presente in C:\Program Files (x86)\mBlock\assets
, ed esiste effettivamente un file locale.xlsx situato in C:\Program Files (x86)\mBlock\locale e in %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale.

Tuttavia, non è lì che risiede il problema perché (1) questi file non vengono modificati quando si cambia lingua, (2) anche se imposto la lingua (francese) per l'utente1 e copio questi file nel profilo di un altro utente, non cambia nulla. Si avvia in inglese o nella lingua precedentemente selezionata dall'utente2 (quindi la scelta della lingua è effettivamente collegata all'utente corrente).

...mentre scrivevo questo, mi è venuta in mente la soluzione: una rapida scansione del registro e di %AppData%\Roaming\ ha evidenziato IL file necessario per forzare il francese. Si tratta di makeblock.sol , situato in %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\


... Suppongo che, in linea di massima, dovrò prima creare %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\ e poi copiare lì il file makeblock.sol, che includeremo nel pacchetto. Tuttavia, ho paura di commettere un errore perché non sono molto meticoloso.

sfonteneau, per evitare di perdere tempo e per fare le cose per bene, potresti aiutarci a scrivere il session_setup?

PS: Sembra che il software debba anche accedere a AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\locale\locale.xlsx quando si cambia lingua. Ho anche eseguito procmon durante la mia verifica e vedo operazioni di lettura/scrittura su questo file dopo la creazione di makeblock.sol. Scusa.
Bloccato