[RESUELTO] Mblock Setup.py

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
agatoi
Mensajes: 23
Inscripción: 05 de abril de 2017 - 12:03

5 de abril de 2017 - 12:12

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')
    
Última edición realizada por agatoi el 23 de abril de 2019 a las 15:00, editado 1 vez.
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

10 de abril de 2017 - 22:21

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
Gaelds
Mensajes: 254
Inscripción: 22 de noviembre de 2015 - 08:37

7 de noviembre de 2017 - 14:35

¿Hay alguna manera de forzar el uso del idioma francés al instalar mblock?
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

7 de noviembre de 2017 - 19:55

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`.
Gaelds
Mensajes: 254
Inscripción: 22 de noviembre de 2015 - 08:37

8 de noviembre de 2017 - 16:36

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.
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

8 de noviembre de 2017 - 21:59

Debes incluir %appdata% en el bucle de escaneo con regshot
Gaelds
Mensajes: 254
Inscripción: 22 de noviembre de 2015 - 08:37

9 de noviembre de 2017 - 11:58 AM

Eso tampoco funciona, bueno.
Avatar de usuario
Sfonteneau
Experto en WAPT
Mensajes: 2312
Registrado: 10 de julio de 2014 - 23:52
Contacto :

10 de noviembre de 2017 - 00:08

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
Gaelds
Mensajes: 254
Inscripción: 22 de noviembre de 2015 - 08:37

10 de noviembre de 2017 - 09:21

¡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.
nomeolvides
Mensajes: 5
Registrado: 26 de diciembre de 2017 - 16:34

26 de diciembre de 2017 - 17:29

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.
Bloqueado