[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Предыдущая тема Sh.exe - Менеджер портативных программ
Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (Usb,Cd,NetWork)
Программа сканирует подключенные устройства и создает \ удаляет ярлыки и регистрирует (дерегистрирует) программы, находящиеся в указанном каталоге на основе link файлов.

History

Portable Soft Manager
Продолжение проекта Sh.exe - Менеджер портабельных программ.
Это не обновление, программа написана с нуля, Sh.exe писался во времена XP, поддержка его потеряла смысл.
Отличия от Sh.exe :
Общая идеология не изменилась, немного изменился синтаксис .ini , .shl и .idx файлов, но правка их не представляет проблем, немного позже напишу конвертер.
Полная поддержка Win 10 последней версии, включая прикрепления ярлыков на панель задач (причем не только .exe файлов, что нельзя сделать стандартными средствами), создание панели инструментов и т.п.
Скорость увеличена в несколько раз.
Добавлены функции бэкапа веток реестра, неограниченное количество входов [AutoRun] и [AutoExit].
Возможность сортировки последовательности исполнения .shl файлов.
.a3x версия , ресурсы интегрированы
И многое другое.
Вложение
Вложение


Последний раз редактировалось: nikzzzz (2020-03-26 16:04), всего редактировалось 41 раз(а)

[Цитировать]

    Valek271183
  • 14580
  • Стаж: 7 лет 6 месяцев
  • Сообщений: 103
  • Репутация:0

    [+] [-]
nikzzzz, в 64-bit версии Windows 10 от Xemom1 (Win10PE_x86x64(EFI)_compact(2018)) выдаёт ошибку Line 1240 (File "D:\PsMgr.exe"): Error: Variable must be of type "Object", заметил, что ошибка появляется только если в PsMgrDemo
используется параметр QuickLaunch=\ , можно ли это как-то это побороть ?
P.S. в той же сборке, но 32-bit параметр QuickLaunch=\ работает

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Valek271183,
Версии Windows 10 от Xemom1 довольно сильно порезаны, скорее всего не хватает каких-то библиотек.
Побороть то можно, например запустив Process Monitor, выяснить , чего не хватает и добавив нужные библиотеки, но с этим надо разбираться, сказать конкретно какие библиотеки нужны не могу.

[Цитировать]

    Valek271183
  • 14580
  • Стаж: 7 лет 6 месяцев
  • Сообщений: 103
  • Репутация:0

    [+] [-]
Ясно, буду закидывать все подряд, пока не получится )) А как конкретно может помочь Process Monitor ?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Valek271183,
Process Monitor в логе покажет, каких файлов не хватает.

[Цитировать]

    Valek271183
  • 14580
  • Стаж: 7 лет 6 месяцев
  • Сообщений: 103
  • Репутация:0

    [+] [-]
Кажется дело не только в файлах, скопировал всё что было можно из boot.wim тойже оригинальной сборки 1703, и из Install.wim\Sources\SysWOW64 но результата нет, версия PsMgr_x64 запускается, но не создаёт ярлыки в панели задач, PsMgr 32bit выдают туже ошибку "Line 1240". Может дело в реестре или регистрации DLL-ок, в общем не разобрался.
Заметил что ярлыки с русскими названиями Portable Soft Manager не удаляет при изъятии флешки, но к примеру батником удалить их можно, можно как-то сделать, что бы программа могла сама удалять ярлыки с русскими названиями ?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Valek271183
60697скопировал всё что было можно из boot.wim
А кто сказал, что нужные dll'ки в нем есть ?
60697Заметил что ярлыки с русскими названиями Portable Soft Manager не удаляет при изъятии флешки
Это баг системы, некоторые версии фильтра fbwf некорректно работают с русскими именами.
Лечится заменой fbwf.sys другой версии.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Утилита обновлена.
Поставил заплатку, решающую проблемы с русскими именами.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
По поводу fbwf , выяснил, что некоторые версии к не английским именам добавляют к имени символ двойные кавычки 0x34 ("), что может сделать такой файл недоступным.
Вот тест, который продемонстрирует это.
@echo off
echo.--------------------   Create non english file name
echo.
set "file=%userprofile%\Desktop\РусскоеИмя.txt"
>%file% echo.TestFile
echo.--------------------   Test dir  %file%
echo.
dir  %file%
echo.
echo.--------------------   Test dir  %file%?
echo.
dir  %file%?
pause
del %file%
del %file%?
В тесте создается файл с русским именем, дальше делается попытка доступа к нему с помощью команды dir .
Если первая попытка (dir %file%) сообщит, что файл не найден, значит fbwf.sys некорректно работает с кириллицей, что может вызвать баги при работе некоторых программ, использующих русские имена на диске x:


Последний раз редактировалось: nikzzzz (2019-01-07 07:36), всего редактировалось 1 раз

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
nikzzzz, а может, просто проблема с кодовой страничкой? Просто не совпадает та, что установлена по-умолчанию в РЕ и кс, с которой запущен скрипт.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
conty9, aa
Нет, я посмотрел реальное имя, оно действительно содержит " в конце.
Вот пример заплатки, которую встроил в PsMgr
Func _FileDelete($sFile)
  if FileDelete($sFile)=0 Then FileDelete($sFile & '"')
EndFunc
То-есть если файл РусскоеИмя.txt удалить не удается, я добавляю к имени " - РусскоеИмя.txt" , и такой файл нормально удаляется.
В батнике добавить " сложно, поэтому просто указываю ? - любой символ и это срабатывает.
К стати, данный баг не во всех версиях FBWF, в embedded версиях он не проявлялся, но я естественно не проверял все embedded версии.


Последний раз редактировалось: nikzzzz (2019-01-07 16:53), всего редактировалось 1 раз

[Цитировать]

    Valek271183
  • 14580
  • Стаж: 7 лет 6 месяцев
  • Сообщений: 103
  • Репутация:0

    [+] [-]
Отлично работает на сборках от Xemom1, единственное что на некоторых версиях ярлыки не пропадают, пока не обновишь рабочий стол.
nikzzzz, можно ли научить программу распознавать в Legacy загрузилась сборка или в UEFI, что бы не создавать ярлыки тех программ, которые не должны запускаться на UEFI или наоборот на Legacy? Например у меня создаётся ярлык на файл Setup.exe с параметрами /unattend для автоматической установки Windows 7 с разбиением диска на разделы, но такую разбивку диска нельзя использовать в режиме EFI, и этот ярлык как бы получается нерабочий или лишний

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Утилита обновлена.
Добавлено
[CheckVer]
BootMode=LEGACY,UEFI,UNKNOWN

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Valek271183,
60731 единственное что на некоторых версиях ярлыки не пропадают, пока не обновишь рабочий стол.
Обновление рабочего стола в утилите есть, скорее всего та-же проблема с отсутствием каких-то dll'ек.

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 2 месяца
  • Сообщений: 578
  • Репутация:24

    [+] [-]
nikzzzz, здаствуйте!
Будет конвертер?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
loban_ser
Не знаю, есть ли смысл, в .shl файлах нужно только поправить секции [AutoRun] и [autoexit], заменив "exe=" на "exe(hw)=" и тоже для bat=
Эти секции редко используются, несложно поправить в ручную, в остальном .shl совместимы.

Страница 4 из 21


Показать сообщения:    

Текущее время: 23-Апр 19:39

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы