Página 1 de 2

[RESUELTO] Mblock Setup.py

Publicado: 5 de abril de 2017 - 12:12 p. m.
por agatoi
Hola a todos,

A continuación se muestra el archivo setup.py del software Mblock. Basado en Scratch, Mblock es un software de programación para Mbots. Los módulos Mbots se basan en placas Arduino.

Tenga en cuenta que después de la instalación, en la primera ejecución le pedirá que defina un acceso a la red.

Y también hay que instalar los controladores de Arduino y otros componentes. Si alguien quiere añadirlo a la lista...

Enlace de descarga para el archivo .exe: http://www.mblock.cc/

Código: Seleccionar todo

# -*- 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: Configuración de Mblock.py

Publicado: 10 de abril de 2017 - 22:21
por sfonteneau
Para instalar un controlador con Windows:

Ejemplo:

Código: Seleccionar todo

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

Para un controlador cuya firma muestra una advertencia de Windows:

Primero, vaya a regedit y verifique las claves presentes en "certificados"
Instalar el controlador manualmente (debe aceptar instalar el controlador)

A continuación, irás a la siguiente ruta para encontrar tu clave de certificado (se ha añadido):
→ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\TrustedPublisher\Certificates

Simplemente necesita agregar la clave antes de agregar la información del controlador.

Si el conductor no está firmado en absoluto, deberá firmarlo usted mismo

Re: Configuración de Mblock.py

Publicado: 7 de noviembre de 2017 - 14:35
por gaelds
¿Hay alguna manera de forzar el uso del idioma francés al instalar mblock?

Re: Configuración de Mblock.py

Publicado: 7 de noviembre de 2017 - 19:55
por sfonteneau
Recomiendo ejecutar un `regshot` y comparar los valores antes y después del cambio de idioma para ver dónde se produce dicho cambio.

Posteriormente, podrá modificar el valor en `session_setup`.

Re: Configuración de Mblock.py

Publicado: 8 de noviembre de 2017 - 16:36
por gaelds
Acabo de probarlo, pero no creo que la solución esté en el archivo de resultados...
http://www.domsortais.fr/wapt/res0000.txt

Y a pesar de la instalación de los controladores de Arduino que deberían estar incluidos en el paquete, cuando inicias el robot Arduino, Windows pide que instales su controlador.

Re: Configuración de Mblock.py

Publicado: 8 de noviembre de 2017 - 21:59
por sfonteneau
Debes incluir %appdata% en el bucle de escaneo con regshot

Re: Configuración de Mblock.py

Publicado: 9 de noviembre de 2017 - 11:58 a. m.
por gaelds
Eso tampoco funciona, bueno.

Re: Configuración de Mblock.py

Publicado: 10 de noviembre de 2017 - 00:08
por sfonteneau
Para su información, las dos carpetas que le indican a mBlock el idioma seleccionado son:

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

Re: Configuración de Mblock.py

Publicado: 10 de noviembre de 2017 - 09:21
por gaelds
¡Gracias! Lo intentaré. Terminé instalando las extensiones y el controlador manualmente porque copiarlos a programfiles\mBlock\ext\libraries\ no fue suficiente. Las extensiones aparecen como instaladas, pero transferirlas al robot no funciona. Y tenemos que reinstalar nuestro propio controlador de Arduino porque el de tu paquete debe ser incompatible.

Re: Configuración de Mblock.py

Publicado: 26 de diciembre de 2017 - 17:29
por myosotis
Hola.

En primer lugar, ¡felicidades por todo el trabajo que ya has realizado!

Al igual que gaelds, yo también tengo un gran problema al configurar el idioma francés en mBlocks. Este software definitivamente no funciona de la manera habitual. ¡Parece que el cambio de idioma de la interfaz se realiza usando una columna específica en un archivo .xlsx! (locale.xlsx, columna E)


@sfonteneau: Implementé mBlock v3.4.11 y no puedo encontrar ningún rastro de las rutas que indicaste, a saber,

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

está presente en C:\Program Files (x86)\mBlock\assets
, y hay un archivo locale.xlsx ubicado en C:\Program Files (x86)\mBlock\locale y en %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\mBlock\locale.

Sin embargo, ahí no está el problema porque (1) estos archivos no se modifican al cambiar de idioma, (2) aunque establezco el idioma (francés) para user1 y copio estos archivos al perfil de otro usuario, nada cambia. Arranca en inglés o en el idioma previamente seleccionado por user2 (por lo que la elección de idioma está vinculada al usuario actual).

...mientras escribía esto, se me ocurrió la solución: una rápida captura de registro en el registro y en %AppData%\Roaming\ resaltó EL archivo necesario para forzar el francés. Es makeblock.sol , ubicado en %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\


... Supongo que, en términos generales, primero tendré que crear %AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\#SharedObjects\ y luego copiar el archivo makeblock.sol allí, que incluiremos en el paquete. Sin embargo, tengo miedo de cometer un error porque no soy muy meticuloso.

sfonteneau, para evitar perder tiempo y hacer esto correctamente, ¿podrías ayudarnos a escribir session_setup?

PD: Parece que el software también necesita acceder a AppData%\Roaming\com.makeblock.Scratch3.4.11\Local Store\locale\locale.xlsx cuando cambia de idioma. También ejecuté Procmon durante mi auditoría y veo operaciones de lectura/escritura en este archivo después de que se crea makeblock.sol. Lo siento.