Repository navigation
Expand file tree
/
Copy pathsetup.py
More file actions
67 lines (53 loc) · 2.12 KB
/
Copy pathsetup.py
File metadata and controls
67 lines (53 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
"""
Tracker-Player Installation:
Operating System: Windows 10
Run in administrator mode.
- Adds context menu entry by editing registry.
- Program Files folder + copy script files
"""
import winreg
import os, errno
import sys
import win32com.shell.shell as shell
from shutil import copyfile
def DllRegisterServer(prog_files_dir):
executable_path = os.path.sep.join([os.path.dirname(sys.executable), "pythonw.exe"])
folder_key = winreg.CreateKey(winreg.HKEY_CLASSES_ROOT,
"Directory\\Background\\shell\\tracker_player")
winreg.SetValue(winreg.HKEY_CLASSES_ROOT,
"Directory\\Background\\shell\\tracker_player",
winreg.REG_SZ,
"Tracker Player")
folder_subkey = winreg.CreateKey(folder_key, "command")
winreg.SetValue(folder_key, "command", winreg.REG_SZ,
r'"{}" "{}\TrackerPlayer.pyw"'.format(executable_path, prog_files_dir))
def install_in_program_files():
# make a ProgramFiles folder
directory = os.path.sep.join([os.environ["ProgramFiles"], "TrackerPlayer"])
try:
os.makedirs(directory)
except OSError as e:
if e.errno != errno.EEXIST:
raise
print("Created directory in program files...")
# copy relevant files to ProgramFiles folder
cwd = os.getcwd()
filepaths = [(os.path.sep.join([cwd, filename]), os.path.sep.join([directory, filename])) for filename in
["TrackerPlayer.pyw",
"PlayerGui.py",
"TrackBoard.py"]]
for src, dst in filepaths:
copyfile(src, dst)
print("Copied all source files to directory...")
return directory
if __name__ == "__main__":
ASADMIN = 'asadmin'
if sys.argv[-1] != ASADMIN:
script = os.path.abspath(sys.argv[0])
params = ' '.join([script] + sys.argv[1:] + [ASADMIN])
shell.ShellExecuteEx(lpVerb='runas', lpFile=sys.executable, lpParameters=params)
sys.exit(0)
print("Installing Tracker-Player!")
prog_files_dir = install_in_program_files()
DllRegisterServer(prog_files_dir)
input("Press any key to quit")