55 lines
2.0 KiB
Python
55 lines
2.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
from setuphelpers import *
|
|
import glob
|
|
|
|
uninstallkey=[]
|
|
|
|
def install():
|
|
version = control['version'].split('-',1)[0]
|
|
short_version = version.split('.',2)[0] + '.' + version.split('.',2)[1]
|
|
|
|
oldskype = installed_softwares('skype')
|
|
for soft in oldskype:
|
|
if Version(soft['version'])<Version(short_version):
|
|
print("removing version %s " % soft['name'])
|
|
run_notfatal(uninstall_cmd(soft['key']))
|
|
print('installing Skype %s' % version)
|
|
|
|
install_exe_if_needed('Skype-%s.exe' % version, key='Skype_is1',min_version=short_version)
|
|
remove_desktop_shortcut('Skype')
|
|
killalltasks(control['impacted_process'])
|
|
|
|
def session_setup():
|
|
print('Disable Skype self update')
|
|
# Not very elegant, but when skype tries to update by itself, it just
|
|
# ask for admin privs, preventing users to run it. There's no switch to turn
|
|
# the update off. The only way is to create a directory
|
|
# named like the setup file, so the setup file can't be created
|
|
skype_setup = makepath(user_appdata(),'Microsoft','Skype for Desktop','Skype-Setup.exe')
|
|
if isfile(skype_setup):
|
|
remove_file(skype_setup)
|
|
mkdirs(skype_setup)
|
|
|
|
def update_package():
|
|
control = PackageEntry().load_control_from_wapt ('.')
|
|
wget('https://go.skype.com/windows.desktop.download','skype-temp.exe')
|
|
new_version = get_file_properties('skype-temp.exe')['FileVersion']
|
|
|
|
if Version(new_version) > Version(control['version'].split('-',1)[0]):
|
|
print('Found new version : %s' % new_version)
|
|
exes = glob.glob('Skype*.exe')
|
|
for fn in exes:
|
|
if fn != 'skype-temp.exe':
|
|
remove_file(fn)
|
|
|
|
filecopyto('skype-temp.exe', 'Skype-%s.exe' % new_version)
|
|
|
|
control.version = '%s-%s' % (new_version,0)
|
|
control.maturity = 'PREPROD'
|
|
control.save_control_to_wapt('.')
|
|
|
|
remove_file('skype-temp.exe')
|
|
|
|
if __name__ == '__main__':
|
|
update_package()
|