diff --git a/.bin/Scripts/Launch.cmd b/.bin/Scripts/Launch.cmd
index 0a0330c6..3a3ed6a5 100644
--- a/.bin/Scripts/Launch.cmd
+++ b/.bin/Scripts/Launch.cmd
@@ -151,6 +151,7 @@ goto Exit
call "%bin%\Scripts\init_client_dir.cmd" /Office
set "_odt=False"
if %L_PATH% equ 2016 (set "_odt=True")
+if %L_PATH% equ 2019 (set "_odt=True")
if "%_odt%" == "True" (
goto LaunchOfficeODT
) else (
@@ -161,7 +162,7 @@ if "%_odt%" == "True" (
rem Prep
set "args=-aoa -bso0 -bse0 -bsp0 -p%ARCHIVE_PASSWORD%"
set "config=%L_ITEM%"
-set "dest=%client_dir%\Office\%L_PATH%"
+set "dest=%client_dir%\Office\ODT"
set "odt_exe=%L_PATH%\setup.exe"
set "source=%cbin%\_Office.7z"
diff --git a/.bin/Scripts/functions/update.py b/.bin/Scripts/functions/update.py
index ea42af0b..1a3175fb 100644
--- a/.bin/Scripts/functions/update.py
+++ b/.bin/Scripts/functions/update.py
@@ -250,35 +250,33 @@ def update_fastcopy():
# Remove existing folders
remove_from_kit('FastCopy')
- # Download
- download_to_temp('FastCopy.zip', SOURCE_URLS['FastCopy'])
-
- # Extract installer
- extract_temp_to_bin('FastCopy.zip', 'FastCopy')
- _path = r'{}\FastCopy'.format(global_vars['BinDir'])
- _installer = 'FastCopy354_installer.exe'
-
- # Extract 64-bit
- cmd = [
- r'{}\{}'.format(_path, _installer),
- '/NOSUBDIR', '/DIR={}'.format(_path),
- '/EXTRACT64']
- run_program(cmd)
- shutil.move(
- r'{}\FastCopy\FastCopy.exe'.format(global_vars['BinDir']),
- r'{}\FastCopy\FastCopy64.exe'.format(global_vars['BinDir']))
+ # Download installer
+ download_to_temp('FastCopy.exe', SOURCE_URLS['FastCopy'])
+ _installer = r'{}\FastCopy.exe'.format(global_vars['TmpDir'])
# Extract 32-bit
+ _path32 = r'{}\FastCopy'.format(global_vars['BinDir'])
cmd = [
- r'{}\{}'.format(_path, _installer),
- '/NOSUBDIR', '/DIR={}'.format(_path),
+ _installer,
+ '/NOSUBDIR', '/DIR={}'.format(_path32),
'/EXTRACT32']
run_program(cmd)
+ # Extract 64-bit
+ _path64 = r'{}\FastCopyTmp'.format(global_vars['TmpDir'])
+ cmd = [
+ _installer,
+ '/NOSUBDIR', '/DIR={}'.format(_path64),
+ '/EXTRACT64']
+ run_program(cmd)
+ shutil.move(
+ r'{}\FastCopy.exe'.format(_path64),
+ r'{}\FastCopy64.exe'.format(_path32))
+
# Cleanup
- os.remove(r'{}\{}'.format(_path, _installer))
- os.remove(r'{}\setup.exe'.format(_path, _installer))
- remove_from_temp('FastCopy.zip')
+ remove_item(r'{}\setup.exe'.format(_path32))
+ remove_item(_path64)
+ remove_from_temp('FastCopy.exe')
def update_linux_reader():
@@ -745,23 +743,22 @@ def update_office():
if os.path.exists(include_path):
shutil.copytree(include_path, dest)
- for year in ['2016']:
- # Download and extract
- name = 'odt{}.exe'.format(year)
- url = 'Office Deployment Tool {}'.format(year)
- download_to_temp(name, SOURCE_URLS[url])
- cmd = [
- r'{}\odt{}.exe'.format(global_vars['TmpDir'], year),
- r'/extract:{}\{}'.format(global_vars['TmpDir'], year),
- '/quiet',
- ]
- run_program(cmd)
- shutil.move(
- r'{}\{}'.format(global_vars['TmpDir'], year),
- r'{}\_Office\{}'.format(global_vars['CBinDir'], year))
+ # Download and extract
+ _odt = 'odt.exe'
+ _out_path = r'{}\odt'
+ download_to_temp('odt.exe', SOURCE_URLS['Office Deployment Tool'])
+ cmd = [
+ odt,
+ r'/extract:{}\odt'.format(global_vars['TmpDir']),
+ '/quiet',
+ ]
+ run_program(cmd)
+ shutil.move(
+ _out_path,
+ r'{}\_Office'.format(global_vars['CBinDir']))
- # Cleanup
- remove_from_temp('odt{}.exe'.format(year))
+ # Cleanup
+ remove_from_temp(odt.exe)
def update_classic_start_skin():
diff --git a/.bin/Scripts/settings/launchers.py b/.bin/Scripts/settings/launchers.py
index ae78c3f5..52e5ff38 100644
--- a/.bin/Scripts/settings/launchers.py
+++ b/.bin/Scripts/settings/launchers.py
@@ -464,36 +464,60 @@ LAUNCHERS = {
'Home and Business 2016 (x32)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
- 'L_ITEM': 'hb_32.xml',
+ 'L_ITEM': '2016_hb_32.xml',
'L_NCMD': 'True',
},
'Home and Business 2016 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
- 'L_ITEM': 'hb_64.xml',
+ 'L_ITEM': '2016_hb_64.xml',
'L_NCMD': 'True',
},
'Home and Student 2016 (x32)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
- 'L_ITEM': 'hs_32.xml',
+ 'L_ITEM': '2016_hs_32.xml',
'L_NCMD': 'True',
},
'Home and Student 2016 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
- 'L_ITEM': 'hs_64.xml',
+ 'L_ITEM': '2016_hs_64.xml',
'L_NCMD': 'True',
},
- 'Office 365 2016 (x32)': {
+ 'Home and Business 2019 (x32)': {
'L_TYPE': 'Office',
- 'L_PATH': '2016',
+ 'L_PATH': '2019',
+ 'L_ITEM': '2019_hb_32.xml',
+ 'L_NCMD': 'True',
+ },
+ 'Home and Business 2019 (x64)': {
+ 'L_TYPE': 'Office',
+ 'L_PATH': '2019',
+ 'L_ITEM': '2019_hb_64.xml',
+ 'L_NCMD': 'True',
+ },
+ 'Home and Student 2019 (x32)': {
+ 'L_TYPE': 'Office',
+ 'L_PATH': '2019',
+ 'L_ITEM': '2019_hs_32.xml',
+ 'L_NCMD': 'True',
+ },
+ 'Home and Student 2019 (x64)': {
+ 'L_TYPE': 'Office',
+ 'L_PATH': '2019',
+ 'L_ITEM': '2019_hs_64.xml',
+ 'L_NCMD': 'True',
+ },
+ 'Office 365 2019 (x32)': {
+ 'L_TYPE': 'Office',
+ 'L_PATH': '2019',
'L_ITEM': '365_32.xml',
'L_NCMD': 'True',
},
- 'Office 365 2016 (x64)': {
+ 'Office 365 2019 (x64)': {
'L_TYPE': 'Office',
- 'L_PATH': '2016',
+ 'L_PATH': '2019',
'L_ITEM': '365_64.xml',
'L_NCMD': 'True',
},
diff --git a/.bin/Scripts/settings/sources.py b/.bin/Scripts/settings/sources.py
index 1268ea8e..d224b221 100644
--- a/.bin/Scripts/settings/sources.py
+++ b/.bin/Scripts/settings/sources.py
@@ -31,7 +31,7 @@ SOURCE_URLS = {
'NirCmd32': 'https://www.nirsoft.net/utils/nircmd.zip',
'NirCmd64': 'https://www.nirsoft.net/utils/nircmd-x64.zip',
'NotepadPlusPlus': 'https://notepad-plus-plus.org/repository/7.x/7.6.2/npp.7.6.2.bin.minimalist.7z',
- 'Office Deployment Tool 2016': 'https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_10810.33603.exe',
+ 'Office Deployment Tool': 'https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_11107-33602.exe',
'ProduKey32': 'http://www.nirsoft.net/utils/produkey.zip',
'ProduKey64': 'http://www.nirsoft.net/utils/produkey-x64.zip',
'PuTTY': 'https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip',
diff --git a/.cbin/_include/_Office/hb_32.xml b/.cbin/_include/_Office/2016_hb_32.xml
similarity index 100%
rename from .cbin/_include/_Office/hb_32.xml
rename to .cbin/_include/_Office/2016_hb_32.xml
diff --git a/.cbin/_include/_Office/hb_64.xml b/.cbin/_include/_Office/2016_hb_64.xml
similarity index 100%
rename from .cbin/_include/_Office/hb_64.xml
rename to .cbin/_include/_Office/2016_hb_64.xml
diff --git a/.cbin/_include/_Office/hs_32.xml b/.cbin/_include/_Office/2016_hs_32.xml
similarity index 100%
rename from .cbin/_include/_Office/hs_32.xml
rename to .cbin/_include/_Office/2016_hs_32.xml
diff --git a/.cbin/_include/_Office/hs_64.xml b/.cbin/_include/_Office/2016_hs_64.xml
similarity index 100%
rename from .cbin/_include/_Office/hs_64.xml
rename to .cbin/_include/_Office/2016_hs_64.xml
diff --git a/.cbin/_include/_Office/2019_hb_32.xml b/.cbin/_include/_Office/2019_hb_32.xml
new file mode 100644
index 00000000..d98dd66a
--- /dev/null
+++ b/.cbin/_include/_Office/2019_hb_32.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.cbin/_include/_Office/2019_hb_64.xml b/.cbin/_include/_Office/2019_hb_64.xml
new file mode 100644
index 00000000..29e10c4f
--- /dev/null
+++ b/.cbin/_include/_Office/2019_hb_64.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.cbin/_include/_Office/2019_hs_32.xml b/.cbin/_include/_Office/2019_hs_32.xml
new file mode 100644
index 00000000..3fc1606a
--- /dev/null
+++ b/.cbin/_include/_Office/2019_hs_32.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.cbin/_include/_Office/2019_hs_64.xml b/.cbin/_include/_Office/2019_hs_64.xml
new file mode 100644
index 00000000..3d2956fd
--- /dev/null
+++ b/.cbin/_include/_Office/2019_hs_64.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file