[RESOLU] Setup.py de Mblock

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
agatoi
Messages : 23
Inscription : 05 avr. 2017 - 12:03

05 avr. 2017 - 12:12

Bonjour à tous,

Ci-dessous le setup.py du logiciel Mblock. Basé sur Scratch, Mblock est un logiciel de programmation pour Mbots. Les modules Mbots sont eux-même construits autour de cartes Arduino.

Attention, après l'install, à la première exécution il demande de définir un accès réseau.

Et il y a aussi l'installation des drivers Arduino ou autres à faire. Si quelqu'un se sent d'en rajouter l'installation...

Lien de téléchargement de l'exe : http://www.mblock.cc/

Code : Tout sélectionner

# -*- 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')
    
Dernière modification par agatoi le 23 avr. 2019 - 15:00, modifié 1 fois.
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

10 avr. 2017 - 22:21

Pour l'installation d'un pilote avec windows :

Exemple:

Code : Tout sélectionner

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

Pour un pilote dont la signature du pilote donne un avertissement windows :

Dans un premier temps, aller dans regedit et vérifier les clés présentes dans «certificates»
Installer le pilote manuellement (vous devez accepter d’installer le pilote)

Ensuite , vous allez vous dirigez au chemin suivant afin de trouver votre clé de certificat (elle s’est rajouté) :
→ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\TrustedPublisher\Certificates

Il vous suffit simplement ajouter la clé avant l'ajout du drivers inf.

Dans le cas où le drivers n'est pas du tout signée il faudra le signer soit même
gaelds
Messages : 220
Inscription : 22 nov. 2015 - 08:37

07 nov. 2017 - 14:35

Existe-t-il un moyen de forcer la langue française à l'installation de mblock ?
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

07 nov. 2017 - 19:55

Je vous conseille de lancer un regshot et de comparer entre avant et après le changement de langue pour regarder où est changée la langue.

Vous pourrez peut être par la suite modifier la valeur en session_setup
gaelds
Messages : 220
Inscription : 22 nov. 2015 - 08:37

08 nov. 2017 - 16:36

Je viens d'essayer mais je n'ai pas l'impression que la solution se trouve dans le fichier résultat...
http://www.domsortais.fr/wapt/res0000.txt

Et sinon malgré l'installation des pilotes arduino qui devrait se faire dans le paquet, quand on lance le robot arduino, windows demande d'installer son pilote.
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

08 nov. 2017 - 21:59

Il faut inclure %appdata% dans la boucle de scan avec regshot
gaelds
Messages : 220
Inscription : 22 nov. 2015 - 08:37

09 nov. 2017 - 11:58

ça ne donne rien non plus, tant pis.
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

10 nov. 2017 - 00:08

Pour info les deux dossier qui indique a mblock la langue séléctionnée

%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\resource_version.xml
%appdata%\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale
gaelds
Messages : 220
Inscription : 22 nov. 2015 - 08:37

10 nov. 2017 - 09:21

Merci ! je testerai ça. J'ai fini par installer les extensions et le pilote manuellement parce que la copie des extensions dans programfiles\mBlock\ext\libraries\ ne suffit pas. Les extensions apparaissent comme installées mais le transfert vers le robot ne fonctionne pas. Et il faut réinstaller notre propre pilote arduino car celui dans votre paquet ne doit pas correspondre.
myosotis
Messages : 5
Inscription : 26 déc. 2017 - 16:34

26 déc. 2017 - 17:29

Bonjour.

Tout d'abord félicitation pour tout le boulot qui est déjà accompli!

Comme gaelds moi aussi je rencontre un gros soucis pour fixer la langue FR dans mBlocks. Ce soft ne fonctionne définitivement pas de façon classique. Semble t'il le switch de la langue de l'interface se fait par l'exploitation d'une colonne particulière dans un fichier .xlsx! (locale.xlsx, colonne E)


@sfonteneau: j'ai déployé mBlock v3.4.11 et je ne retrouve pas trace des chemins que tu as indiqué, à savoir

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

resource_version.xml est bien présent dans C:\Program Files (x86)\mBlock\assets
et y a bien un locale.xlsx qu'on retrouve sous C:\Program Files (x86)\mBlock\locale et sous %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale

toutefois ce n'est pas là que ça se joue car (1) ces fichiers ne sont pas modifiés tandis qu'on switch de langue, (2) on a beau fixer la langue (Français) pour un user1 et faire une copie de ces fichiers dans le profil d'un autre utilisateur rien ne change. On boote en Anglais ou dans la langue précédemment retenue par le user2 (le choix de la langue est donc bien attachée à current_user).

...... en vous écrivant la solution a pointé son nez: un coup de regshot sur le registre et sur %AppData%\Roaming\ a mis en exergue LE fichier qui va bien pour imposer le français. Il s'agit de makeblock.sol qu'on retrouve sous %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\


... je suppose que dans les grandes lignes il va falloir créer %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\ avant tout et imposer y copier le makeblock.sol qu'on embarquera dans le paquet toutefois j'ai peur de me planter car je manque de rigueur.

sfonteneau, pour éviter de perdre du temps et faire ça bien, peux-tu nous aider dans la rédaction du session_setup STP?

ps, info +: Semble t'il le soft a également besoin de toucher à AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\locale\locale.xlsx lors du changement de langue. J'avais également lancé procmon lors de mon audit, et je constate de la lecture-écriture sur ce fichier après la constitution de makeblock.sol. Désolé
Verrouillé