👍[Update] installer : 暫定的に更新処理を追加
This commit is contained in:
@@ -1,16 +1,20 @@
|
||||
@if not "%~0"=="%~dp0.\%~nx0" start /min cmd /c,"%~dp0.\%~nx0" %* & goto :eof
|
||||
|
||||
set exe_name=%1
|
||||
set folder_name=%2
|
||||
set tmp_name=%3
|
||||
set restart=%4
|
||||
set exe_tmp_name=%2
|
||||
set folder_name=%3
|
||||
set folder_tmp_name=%4
|
||||
set restart=%5
|
||||
|
||||
taskkill /im %exe_name% /F
|
||||
ping -n 2 127.0.0.1 > nul
|
||||
del /f %exe_name%
|
||||
rmdir /s %folder_name%
|
||||
move %tmp_name%\* .\
|
||||
del /f %tmp_name%
|
||||
rename %exe_tmp_name% %exe_name%
|
||||
rmdir /s /q %folder_name%
|
||||
rename %folder_tmp_name% %folder_name%
|
||||
|
||||
if %restart% == True (
|
||||
START "" %exe_name%
|
||||
)
|
||||
)
|
||||
|
||||
del /f "%~dp0%~nx0"
|
||||
28
model.py
28
model.py
@@ -1,9 +1,9 @@
|
||||
import sys
|
||||
from zipfile import ZipFile
|
||||
from subprocess import Popen
|
||||
from subprocess import Popen, PIPE
|
||||
from os import makedirs as os_makedirs
|
||||
from os import path as os_path, rename as os_rename
|
||||
from shutil import rmtree
|
||||
from os import path as os_path
|
||||
from shutil import rmtree, move
|
||||
from datetime import datetime
|
||||
from logging import getLogger, FileHandler, Formatter, INFO
|
||||
from time import sleep
|
||||
@@ -268,15 +268,16 @@ class Model:
|
||||
def updateSoftware(restart:bool=True):
|
||||
filename = 'VRCT.zip'
|
||||
program_name = 'VRCT.exe'
|
||||
program_tmp_name = '_VRCT.exe'
|
||||
folder_name = '_internal'
|
||||
folder_tmp_name = '__internal'
|
||||
tmp_directory_name = 'tmp'
|
||||
batch_name = 'update.bat'
|
||||
current_directory = os_path.dirname(sys.argv[0])
|
||||
program_directory = os_path.dirname(__file__)
|
||||
current_directory = config.LOCAL_PATH
|
||||
|
||||
try:
|
||||
res = requests_get(config.GITHUB_URL)
|
||||
assets = res.json()['assets'][0]['browser_download_url']
|
||||
assets = res.json()['assets']
|
||||
url = [i["browser_download_url"] for i in assets if i["name"] == filename][0]
|
||||
res = requests_get(url, stream=True)
|
||||
os_makedirs(os_path.join(current_directory, tmp_directory_name), exist_ok=True)
|
||||
@@ -284,10 +285,15 @@ class Model:
|
||||
for chunk in res.iter_content(chunk_size=1024):
|
||||
file.write(chunk)
|
||||
with ZipFile(os_path.join(current_directory, tmp_directory_name, filename)) as zf:
|
||||
zf.extract(program_name, os_path.join(current_directory, tmp_directory_name))
|
||||
command = [os_path.join(program_directory, "batch", batch_name), program_name, folder_name, tmp_directory_name, str(restart)]
|
||||
Popen(command)
|
||||
except:
|
||||
zf.extractall(os_path.join(current_directory, tmp_directory_name))
|
||||
move(os_path.join(current_directory, tmp_directory_name, program_name), os_path.join(current_directory, program_tmp_name))
|
||||
move(os_path.join(current_directory, tmp_directory_name, folder_name), os_path.join(current_directory, folder_tmp_name))
|
||||
move(os_path.join(current_directory, folder_name, "batch", batch_name), os_path.join(current_directory, batch_name))
|
||||
rmtree(os_path.join(current_directory, tmp_directory_name))
|
||||
command = [os_path.join(current_directory, batch_name), program_name, program_tmp_name, folder_name, folder_tmp_name, str(restart)]
|
||||
Popen(command, cwd=current_directory)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
webbrowser.open(config.BOOTH_URL, new=2, autoraise=True)
|
||||
|
||||
@staticmethod
|
||||
@@ -296,7 +302,7 @@ class Model:
|
||||
batch_name = 'restart.bat'
|
||||
program_directory = os_path.dirname(__file__)
|
||||
command = [os_path.join(program_directory, "batch", batch_name), program_name]
|
||||
Popen(command)
|
||||
Popen(command, cwd=current_directory)
|
||||
|
||||
@staticmethod
|
||||
def getListInputHost():
|
||||
|
||||
Reference in New Issue
Block a user