Ajouter setup.py
This commit is contained in:
commit
ea2928aac6
1 file changed
+78
@@ -0,0 +1,78 @@
|
|||||||
|
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from setuphelpers import *
|
||||||
|
import winreg
|
||||||
|
|
||||||
|
uninstallkey = []
|
||||||
|
|
||||||
|
PROFILE = 100
|
||||||
|
REG_PATH = (
|
||||||
|
r'SOFTWARE\Microsoft\Windows\CurrentVersion'
|
||||||
|
r'\Explorer\VolumeCaches'
|
||||||
|
)
|
||||||
|
|
||||||
|
CATEGORIES = {
|
||||||
|
'Temporary Files',
|
||||||
|
'Thumbnail Cache',
|
||||||
|
'Delivery Optimization Files',
|
||||||
|
}
|
||||||
|
|
||||||
|
FLAG = 'StateFlags{:04d}'.format(PROFILE)
|
||||||
|
|
||||||
|
|
||||||
|
def get_categories():
|
||||||
|
with reg_openkey_noredir(
|
||||||
|
winreg.HKEY_LOCAL_MACHINE, REG_PATH
|
||||||
|
) as root:
|
||||||
|
categories = []
|
||||||
|
index = 0
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
categories.append(winreg.EnumKey(root, index))
|
||||||
|
index += 1
|
||||||
|
except OSError:
|
||||||
|
break
|
||||||
|
return categories
|
||||||
|
|
||||||
|
|
||||||
|
def install():
|
||||||
|
available = get_categories()
|
||||||
|
|
||||||
|
for category in available:
|
||||||
|
path = REG_PATH + '\\' + category
|
||||||
|
|
||||||
|
with reg_openkey_noredir(
|
||||||
|
winreg.HKEY_LOCAL_MACHINE,
|
||||||
|
path,
|
||||||
|
sam=winreg.KEY_SET_VALUE
|
||||||
|
) as key:
|
||||||
|
value = 2 if category in CATEGORIES else 0
|
||||||
|
reg_setvalue(
|
||||||
|
key, FLAG, value, type=winreg.REG_DWORD
|
||||||
|
)
|
||||||
|
|
||||||
|
if category in CATEGORIES:
|
||||||
|
print('Enabled: {}'.format(category))
|
||||||
|
|
||||||
|
missing = CATEGORIES - set(available)
|
||||||
|
if missing:
|
||||||
|
print('Unavailable categories: {}'.format(missing))
|
||||||
|
|
||||||
|
# Execution silencieuse du profil
|
||||||
|
run('cleanmgr.exe /sagerun:{}'.format(PROFILE),
|
||||||
|
timeout=3600)
|
||||||
|
|
||||||
|
|
||||||
|
def uninstall():
|
||||||
|
for category in get_categories():
|
||||||
|
path = REG_PATH + '\\' + category
|
||||||
|
|
||||||
|
with reg_openkey_noredir(
|
||||||
|
winreg.HKEY_LOCAL_MACHINE,
|
||||||
|
path,
|
||||||
|
sam=winreg.KEY_SET_VALUE
|
||||||
|
) as key:
|
||||||
|
try:
|
||||||
|
winreg.DeleteValue(key, FLAG)
|
||||||
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
Reference in new issue
Block a user