Renewal — автообновление Far и внешних плагинов

Здесь можно обсудить ваш любимый плагин.
User avatar
artemsen
Posts: 752
Joined: Sun 07 Feb, 2010 08:55
Been thanked: 4 times

Renewal — автообновление Far и внешних плагинов

Post by artemsen »

Обсуждение плагина Renewal.

Скачать: https://sourceforge.net/projects/farplugs/files/
Last edited by artemsen on Thu 16 Feb, 2012 13:50, edited 1 time in total.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

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
Кстати, команду запуска лучше наверное выполнять тоже через start "" /i, но без /w (чтобы батниковская консоль закрылась).
Last edited by Pasha_ZZZ on Wed 31 May, 2023 16:48, edited 1 time in total.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Выглядит будто обновление запустили дважды, не дожидаясь завершения первого запуска.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

2useven10 wrote: Wed 31 May, 2023 17:26 Выглядит будто обновление запустили дважды, не дожидаясь завершения первого запуска.
В общем выглядит все примерно так: фар спрашивает, перезапустить для обновы или нет? Отвечаешь Да. Фар закрывается и вываливается эта ошибка. А уже потом выскакивает окно установки MSI.
И да, запущенный update.cmd после последней команды, которая команда запуска, дальше не проходит, ведь запуск без start - синхронный.
Только что вышел из Фар - и в update.out добавилась строчка goto :done
Я думаю с прошлого обновления, если не было перезапуска Фар, update.cmd затирается новым содержимым (а он все еще выполняется). А т.к. PID разной длины - получаются такие косяки типа oto :done
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ, Очень похоже на правильный диагноз.
Хотя я был уверен что там асинхронный запуск, видимо ошибся, проверю...
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

2useven10 wrote: Wed 31 May, 2023 20:31 Хотя я был уверен что там асинхронный запуск, видимо ошибся, проверю...
Я сейчас сам добавил в Restart command в начало start "" - и после перезапуска cmd пропадает из процессов как положено (раньше висел и ждал завершения Фара).
Обычный запуск и запуск через start /w - синхронные. Единственное, что start /w создает новую консоль (если нет /b).
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Обновление через .MSI?
Какие параметры msiexec (похоже там и в настройках тоже есть баг)?
Какая команда в настройках рестарта (Shift+Alt+F9 -> Renewal)?
И можете ещё раз выложить update.cmd/out ?
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ wrote: Wed 31 May, 2023 20:35 добавил в Restart command в начало start
У меня start "Renewal" "{pinned}\Far.lnk" и в 'рыбе' был start ...
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

Видимо всегда надо использовать start "Renewal" (хотя в кавычках можно оставить пустоту). А в msiexec вроде нормальная команда:
start "msiexec" /W msiexec.exe /promptrestart /qb! MSIFASTINSTALL=5 /i "%I%"
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ wrote: Wed 31 May, 2023 20:52 Видимо всегда надо использовать start "Renewal"
Да. Это я недодумал что можно настроить запуск с ожиданием.
А поскольку у меня всегда был start ... и повторить ошибку не мог.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ wrote: Wed 31 May, 2023 20:52 А в msiexec вроде нормальная команда:
Возможно нет, думаю там ожидаются параметры msiexec, и получится
msiexec start "msiexec" /W msiexec.exe /promptrestart /qb! MSIFASTINSTALL=5 /i "%I%"
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

msiexec GUI приложение его не надо запускать через start для асинхронности.
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

2useven10 wrote: Wed 31 May, 2023 21:30 Возможно нет, думаю там ожидаются параметры msiexec, и получится
Это я скопировал из update.cmd, тут все правильно в принципе. В настройка-то строка выглядит как /promptrestart /qb! MSIFASTINSTALL=5
Хотя можно и без start /w обойтись, все равно будет синхронный запуск.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ wrote: Wed 31 May, 2023 21:41 Это я скопировал из update.cmd
Да, уже понял.
Значит проблема была только в
"C:\Users\Pasha_ZZZ\Desktop\Far 3.lnk"
goto :done
без start, не знаю, принудительно здесь start ставить тоже не хочется (у большинства и так start в команде).
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

2useven10 wrote: Wed 31 May, 2023 21:51 у большинства и так start в команде
Это откуда такая статистика?
2useven10 wrote: Wed 31 May, 2023 21:51 принудительно здесь start ставить тоже не хочется
А почему нет? start вполне себе поддерживает вложенность типа start "1" start "2" start "3"....
Pasha_ZZZ
Posts: 430
Joined: Mon 12 Jun, 2006 14:58
Has thanked: 1 time
Been thanked: 27 times
Contact:

Renewal — автообновление Far и внешних плагинов

Post by Pasha_ZZZ »

А если везде использовать start /i - то можно убрать все эти setlocal/endlocal и за одним первые кавычки не понядобятся нигде (если сразу после start идут """ - это считается заголовком окна, а если сразу после start ключ - то значит заголовок окна пропущен).
И еще goto :done можно заменить на спецметку goto :eof, тогда и в конце :done можно убрать.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

Renewal — автообновление Far и внешних плагинов

Post by 2useven10 »

Pasha_ZZZ wrote: Wed 31 May, 2023 21:52 Это откуда такая статистика?
Умолчательная команда рестарта start "Renewal" "{desktop}\Far.lnk"
Last edited by 2useven10 on Wed 31 May, 2023 22:11, edited 1 time in total.
Post Reply

Return to “Обсуждение плагинов”