tis-dotnetfx3.5
3.5.30729.1-16
.NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows
11522 downloads

Description
- package : tis-dotnetfx3.5
- version : 3.5.30729.1-16
- architecture : all
- categories : System and network
- maintainer : WAPT Team
- description : .NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows
- locale :
- target_os : windows
- min_wapt_version : 1.5
- sources : https://dotnet.microsoft.com/download/dotnet-framework
- installed_size :
- impacted_process :
- description_fr : Le .NET Framework est un cadriciel (framework) pouvant être utilisé par un système d'exploitation Microsoft Windows
- description_pl :
- description_de :
- description_es :
- description_pt :
- description_it :
- description_nl :
- description_ru :
- editor : Microsoft
- licence : Proprietary
- signature_date : 2020-02-27T21:29:52.382560
- Homepage : https://dotnet.microsoft.com/
Setup.py
# -*- coding: utf-8 -*-
from setuphelpers import *
import types,platform,re
uninstallkey = []
uninstallstring= []
bin_name = 'dotnetfx35.exe'
class Version(object):
"""Version object of form 0.0.0
can compare with respect to natural numbering and not alphabetical
>>> Version('0.10.2') > Version('0.2.5')
True
>>> Version('0.1.2') < Version('0.2.5')
True
>>> Version('0.1.2') == Version('0.1.2')
True
"""
def __init__(self,version,members_count=None):
if version is None:
version = ''
assert isinstance(version,types.ModuleType) or isinstance(version,str) or isinstance(version,unicode) or isinstance(version,Version)
if isinstance(version,types.ModuleType):
self.versionstring = version.__version__
elif isinstance(version,Version):
self.versionstring = version.versionstring
else:
self.versionstring = version
self.members = [ v.strip() for v in self.versionstring.split('.')]
if members_count is not None:
if len(self.members)<members_count:
self.members.extend(['0'] * (members_count-len(self.members)))
else:
del self.members[members_count:]
def __cmp__(self,aversion):
def nat_cmp(a, b):
a = a or ''
b = b or ''
def convert(text):
if text.isdigit():
return int(text)
else:
return text.lower()
def alphanum_key(key):
return [convert(c) for c in re.split('([0-9]+)', key)]
return cmp(alphanum_key(a), alphanum_key(b))
if not isinstance(aversion,Version):
aversion = Version(aversion)
for i in range(0,min([len(self.members),len(aversion.members)])):
i1,i2 = self.members[i], aversion.members[i]
v = nat_cmp(i1,i2)
if v:
return v
return 0
def __str__(self):
return '.'.join(self.members)
def __repr__(self):
return "Version('{}')".format('.'.join(self.members))
def windows_version():
"""see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx"""
try:
return Version(platform.win32_ver()[1],3)
except:
return Version(platform.win32_ver()[1])
# https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx
# https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx
Windows10 = Version('10.0',2)
WindowsServer2016TechnicalPreview = Version('10.0',2)
Windows81 = Version('6.3',2)
WindowsServer2012R2 = Version('6.3',2)
Windows8 = Version('6.2',2)
WindowsServer2012 = Version('6.2',2)
Windows7 = Version('6.1',2)
WindowsServer2008R2 = Version('6.1',2)
WindowsServer2008 = Version('6.0',2)
WindowsVista = Version('6.0',2)
WindowsServer2003R2 = Version('5.2',2)
WindowsServer2003 = Version('5.2',2)
WindowsXP64 = Version('5.2',2)
WindowsEmbeddedStandard2009 = WindowsXP = Version('5.1',2)
WindowsXP = Version('5.1',2)
Windows2000 = Version('5.0',2)
def install():
dotnet35 = [ s for s in installed_softwares(uninstallkey = '{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}') if Version(s['version']) >= Version('3.5.30729')]
if windows_version() >= '10.0.17762':
with EnsureWUAUServRunning():
with disable_file_system_redirection():
run(r'dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /Source:".\" /All /LimitAccess')
#on windows 2008R2, dotnetfx3.5 is installed as a "feature" and cannot be installed with a separate download file.
elif windows_version() >= Version('6.1',2) and windows_version() < '10.0.17762':
# direct call gives a segmentation fault... so using cmd.exe indirect
with EnsureWUAUServRunning():
with disable_file_system_redirection():
run(r'dism.exe /online /enable-feature /featurename:NetFx3')
elif not dotnet35:
print(run('dotnetfx35.exe /q /norestart'))
uninstallkey.append('{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}')
print("After install, restart your computer is recommended.")
else:
uninstallkey.append('{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}')
def uninstall():
#on windows 2008R2, dotnetfx3.5 is installed as a "feature" and cannot be installed with a separate download file.
if windows_version() >= Version('6.1',2):
# direct call gives a segmentation fault... so using cmd.exe indirect
with EnsureWUAUServRunning():
with disable_file_system_redirection():
run(r'dism.exe /online /disable-feature /featurename:NetFx3')
else:
for key in [
'{0BD83598-C2EF-3343-847B-7D2E84599128}', # Microsoft .NET Framework 3.0 Service Pack 2 Language Pack - FRA
'{A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}', # Microsoft .NET Framework 3.0 Service Pack 2
'{72AD53CC-CCC0-3757-8480-9EE176866A7C}', # Microsoft .NET Framework 2.0 Service Pack 2 Language Pack - FRA
'{3E31821C-7917-367E-938E-E65FC413EA31}', # Microsoft .NET Framework 3.5 Language Pack SP1 - fra
'{C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}']: # Microsoft .NET Framework 2.0 Service Pack 2
run_notfatal('msiexec /qn /X%s'%key)
def update_package():
print('Update package content from upstream binary sources')
# Get Proxy informations from WAPT settings
proxy = {}
if isfile(makepath(application_data(),'waptconsole','waptconsole.ini')):
proxywapt = inifile_readstring(makepath(user_local_appdata(),'waptconsole','waptconsole.ini'),'global','http_proxy')
if proxywapt :
proxy = {'http':proxywapt,'https':proxywapt}
#https://dotnet.microsoft.com/download/dotnet-framework
url_dl = ('https://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe')
print('Download url is: ' + url_dl)
if not isfile(bin_name):
print('Downloading ' + bin_name)
wget(url_dl,bin_name,proxies=proxy)