Предыдущая тема 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 раз(а)
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=\ работает
Valek271183, Версии Windows 10 от Xemom1 довольно сильно порезаны, скорее всего не хватает каких-то библиотек. Побороть то можно, например запустив Process Monitor, выяснить , чего не хватает и добавив нужные библиотеки, но с этим надо разбираться, сказать конкретно какие библиотеки нужны не могу.
Кажется дело не только в файлах, скопировал всё что было можно из boot.wim тойже оригинальной сборки 1703, и из Install.wim\Sources\SysWOW64 но результата нет, версия PsMgr_x64 запускается, но не создаёт ярлыки в панели задач, PsMgr 32bit выдают туже ошибку "Line 1240". Может дело в реестре или регистрации DLL-ок, в общем не разобрался. Заметил что ярлыки с русскими названиями Portable Soft Manager не удаляет при изъятии флешки, но к примеру батником удалить их можно, можно как-то сделать, что бы программа могла сама удалять ярлыки с русскими названиями ?
По поводу 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 раз
conty9, Нет, я посмотрел реальное имя, оно действительно содержит " в конце. Вот пример заплатки, которую встроил в PsMgr
Func _FileDelete($sFile) if FileDelete($sFile)=0 Then FileDelete($sFile & '"') EndFunc
То-есть если файл РусскоеИмя.txt удалить не удается, я добавляю к имени " - РусскоеИмя.txt" , и такой файл нормально удаляется. В батнике добавить " сложно, поэтому просто указываю ? - любой символ и это срабатывает. К стати, данный баг не во всех версиях FBWF, в embedded версиях он не проявлялся, но я естественно не проверял все embedded версии.
Последний раз редактировалось: nikzzzz (2019-01-07 16:53), всего редактировалось 1 раз
Отлично работает на сборках от Xemom1, единственное что на некоторых версиях ярлыки не пропадают, пока не обновишь рабочий стол. nikzzzz, можно ли научить программу распознавать в Legacy загрузилась сборка или в UEFI, что бы не создавать ярлыки тех программ, которые не должны запускаться на UEFI или наоборот на Legacy? Например у меня создаётся ярлык на файл Setup.exe с параметрами /unattend для автоматической установки Windows 7 с разбиением диска на разделы, но такую разбивку диска нельзя использовать в режиме EFI, и этот ярлык как бы получается нерабочий или лишний
loban_ser Не знаю, есть ли смысл, в .shl файлах нужно только поправить секции [AutoRun] и [autoexit], заменив "exe=" на "exe(hw)=" и тоже для bat= Эти секции редко используются, несложно поправить в ручную, в остальном .shl совместимы.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы