Page 1 sur 2

[RESOLU] Setup.py de Mblock

Posté : 05 avr. 2017 - 12:12
par agatoi
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')
    

Re: Setup.py de Mblock

Posté : 10 avr. 2017 - 22:21
par sfonteneau
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

Re: Setup.py de Mblock

Posté : 07 nov. 2017 - 14:35
par gaelds
Existe-t-il un moyen de forcer la langue française à l'installation de mblock ?

Re: Setup.py de Mblock

Posté : 07 nov. 2017 - 19:55
par sfonteneau
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

Re: Setup.py de Mblock

Posté : 08 nov. 2017 - 16:36
par gaelds
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.

Re: Setup.py de Mblock

Posté : 08 nov. 2017 - 21:59
par sfonteneau
Il faut inclure %appdata% dans la boucle de scan avec regshot

Re: Setup.py de Mblock

Posté : 09 nov. 2017 - 11:58
par gaelds
ça ne donne rien non plus, tant pis.

Re: Setup.py de Mblock

Posté : 10 nov. 2017 - 00:08
par sfonteneau
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

Re: Setup.py de Mblock

Posté : 10 nov. 2017 - 09:21
par gaelds
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.

Re: Setup.py de Mblock

Posté : 26 déc. 2017 - 17:29
par myosotis
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é