Página 1 de 1

[RESUELTO] Versión estándar de Skype: uso compartido y mejoras

Publicado: 3 de julio de 2018 - 13:38
por Root
Buen día,
Utilizamos cuentas de usuario que no tienen derechos de administrador en las PC.
Y con cada actualización de Skype disponible, los usuarios tenían una ventana de inicio de sesión para autorizar al software a realizar la actualización.
La solución para mí fue eliminar el archivo ejecutable que descarga la actualización:

Comparto mi solución, que es bastante rudimentaria, pero funciona. Si tienen alguna idea para mejorarla, estoy atento.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
#  [Rechercher dans le domaine get.skype.com] https://get.skype.com/go/getskype-full
# Fonctionne aussi avec le downloader
from setuphelpers import *
import os
import shutil
import time
# import all modules
uninstallkey = ["Skype_is1"]

def install():
    print('installing lam-skype')
    #run(r'"SkypeSetupFull.exe" /VERYSILENT /NOLAUNCH')
    install_exe_if_needed('SkypeSetupFull.exe',silentflags='/VERYSILENT /SP- /NOCANCEL /NORESTART /SUPPRESSMSGBOXES /NOLAUNCH',killbefore=['Skype.exe'])
#   NOW DISABLE AUTO UPDATE
    time.sleep(5)
    killalltasks('Skype.exe')
    time.sleep(5)
    os.system("reg import disable-skype-update.reg")
    os.system("powershell Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force")
    os.system("powershell -f skype-patch.ps1")
    os.system("powershell Set-ExecutionPolicy -ExecutionPolicy restricted -Scope CurrentUser -Force")
    print("done")
# SkypeSetupFull.exe /VERYSILENT /SP- /NOCANCEL /NORESTART /SUPPRESSMSGBOXES /NOLAUNCH

Código: Seleccionar todo

# Get users
$users = Get-ChildItem -Path "C:\Users"

# Loop through users and delete the file
$users | ForEach-Object {
    Remove-Item -Path "C:\Users\$($_.Name)\AppData\Roaming\Microsoft\Skype for Desktop\Skype-Setup.exe" -Force
    New-Item -ItemType directory -Path "C:\Users\$($_.Name)\AppData\Roaming\Microsoft\Skype for Desktop\Skype-Setup.exe"
}
echo("done")

Código: Seleccionar todo

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phone]
"DisableVersionCheck"=dword:00000001

Re: Versión estándar de Skype: compartir y mejorar el código

Publicado: 3 de julio de 2018 - 15:34
por htouvet
Sin utilizar scripts de PowerShell:

Código: Seleccionar todo

uninstallkey=[]

def install():
    install_exe_if_needed('SkypeSetupFull.exe',silentflags='/VERYSILENT /SP- /NOCANCEL /NORESTART /SUPPRESSMSGBOXES /NOLAUNCH',
        killbefore=['Skype.exe'],key='Skype_is1',min_version='8.21')
    remove_desktop_shortcut('Skype')

    registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\Policies\Skype\Phone','DisableVersionCheck',1,REG_DWORD)

    for profile in local_users_profiles():
        skype_setup = r"{profile}\AppData\Roaming\Microsoft\Skype for Desktop\Skype-Setup.exe".format(profile=profile)
        if isfile(skype_setup):
            remove_file(skype_setup)


Re: Versión estándar de Skype: compartir y mejorar el código

Publicado: 5 de julio de 2018 - 10:07 a. m.
por Root
htouvet escribió: 3 de julio de 2018 - 15:34 Sin utilizar scripts de PowerShell:

Código: Seleccionar todo

uninstallkey=[]

def install():
    install_exe_if_needed('SkypeSetupFull.exe',silentflags='/VERYSILENT /SP- /NOCANCEL /NORESTART /SUPPRESSMSGBOXES /NOLAUNCH',
        killbefore=['Skype.exe'],key='Skype_is1',min_version='8.21')
    remove_desktop_shortcut('Skype')

    registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\Policies\Skype\Phone','DisableVersionCheck',1,REG_DWORD)

    for profile in local_users_profiles():
        skype_setup = r"{profile}\AppData\Roaming\Microsoft\Skype for Desktop\Skype-Setup.exe".format(profile=profile)
        if isfile(skype_setup):
            remove_file(skype_setup)


¡Excelente script, enteramente en Python!

Lo probaré en la próxima actualización ;-)

Re: [RESUELTO] Skype Versión estándar: uso compartido y mejoras

Publicado: 12 de septiembre de 2018 - 11:37
por sergead
Buen día,

Tengo el mismo problema con Skype intentando actualizarse con Skype desde la tienda Wapt.
Para bloquear las actualizaciones de este paquete, agregué lo siguiente a la sección install() del paquete oficial, como se menciona aquí:

Código: Seleccionar todo

registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\Policies\Skype\Phone','DisableVersionCheck',1,REG_DWORD)
Pero no funciona, sigue actualizándose...

¿Debo eliminar el paquete oficial y crear un paquete completamente nuevo con la definición de Python mencionada anteriormente?