forked from CastroFidel/winehelper
changed the launch of the system wine when installing the application
This commit is contained in:
14
winehelper
14
winehelper
@@ -2126,6 +2126,19 @@ select_component_version() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run_install_to_prefix() {
|
||||||
|
export WINEPREFIX="$1"
|
||||||
|
local WIN_FILE_EXEC="$2"
|
||||||
|
|
||||||
|
if [[ -z "$WINEPREFIX" ]] || [[ -z "$WIN_FILE_EXEC" ]]; then
|
||||||
|
fatal "Использование: $SCRIPT_NAME install-to-prefix <имя_префикса> <путь_к_установщику>"
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_prefix_var
|
||||||
|
prepair_wine
|
||||||
|
wine_run_install "$WIN_FILE_EXEC"
|
||||||
|
}
|
||||||
|
|
||||||
run_install_dxvk() {
|
run_install_dxvk() {
|
||||||
local version="$1"
|
local version="$1"
|
||||||
if [[ -z "$version" ]] ; then
|
if [[ -z "$version" ]] ; then
|
||||||
@@ -2258,6 +2271,7 @@ case "$arg1" in
|
|||||||
winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;;
|
winetricks) prepair_wine ; "$WH_WINETRICKS" -q "$@" ;;
|
||||||
desktop) create_desktop "$@" ; exit 0 ;;
|
desktop) create_desktop "$@" ; exit 0 ;;
|
||||||
install|-i) run_autoinstall "$@" ;;
|
install|-i) run_autoinstall "$@" ;;
|
||||||
|
install-to-prefix) run_install_to_prefix "$@" ;;
|
||||||
install-dxvk) run_install_dxvk "$@" ;;
|
install-dxvk) run_install_dxvk "$@" ;;
|
||||||
install-vkd3d) run_install_vkd3d "$@" ;;
|
install-vkd3d) run_install_vkd3d "$@" ;;
|
||||||
change-wine) run_change_wine_version "$@" ;;
|
change-wine) run_change_wine_version "$@" ;;
|
||||||
|
@@ -2440,7 +2440,7 @@ class WineHelperGUI(QMainWindow):
|
|||||||
self.prefix_install_button.setEnabled(path_ok and prefix_selected)
|
self.prefix_install_button.setEnabled(path_ok and prefix_selected)
|
||||||
|
|
||||||
def run_prefix_installer(self):
|
def run_prefix_installer(self):
|
||||||
"""Запускает установку файла в выбранный префикс."""
|
"""Запускает установку файла в выбранный префикс через скрипт winehelper."""
|
||||||
prefix_name = self.current_managed_prefix_name
|
prefix_name = self.current_managed_prefix_name
|
||||||
installer_path = self.prefix_install_path_edit.text().strip()
|
installer_path = self.prefix_install_path_edit.text().strip()
|
||||||
|
|
||||||
@@ -2451,9 +2451,6 @@ class WineHelperGUI(QMainWindow):
|
|||||||
QMessageBox.warning(self, "Ошибка", "Указан неверный путь к установочному файлу.")
|
QMessageBox.warning(self, "Ошибка", "Указан неверный путь к установочному файлу.")
|
||||||
return
|
return
|
||||||
|
|
||||||
prefix_path = os.path.join(Var.USER_WORK_PATH, "prefixes", prefix_name)
|
|
||||||
wine_executable = self._get_wine_executable_for_prefix(prefix_name)
|
|
||||||
|
|
||||||
self.command_dialog = QDialog(self)
|
self.command_dialog = QDialog(self)
|
||||||
self.command_dialog.setWindowTitle(f"Установка в префикс: {prefix_name}")
|
self.command_dialog.setWindowTitle(f"Установка в префикс: {prefix_name}")
|
||||||
self.command_dialog.setMinimumSize(750, 400)
|
self.command_dialog.setMinimumSize(750, 400)
|
||||||
@@ -2477,13 +2474,12 @@ class WineHelperGUI(QMainWindow):
|
|||||||
self.command_process.readyReadStandardOutput.connect(self._handle_command_output)
|
self.command_process.readyReadStandardOutput.connect(self._handle_command_output)
|
||||||
self.command_process.finished.connect(self._handle_prefix_install_finished)
|
self.command_process.finished.connect(self._handle_prefix_install_finished)
|
||||||
|
|
||||||
env = QProcessEnvironment.systemEnvironment()
|
# Окружение полностью настраивается скриптом winehelper
|
||||||
env.insert("WINEPREFIX", prefix_path)
|
self.command_process.setProcessEnvironment(QProcessEnvironment.systemEnvironment())
|
||||||
self.command_process.setProcessEnvironment(env)
|
|
||||||
|
|
||||||
args = [installer_path]
|
args = ["install-to-prefix", prefix_name, installer_path]
|
||||||
self.command_log_output.append(f"Запуск установки: {shlex.quote(wine_executable)} {shlex.quote(installer_path)}")
|
self.command_log_output.append(f"Выполнение: {shlex.quote(self.winehelper_path)} {' '.join(shlex.quote(a) for a in args)}")
|
||||||
self.command_process.start(wine_executable, args)
|
self.command_process.start(self.winehelper_path, args)
|
||||||
self.command_dialog.exec_()
|
self.command_dialog.exec_()
|
||||||
|
|
||||||
def _get_prefix_component_version(self, prefix_name, component_key):
|
def _get_prefix_component_version(self, prefix_name, component_key):
|
||||||
|
Reference in New Issue
Block a user