tis-bd-studio-pratic 1.0.5.0-3

  • package : tis-bd-studio-pratic
  • version : 1.0.5.0-3
  • description : Automatic package for 559ff002_stp
  • maintainer : Simon Fonteneau
  • date : 2017-09-13 10:16:48
  • signer : TRANQUIL IT SYSTEMS
  • signature_date : 20170913-101643
  • min_os_version :
  • min_wapt_version :

setup.py

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

uninstallkey = ['BD Studio Pratic']

def install():

    def getversionbd(key):
        return get_file_properties(makepath(programfiles32,'Micro Application','BD Studio Pratic','Comic.exe'))['ProductVersion']

    install_exe_if_needed("559FF002_stp.exe",'/S',key='BD Studio Pratic',min_version='1.0.5.0',get_version=getversionbd)
    remove_desktop_shortcut('BD Studio Pratic')

    

manifest

[["setup.py", "2e208421fb7c86ce7140c90ea1b7ba6730f485c7"], ["WAPT/certificate.crt", "0db563dc9077b268ca07ba834322d0fc5e21f8e5"], ["WAPT/wapt.psproj", "557e60050809687d56525e6ac46df9c0e02ccae6"], ["WAPT/control", "5bc6547fe249388e9f33c3c77602f42d0ac1eb36"], ["559FF002_stp.exe", "c9a65088a34365e52d8f54dc521fff6b56fce7a9"]]
    

Forum feed

WAPT Packages / Paquets WAPT • Re: Setup.py de Mblock
myosotis a écrit :
31 décembre 2017, 16:06
Ne peut-on pas interagir avec l'appdata du current user tandis qu'un paquet est déployé?
On peut mais c'est plus compliqué, le session setup rend les chose plus simple:

CODE :

# -*- coding: utf-8 -*-from setuphelpers import *uninstallkey = []key = "{1E9DFEBB-4088-4693-A521-C755318BD492}_is1"profil_name = 'com.makeblock.Scratch3.4.11'profil_mblock_appdata = makepath('c:','ProgramData','mblock',profil_name)profil_mblock = makepath(application_data(),profil_name)def install():        versionpaquet = control['version'].split('-',1)[0]        print('Importation des drivers')        with disable_file_system_redirection():             run('regedit.exe /s usbserial_arduino.reg')             run(r'"%s" /VERYSILENT' % makepath('drivers','Driver_for_Windows.exe'))        print('installing aiz-mblock')        install_exe_if_needed("mBlock_win_V"+versionpaquet+".exe",                            silentflags="/VERYSILENT",                            key=key,                            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(key)        #suppression du raccourci bureau        remove_desktop_shortcut('mBlock')        if isdir(profil_mblock_appdata):            remove_tree(profil_mblock_appdata)        copytree2(profil_name,profil_mblock_appdata)def session_setup():    if isdir(profil_mblock):        remove_tree(profil_mblock)    copytree2(profil_mblock_appdata,profil_mblock)def uninstall():    print('uninstalling aiz-mblock')    run(r'"%s\unins000.exe" /VERYSILENT' % install_location(key))

Le profil "com.makeblock.Scratch3.4.11" sera écrasé a la prochaine ouverture de session.
De cette manière même si le profil de l'utilisateur n'existe pas encore ça fonctionnera très bien !

N'oubliez pas d'incrémenter le numéro de version du paquet après chaque modification du session setup !

Statistiques: Posté par sfonteneau — 31 décembre 2017, 18:15


WAPT Packages / Paquets WAPT • Re: Setup.py de Mblock

CODE :

# -*- coding: utf-8 -*-from setuphelpers import *# Importation des fichiers de personalisation copytree2(r'Perso',r'C:\ProgramData\mBlock') #Import du dossier fourni dans le paquetfilecopyto(r'Copy.cmd',r'C:\ProgramData\mBlock') #Import d'un fourni egalement avec le paquetkey = "{1E9DFEBB-4088-4693-A521-C755318BD492}_is1"uninstallkey = ['{1E9DFEBB-4088-4693-A521-C755318BD492}_is1']#Creation d'un targetdir en faisant usage de user_appdata qui selon la doc renvoit à /userX/appdata/roaming/targetdir = makepath(user_appdata(),'com.makeblock.Scratch3.4.11')print targetdir # ça c'est pour moi ;) - ca m'affiche bien le dossier souhaité... malheureusement l'exploit est nulle#uninstallstring = [r' ""C:\Program Files (x86)\mBlock\unins000.exe" /SILENT {1E9DFEBB-4088-4693-A521-C755318BD492}_is1']def install():        versionpaquet = control['version'].split('-',1)[0]        print('Importation de drivers')        with disable_file_system_redirection():             run('regedit.exe /s usbserial_arduino.reg')             run(r'"%s" /VERYSILENT' % makepath('drivers','Driver_for_Windows.exe'))        print('Installation de util-mblock')        install_exe_if_needed("mBlock_win_V"+versionpaquet+".exe",                            silentflags="/VERYSILENT",                            key=key,                            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(key) # FONCTION pas dispo dans Setuphelpers v1.3.5        #suppression du raccourci bureau        #remove_desktop_shortcut('mBlock')print "Post installation"lang = makepath(targetdir)if not isdir(lang):os.makedirs(lang)copytree2('Perso','targetdir') #Tentative d'import de com.makeblock.Scratch3.4.11 via fonction copytree2 + user_appdata() : Resultat non probantsession_setup()   def uninstall():    print('Désinstallation de util-mblock')    run(r'"%s\unins000.exe" /VERYSILENT' % install_location(key))def session_setup():targetdir = makepath(user_appdata(),'com.makeblock.Scratch3.4.11')if not isdir(targetdir):print('creation du dossier com.makeblock.Scratch3.4.11')mkdirs(makepath(user_appdata(),'com.makeblock.Scratch3.4.11'))#copytree2('C:\ProgramData\mBlock','targetdir')run(r'C:\ProgramData\mBlock\Copy.cmd')#ci-dessus vs avez mes 2 tentatives : (1) via copytree2;, l'autre via le run d'un cmd que j'ai essayé de runner pour injecter les fichiers adéquats. Ni l'une, ni l'autre des méthodes ne fonctionnent.else:#remove_file(makepath(user_appdata(),'com.makeblock.Scratch3.4.11'))#copytree2('C:\ProgramData\mBlock','targetdir')run(r'C:\ProgramData\mBlock\Copy.cmd')#copytree2(r'C:\ProgramData\mBlock',r'%USERPROFILE%\AppData\Roaming')#Personalisation de mblock pour l'interactive User - Alternative tryrun(r'"Copy.cmd"')
+ Copie de mon cmd

CODE :

if not exist C:\Users\%username%\AppData\Roaming\com.makeblock.Scratch3.4.11 mkdir C:\Users\%username%\AppData\Roaming\com.makeblock.Scratch3.4.11 xcopy C:\ProgramData\mBlock\com.makeblock.Scratch3.4.11 C:\Users\%username%\AppData\Roaming\com.makeblock.Scratch3.4.11 /E /C /Y
..... ça ne fonctionne pas.... pas plus qu'avec %appdata%

:'( .... ne peut-on pas interagir avec l'appdata du current user tandis qu'un paquet est déployé?

Statistiques: Posté par myosotis — 31 décembre 2017, 16:06