tis-disable-win-visualfx 1.0-8

  • package : tis-disable-win-visualfx
  • version : 1.0-8
  • description : disable Visual effects (optimize display for best performance)
  • maintainer : TIS <technique@tranquil-it-systems.fr>
  • date : 2017-07-20 11:19:47
  • signer : TRANQUIL IT SYSTEMS
  • signature_date : 20170720-111947
  • min_os_version :
  • min_wapt_version :

setup.py


from setuphelpers import *
import platform
uninstallkey=['']

def install():
    #[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
    #"VisualFXSetting"=dword:00000002"

    registry_setstring(HKEY_USERS,r'.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects','VisualFXSetting',0x02,type=REG_DWORD)

    specific_list = ['AnimateMinMax','ComboBoxAnimation','ControlAnimations','CursorShadow','DragFullWindows','DropShadow',
                     'DWMAeroPeekEnabled','DWMEnabled','DWMSaveThumbnailEnabled','FontSmoothing','ListBoxSmoothScrolling','ListviewAlphaSelect',
                     'ListviewShadow','MenuAnimation','SelectionFade','TaskbarAnimations','Themes','ThumbnailsOrIcon','TooltipAnimation','TransparentGlass']
    for entry in specific_list:
        registry_setstring(HKEY_CURRENT_USER,r'.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\%s' % entry,'DefaultApplied',0x00,type=REG_DWORD)

    if platform.win32_ver()[0].lower() in ('7','8'):
        # service does not exist on win2k12 or on xp
        if service_is_running('uxsms'):
            service_stop('uxsms')
        run("sc config uxsms start= disabled")


    if service_is_running('themes'):
        service_stop('themes')

    run("sc config themes start= disabled")


def session_setup():
    registry_setstring(HKEY_CURRENT_USER,r'Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects','VisualFXSetting',0x02,type=REG_DWORD)



    specific_list = ['AnimateMinMax','ComboBoxAnimation','ControlAnimations','CursorShadow','DragFullWindows','DropShadow',
                     'DWMAeroPeekEnabled','DWMEnabled','DWMSaveThumbnailEnabled','FontSmoothing','ListBoxSmoothScrolling','ListviewAlphaSelect',
                     'ListviewShadow','MenuAnimation','SelectionFade','TaskbarAnimations','Themes','ThumbnailsOrIcon','TooltipAnimation','TransparentGlass']
    for entry in specific_list:
        registry_setstring(HKEY_CURRENT_USER,r'Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\%s' % entry,'DefaultApplied',0x00,type=REG_DWORD)

  #'"DefaultApplied"=dword:00000001'


def uninstall():
    registry_setstring(HKEY_USERS,r'.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects','VisualFXSetting',0x00,type=REG_DWORD)
    run("sc config uxsms start= auto")
    run("sc config themes start= auto")

    if platform.win32_ver()[0].lower() in ('xp','7','8'):
        if not service_is_running('uxsms'):
            service_start('uxsms')
    if not service_is_running('themes'):
        service_start('themes')
    

manifest

[["setup.py", "5d87f04d4f6a8e337fbd70c66cea5f34515a0539"], ["WAPT/certificate.crt", "0db563dc9077b268ca07ba834322d0fc5e21f8e5"], ["WAPT/wapt.psproj", "575da1ee74ac6e8c12f437d8399530183e2347c5"], ["WAPT/control", "b700ba2764aaf8add95d631ce183523537783708"]]
    

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