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

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

    [+] [-]
conty9, aa
Я встречал такой баг на десятке, некоторые api функции нахально врут и утверждают , что у меня стоит версия 6.2 !!!
К примеру, так ведет себя эта RtlGetVersion, возможно, они просто мигрировались из старых версий системы и просто не знают о новых.
А как ты определяешь версию ?
Может приведешь исходник определения версии, чтобы его можно было проверить?

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

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

    [+] [-]
nikzzzz, в PECMD для определения версии файла есть команда SITE. И у меня она корректно отрабатывет reg.exe 10-ки, да и вообще любые исполняемые файлы.
SITE ?FileVersion=FVER,%Path%\System32\reg.exe
MESS %FileVersion%

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

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

    [+] [-]
conty9,
52990И у меня она корректно отрабатывет reg.exe 10-ки, да и вообще любые исполняемые файлы.
Проверил работу скрипта на Win7x64 - версии определяются корректно , понимаются более старшие версии файлов, win10x64 - корректно определяет версию 6.1 но врет врет на версии файла 10.0 , похоже на баг системы.

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

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

    [+] [-]
nikzzzz, большое спасибо за подсказку. Как показали тесты - действительно, 10-ка маскирует свою версию под 6.2 (видимо, для совместимости со старыми прогами???)... Но делает это только для файлов в системном каталоге. Если скопировать файл в любую другую папку (например, в %Темр%) - версия определяется достоверно. Переделал по такому принципу скрипт (версия 1.0.1), теперь и 10-ки должны корректно определяться.

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

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

    [+] [-]
conty9
5300710-ка маскирует свою версию под 6.2
Я не знаю, какую функцию использует PeCmd для определения версии файла, приведенный пример к ней никакого отношения не имеет, просто вместо того, чтобы довести функцию до ума, они поставили заглушку - если функция выполнена с ошибкой, не сообщать об этом, а вывести 6.2 , чтобы претензии были не к ним, а к разработчикам софта. al

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

    sergeysvirid
  • 104
  • Стаж: 9 лет 4 месяца
  • Сообщений: 2496
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
52996Как показали тесты - действительно, 10-ка маскирует свою версию под 6.2 (видимо, для совместимости со старыми прогами???)... Но делает это только для файлов в системном каталоге. Если скопировать файл в любую другую папку (например, в %Темр%) - версия определяется достоверно. Переделал по такому принципу скрипт (версия 1.0.1), теперь и 10-ки должны корректно определяться.
conty9,
aa
Спасибо Володя! az Идеальный вариант скрипта получился (версия 1.0.1) ay
Теперь во всех режимах все версии Windows установленные на компе верно определяются и буковки сортируются согласно выбранному режиму (при загрузке с ключом EQU или GUI), или согласно основной рабочей ОС в режиме Auto.
Если есть такая необходимость, то можешь глянуть логи (сохранил результаты тестов загрузки WinPE_7/8.1/10_(x86/x64) в режимах EQU и GUI):
LettEX_EQU_GUI_Logs.7z

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

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

    [+] [-]
sergeysvirid, спасибо, Серёга! Глобальненько. Логи тоже пользу принесли, ещё один недочёт увидел: в GUI под 10-кой РЕ идентифицируется верно, но версию пишет 6.2.15063.0 (вместо 10.0.15063.0). Нужно подправить. В остальном порядок.

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

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
версию пишет 6.2.15063.0 (вместо 10.0.15063.0). Нужно подправить. В остальном порядок.
Yes aa

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

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

    [+] [-]
Подправил отображение версии 10-ки в GUI, новый скрипт в шапке. Также в версии 1.0.2 добавил свою процедуру подключения буковок для неподключенных разделов. В отличие от команды SHOW -1:0, новый вариант синхронизирует подключенные буковки с системой и корректнее чистит буквы-дубликаты.

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

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
прекрасно работает...

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

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
conty9,
случайно на офисном компе возникла ситуация с 3 ОС
7х64 + 7х64 + 7х32
загружаюсь с PE10x64 на "авто", неожиданно первой встает 7х32...
лог такой

Дополнительная информация

Auto Y:\CdUsb.Y %HiddV%
----------------------------------------
FreeLetter: J K L M N O P Q R S T U V W Y Z
DiskLetter: C D E F G H I
========================================
D:\Windows 201804230703
F:\Windows 201804201121
G:\Windows 201804201358
---------------D:\Windows---------------
HexC=0x24 0x9B 0x83 0x39 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x00
HexD=0x20 0x6F 0xE3 0x02 0x00 0x80 0x00 0x00 0x00 0x00 0x00 0x00
HexE=0x20 0x6F 0xE3 0x02 0x00 0x00 0x50 0xAC 0x2C 0x00 0x00 0x00
HexF=0x24 0x9B 0x83 0x39 0x00 0xA0 0x41 0x21 0x07 0x00 0x00 0x00
HexG=TSSTcorp_CDDVDW_SH-S223C
HexH=DiskADATA_USB_Flash_Drive&Rev_1100#27B280420026000E&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
----------------------------------------
OS_Letters C D E F G H
PE_Letters C D E F G H I
----------------------------------------
Delete = D: \Device\Harddisk1\Partition1
Delete = E: \Device\Harddisk2\Partition1
Delete = F: \Device\Harddisk0\Partition1
Delete = G: \Device\Harddisk0\Partition3
Delete = H: \Device\Harddisk1\Partition2
Delete = I: \\.\CDROM0
----------------------------------------
Mount1 = C: \Device\Harddisk1\Partition1
Mount1 = H: \Device\Harddisk2\Partition1
Mount1 = D: \Device\Harddisk0\Partition1
Mount1 = E: \Device\Harddisk0\Partition3
Mount1 = F: \Device\Harddisk1\Partition2
Mount1 = G: \\.\CDROM0
----------------------------------------
Mount2 = I: \Device\Harddisk0\Partition2

FreeLetter: J K L M N O P Q R S T U V W Y Z
DiskLetter: C D E F G H I
========================================
Swap for MDisk H: <==> Y:

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

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
gera_serg,
52498TargOS=Auto - выбрать целевую ОС автоматически, значение по-умолчанию. Если найдено несколько ОС, в качестве целевой ОС будет выбрана ОС, которая запускалась последней

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

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
Gemostarter,
Я все на "автопилоте", что выберет сначала по разрядности...
Спасибо.

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

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

    [+] [-]
gera_serg, по разрядности теперь ключ EQU.

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

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

    [+] [-]

Пример расшифровки лога

EQU U:\2k10\Programs-2k10\Win2k78.bat %HiddV% - ключи запуска
----------------------------------------
FreeLetter: M N O P Q R S T U V W Y Z - свободные буквы
DiskLetter:C D E F G H I J K L - занятые буквы
========================================
+++++++++++++++++++++++++++++++++Для режима Auto++++++++++++++++++++++++++++++++++++
D:\Windows 201804230703 - найдена ОС, последний запуск её производился 23.04.2018, в 07.03 (дата наоборот)
F:\Windows 201804201121 - найдена ОС, последний запуск её производился 20.04.2018, в 11.21
+++++++++++++++++++++++++++++++++Для режима EQU++++++++++++++++++++++++++++++++++++
Disk H:\ => Windows W630 (630=6.3*10,0-32бита) - найдена ОС версии 6.3 х86
Disk I:\ => Windows W1001 (1001=10.0*10,1-64бита) - найдена ОС версии 10.0 х64
100 63 62 61 60 51 52 51 60 61 62 61 60 63 62 61 60 64 + 1 - порядок поиска для WinPE 10 (х64 - +1)
TargOS=I:\Windows 14417920 - выбрана целевая ОС W1001, число = размеру куста System
+++++++++++++++++++++++++++++++++Для режима GUI+++++++++++++++++++++++++++++++++++++
GUI=3 - количество найденных ОС
Windows 8.1 x64 6.3.9600.17415*H:\Windows#... - список ОС, название1*путь1#название2*путь2#название3*путь3#
---------------I:\Windows--------------- - указание на целевую ОС
HexC=0xE5 0xBE 0x20 0xC3 0x00 0x00 0xD0 0x6C 0x42
HexE=0000000500010000
HexF=0xA1 0xA2 0x97 0x55 0x00 0x00 0x10 0x00 0x00 - данные о накопителях из целевой ОС
HexL=TSSTcorp_CDDVDW_SN-208FB
----------------------------------------
OS_Letters C D E F H I J K L W - буковки целевой ОС
PE_Letters C D E F G H I J K L - буковки PE, которые нужно заменить согласно целевой ОС
----------------------------------------
Delete = D: \Device\Harddisk1\Partition1 - демонтирование (чтобы освободить буквы)
Delete = E: \Device\Harddisk2\Partition1
----------------------------------------
Mount1 = H: \Device\Harddisk1\Partition1 - монтирование (согласно целевой ОС)
Mount1 = F: \Device\Harddisk2\Partition1
········································
Mount2 = G: \Device\Harddisk0\Partition1 - перемонтирование (монтирование разделов, буквы которых были освобождены)
----------------------------------------
FreeLetter: K M N O P Q R S T U V Y Z - свободные буквы
DiskLetter:C D E F G H I J L W - занятые буквы
========================================
Swap for MDisk H: <==> U: - смена буквы для раздела с маркером

Страница 2 из 5


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

Текущее время: 16-Апр 07:49

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


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