Renewal — автообновление Far и внешних плагинов
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Latest post of the previous page:
В общем так: иногда во время обновления выскакивает ошибка 9009, хотя вроде бы все обновляется. В update.out видно, что батник update.cmd выполнялся 2 раза, а некоторые команды - даже 3.Ошибка выглядит вот так:
Code: Select all
C:\Users\PASHA_~1\AppData\Local\Temp\far_renewal64>"C:\Users\Pasha_ZZZ\Desktop\Far 3.lnk"
C:\Users\PASHA_~1\AppData\Local\Temp\far_renewal64>oto :done
'oto' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\PASHA_~1\AppData\Local\Temp\far_renewal64>msg.exe Pasha_ZZZ update failed in ERRORLEVEL=9009
Last edited by Pasha_ZZZ on Wed 31 May, 2023 16:48, edited 1 time in total.
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
В общем выглядит все примерно так: фар спрашивает, перезапустить для обновы или нет? Отвечаешь Да. Фар закрывается и вываливается эта ошибка. А уже потом выскакивает окно установки MSI.
И да, запущенный update.cmd после последней команды, которая команда запуска, дальше не проходит, ведь запуск без start - синхронный.
Только что вышел из Фар - и в update.out добавилась строчка goto :done
Я думаю с прошлого обновления, если не было перезапуска Фар, update.cmd затирается новым содержимым (а он все еще выполняется). А т.к. PID разной длины - получаются такие косяки типа oto :done
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Я сейчас сам добавил в Restart command в начало start "" - и после перезапуска cmd пропадает из процессов как положено (раньше висел и ждал завершения Фара).
Обычный запуск и запуск через start /w - синхронные. Единственное, что start /w создает новую консоль (если нет /b).
Renewal — автообновление Far и внешних плагинов
Обновление через .MSI?
Какие параметры msiexec (похоже там и в настройках тоже есть баг)?
Какая команда в настройках рестарта (Shift+Alt+F9 -> Renewal)?
И можете ещё раз выложить update.cmd/out ?
Какие параметры msiexec (похоже там и в настройках тоже есть баг)?
Какая команда в настройках рестарта (Shift+Alt+F9 -> Renewal)?
И можете ещё раз выложить update.cmd/out ?
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Видимо всегда надо использовать start "Renewal" (хотя в кавычках можно оставить пустоту). А в msiexec вроде нормальная команда:
start "msiexec" /W msiexec.exe /promptrestart /qb! MSIFASTINSTALL=5 /i "%I%"
Renewal — автообновление Far и внешних плагинов
Да. Это я недодумал что можно настроить запуск с ожиданием.
А поскольку у меня всегда был start ... и повторить ошибку не мог.
Renewal — автообновление Far и внешних плагинов
Возможно нет, думаю там ожидаются параметры msiexec, и получится
msiexec start "msiexec" /W msiexec.exe /promptrestart /qb! MSIFASTINSTALL=5 /i "%I%"
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Это я скопировал из update.cmd, тут все правильно в принципе. В настройка-то строка выглядит как
/promptrestart /qb! MSIFASTINSTALL=5
Хотя можно и без start /w обойтись, все равно будет синхронный запуск.
Renewal — автообновление Far и внешних плагинов
Да, уже понял.
Значит проблема была только в
без start, не знаю, принудительно здесь start ставить тоже не хочется (у большинства и так start в команде)."C:\Users\Pasha_ZZZ\Desktop\Far 3.lnk"
goto :done
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Это откуда такая статистика?
А почему нет? start вполне себе поддерживает вложенность типа
start "1" start "2" start "3"....
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
А если везде использовать start /i - то можно убрать все эти setlocal/endlocal и за одним первые кавычки не понядобятся нигде (если сразу после start идут """ - это считается заголовком окна, а если сразу после start ключ - то значит заголовок окна пропущен).
И еще goto :done можно заменить на спецметку goto :eof, тогда и в конце :done можно убрать.
И еще goto :done можно заменить на спецметку goto :eof, тогда и в конце :done можно убрать.
Renewal — автообновление Far и внешних плагинов
Умолчательная команда рестарта
start "Renewal" "{desktop}\Far.lnk"
Last edited by 2useven10 on Wed 31 May, 2023 22:11, edited 1 time in total.