tis-ezcast-pro
2.11.0.166-3
Forced reboot on install and uninstall - The EZCast Pro app for Windows is a powerful tool to cast your content from your PC to big screen, which supports Split Screen, Host Control, AirView and other new features.
604 downloads

Description
- package : tis-ezcast-pro
- version : 2.11.0.166-3
- architecture : all
- categories : Media,Drivers
- maintainer : WAPT Team, Tranquil IT, Jimmy PELÉ
- description : Forced reboot on install and uninstall - The EZCast Pro app for Windows is a powerful tool to cast your content from your PC to big screen, which supports Split Screen, Host Control, AirView and other new features.
- locale : all
- target_os : windows
- min_os_version : 6.1
- max_os_version :
- min_wapt_version : 1.5
- sources : https://www.ezcast.com/app/ezcast/pro/windows
- installed_size :
- impacted_process : EZCastPro, extensionDisplaySetup64, extensionDisplaySetup32
- description_fr : Redémarrage forcé à l'installation et à la désinstallation - EZCast Pro est l’outil collaboratif qui vous permet de projeter et partager du contenu sans fil, avec vos collègues ou vos élèves, depuis votre propre matériel (BYOD), que ce soit depuis votre PC/Mac ou encore votre tablette/smartphone (iOS, Android, Mac, Windows).
- description_pl :
- description_de :
- description_es :
- description_pt :
- description_it :
- description_nl :
- description_ru :
- editor : Actions Microelectronics
- licence : Freeware
- signature_date : 2020-08-10T17:28:56.310402
- Homepage : https://www.ezcast.com/
Setup.py
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey = []
# Defining variables
bin_name_string = 'EZCastPro_Win%s.exe'
silent_args = '/S /norestart'
app_uninstallkey = '{EAC16524-B32D-4264-BE6A-E37B51AA3978}'
def install():
# Initializing variables
package_version = control.version.split('-',1)[0]
bin_name = bin_name_string % package_version
# Installing the package
print('Installing: %s' % bin_name)
install_exe_if_needed(bin_name,
silentflags=silent_args,
key=app_uninstallkey,
min_version=package_version)
# Avoiding the usage by WAPT of the app built-in Uninstallstring
uninstallkey.remove(app_uninstallkey)
def uninstall():
# Uninstalling the package
run(r'"%s" %s' % (makepath(install_location(app_uninstallkey), 'Uninstall.exe'), silent_args))
def session_setup():
print("Disabling: auto-update-check")
#registry_set(HKEY_CURRENT_USER, r'SOFTWARE\OpenShell\OpenShell\Settings', 'Update', 0, type=REG_DWORD)
def update_package():
print('Downloading/Updating package content from upstream binary sources')
# Initializing variables
proxies = get_proxies()
app_name = control.name
url = control.sources
# Getting latest version from official website
print('URL used is: ' + url)
version = bs_find(url, 'a', 'href', 'javascript:void(0);', proxies=proxies)['onclick'].split('EZCastPro_Win')[-1].split('.exe')[0]
latest_bin = bin_name_string % version
url_dl = ('http://www.ezcast.com/upgrade/ezcastpro/%s' % latest_bin)
print("Latest %s version is: %s" % (app_name, version))
print("Download url is: %s" % url_dl)
# Downloading latest binaries
if not isfile(latest_bin):
print('Downloading: %s' % latest_bin)
wget(url_dl, latest_bin, proxies=proxies)
# Checking version from file
version_from_file = get_version_from_binary(latest_bin)
if version != version_from_file:
os.rename(latest_bin, bin_name_string % version_from_file)
version = version_from_file
# Changing version of the package
control.version = '%s-%s'%(version,int(control.version.split('-')[-1])+1)
control.save_control_to_wapt()
print('Changing version to: %s in WAPT\\control' % control.version)
# Deleting outdated binaries
remove_outdated_binaries(version)
def get_proxies():
import platform
if platform.python_version_tuple()[0] == '3':
from urllib.request import getproxies
else:
from urllib import getproxies
return getproxies()
def get_version_from_binary(filename):
if filename.endswith('.msi'):
return get_msi_properties(filename)['ProductVersion']
else:
return get_file_properties(filename)['ProductVersion']
def remove_outdated_binaries(version,list_filename_contain=('x64','x86','win32','win64','32','64'),list_extensions=('exe','msi','deb','rpm','dmg','pkg')):
for file_ext in list_extensions:
for bin_in_dir in glob.glob('*.%s' % file_ext):
if not version in bin_in_dir:
for filename_contain in list_filename_contain:
if not filename_contain in bin_in_dir:
print('Outdated binary: %s Removed' % bin_in_dir)
remove_file(bin_in_dir)
def bs_find(url, element, attribute=None, value=None, headers=None, proxies=None, features='html.parser', **kwargs):
""""You may need to use a header for some websites. For example: headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}
"""
import requests
page = requests.get(url, proxies=proxies, headers=headers, **kwargs).text
try:
import bs4 as BeautifulSoup
soup = BeautifulSoup.BeautifulSoup(page, features=features)
except:
import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup(page)
if value:
return soup.find(element,{attribute:value})
else:
return soup.find(element)
Changelog
Changelog software url : https://www.ezcast.com/release
No changelog
[["EZCastPro_Win2.11.0.166.exe","4dfa0fbfce61eff70cb51476a477124eb5daddb41d74b48d4f387b11a789ead0"],["setup.py","5403236b4778c1fdae4368cb23003bd8e687505bede5dc79d3514f00ca598ad7"],["WAPT/icon.png","2db9bc677b2d971003f3ab86f6a2d1b9448db64ca4119d45684da2337eb4b4c8"],["WAPT/certificate.crt","a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf"],["WAPT/control","75e692205ec002dc30e04e24604a90852274de7c02260c23090384ac75221191"]]