PDA

Показать полную графическую версию : [решено] не запускается программа "SteelSeries Engine 2"


perihelion
30-09-2016, 05:29
- система "win server 2003 R2 enterprise SP2" (установлена менее недели назад)
- net framework 2.0 sp2, 3.0 sp2, 3.5 sp1
- c++ 2005, 2008, 2010, 2012
- msxml 4.0 sp3, 6.0
- usb-клавиатура "apex 350" (драйвер и прошивка установлены)

данная программа (версия 2.9.2014.1) нужна для переназначения клавиш, без неë эта клавиатура практически бесполезна
"SteelSeries Engine 2" функционировала нормально на "хр pro sp2", но в win2003 вообще не запускается

здесь (http://forums.guru3d.com/showthread.php?t=385422) описана почти идентичная проблема (разве что там сервер не 2003, а 2008) и упомянуты направления, по которым нужно идти для того чтобы еë решить:
Registry keys for COM component were missing
BlueTooth stack not present on Server OS

с этими двумя строками самому разобраться не получилось, прошу помочь

(никаких BlueTooth-устройств не использую)
(на всякий случай в архиве есть копия системных каталогов операционки хр)
(тут (https://exelab.ru/f/index.php?action=vthread&forum=5&topic=23356) та же проблема, но с сервером-2012)

Petya V4sechkin
30-09-2016, 09:55
perihelion, сделайте лог Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) следующим образом:
запустите Process Monitor;
попытайтесь запустить SteelSeries Engine 2;
сохраните лог: меню File -> Save -> PML-формат;
заархивируйте и выложите на любой файлообменник, например rghost.ru.

perihelion
30-09-2016, 16:25
http://rgho.st/7tL6vcRRj

PML-файл создан в Process Monitor (2.96), так как версия 3.31 не запустилась:
Procmon.exe - Entry Point Not Found
The procedure entry point InitializeSRWLock could not be located in the dynamic link library KERNEL32.dll

если что, KERNEL32.dll есть в:
C:\WINDOWS\system32 (1 037 312 bytes)
C:\WINDOWS\system32\dllcache (1 037 312 bytes)

Petya V4sechkin
30-09-2016, 23:18
perihelion, есть подозрение, что программа некорректно установилась, поскольку отсутствует раздел реестра
HKEY_CLASSES_ROOT\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}

perihelion
30-09-2016, 23:30
я программу вынужденно устанавливал (для проверки) за последние часов 30 неоднократно (в том числе и другие версии)
ни одной ошибки во всех установках не было

то, что что-то отсутствует в реестре, я понял ещë из темы, на которую дал первую ссылку
но что делать с этим отсутствием?

Petya V4sechkin
01-10-2016, 09:45
perihelion, а можете посмотреть на другой системе, где программа работает нормально, есть ли указанный раздел реестра?

perihelion
01-10-2016, 19:57
на другой системе посмотреть не могу, она удалена (заменена на нынешнюю вин2003)

в rar-файле сохранилась полная копия каталога "C:\WINDOWS" (из системы хр, где программа работала нормально)
в "C:\WINDOWS\system32\config" есть файлы:
system (11 796 480 bytes)
system.LOG (1 024 bytes)
system.sav (503 808 bytes)
их поверхностный просмотр в блокноте не выявил раздела "HKEY_CLASSES_ROOT"

ещë есть reg-файл "export from registry (2015.12.20)" (113 mb). но в нëм только:
HKEY_LOCAL_MACHINE - 617 тысяч строк
HKEY_USERS - 454 тысяч строк
другие разделы (в том числе и HKEY_CLASSES_ROOT) - отсутствуют

Petya V4sechkin
01-10-2016, 20:17
в "C:\WINDOWS\system32\config" есть файлы
Там есть файл software - его можно посмотреть в Regedit (ставите указатель на HKEY_LOCAL_MACHINE -> меню Файл -> Загрузить куст).
не выявил раздела "HKEY_CLASSES_ROOT"
HKEY_LOCAL_MACHINE\SOFTWARE\Classes
или HKEY_LOCAL_MACHINE\имя_загруженного_куста\Classes

perihelion
01-10-2016, 21:08
зачем для HKEY_LOCAL_MACHINE загружать куст, если этот раздел можно удобно (и с поиском) просмотреть в блокноте?

что мне делать с разделом HKEY_LOCAL_MACHINE\SOFTWARE\Classes?
нам же нужен HKEY_CLASSES_ROOT\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}

в reg-файле (от старой системы) по запросу HKEY_CLASSES_ROOT находит только 2 места:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\AppPatch\v2.0.50727.00000\excel.exe\{2CCA A9FE-6884-4AF2-99DD-5217B94115DF}\Registry Keys\{2CCAA9FE-6884-4AF2-99DD-5217B94115DF}]
"Key Presence"=dword:00000000
"Key Name"="HKEY_CLASSES_ROOT\\Interface\\{000C0601-0000-0000-C000-000000000046}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\AppPatch\v2.0.50727.00000\winword.exe\{2C CAA9FE-6884-4AF2-99DD-5217B94115DF}\Registry Keys\{2CCAA9FE-6884-4AF2-99DD-5217B94115DF}]
"Key Presence"=dword:00000000
"Key Name"="HKEY_CLASSES_ROOT\\Interface\\{000C0601-0000-0000-C000-000000000046}"
это не должно никакого значения иметь, но упомяну, что сейчас в системе есть "NET-Framework 2.0 sp2" (support info: version 2.2.30729)

в reg-файле по запросу 56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15 ничего не находит

Petya V4sechkin
02-10-2016, 09:29
что мне делать с разделом HKEY_LOCAL_MACHINE\SOFTWARE\Classes?
нам же нужен HKEY_CLASSES_ROOT\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}
HKEY_CLASSES_ROOT (https://msdn.microsoft.com/en-us/library/windows/desktop/ms724475(v=vs.85).aspx) - отображение (view), которое формируется путём наложения
HKEY_CURRENT_USER\Software\Classes
на
HKEY_LOCAL_MACHINE\SOFTWARE\Classes

То есть, HKEY_LOCAL_MACHINE\SOFTWARE\Classes - основа, большинство классов там регистрируются.
в reg-файле по запросу 56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15 ничего не находит
Программа стояла до создания REG-файла?

perihelion
02-10-2016, 10:25
программа была установлена в июле (reg-файл создан в декабре)

несколько часов назад (предположительно после отключения "internet explorer enhanced security configuration", но это не точно) после нажатия на ярлык программы начало появляться (раньше - ничего не происходило) окно "SteelSeriesEngine.exe - Application Error":
Application has generated an exception that could not be handled.

Process ID=0x64c (1612), Thread ID=0xa6c (2668).

Click OK to terminate the application.
Click CANCEL to debug the application.
после выбора "cancel" появляется окно "SteelSeriesEngine.exe - No debugger found":
No registered JIT debugger was specified.

Click on Retry to have the process wait while attaching a debugger manually.
Click on Cancel to abort the JIT debug request.

Там есть файл software - его можно посмотреть в Regedit (ставите указатель на HKEY_LOCAL_MACHINE -> меню Файл -> Загрузить куст)
HKEY_LOCAL_MACHINE\имя_загруженного_куста\Classes
выполнив эти инструкции, я в трëх местах нашëл фрагмент 56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15:

1) HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver\CLSID
(Default), REG_SZ, Data: {56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}

2) HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver.1\CLSID
(Default), REG_SZ, Data: {56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}

3) HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}
(Default), REG_SZ, Data: BusDriver Class

в моëм первом сообщении упоминаются 2 ориентира для решения проблемы (второй из них - BlueTooth stack not present on Server OS)
ничего в этом не смыслю, но спрошу: это (support.toshiba.com/sscontent?contentId=4007183) (Bluetooth Stack for Windows) может как-то помочь?

perihelion
03-10-2016, 01:30
странно, но в блокноте (экспорт раздела MY_OLD_SOFTWARE) фрагмент 56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15 нашëлся более трëх раз:

1) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver\CLSID] @="{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}"

2) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver.1\CLSID] @="{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}"

3) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}] @="BusDriver Class"

4) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}\InprocServer32]
@="C:\\Program Files\\Steel-Series-Engine (2.9.2014.1)\\SteelSeriesDrivers\\BSteelLink.dll"
"ThreadingModel"="Apartment"

5) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}\ProgID] @="BSteelLink.BusDriver.1"

6) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}\Programmable]

7) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}\TypeLib] @="{6B76D4EA-ADD6-4987-979E-19B7609C0FA2}"

8) [HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}\VersionIndependentProgID] @="BSteelLink.BusDriver"

Petya V4sechkin
03-10-2016, 07:54
perihelion, можно попробовать экспортировать эти ветки:
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.BusDriver.1
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\BSteelLink.* (остальные D3Headset, MiscControl, SenseiMouse и т. д.)
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{56B9AC5C-490A-4AF6-9FA3-EC45D5E09A15}
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{939A6A3F-4B0D-4DB3-8B05-2FFFACFB0AE3}
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{C8660A36-13DE-41F7-8AB4-BE94AE00CBC3}
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{EB9B26F4-35CA-44A1-A759-7688F3BFC4E0}
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\CLSID\{EF061FE8-3EF7-4BDB-B31D-3F126028BE5C}

Далее заменить в получившихся REG-файлах MY_OLD_SOFTWARE на SOFTWARE и импортировать.

После этого сделайте новый лог Procmon при запуске программы.

perihelion
03-10-2016, 09:43
http://rgho.st/7Vjxj6qWs

получилось 13-reg файлов (среди них: D3Headset - 2 штуки, MiscControl - 2 штуки, SenseiMouse - 2 шутки)

единственная ветка, которая попалась при поиске, но которую я не экспортировал:
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\Interface\{939A6A3F-4B0D-4DB3-8B05-2FFFACFB0AE3}

ещë перед созданием нового Procmon-лога я попробовал запустить программу
ошибка "SteelSeriesEngine.exe - Application Error" всë так же появляется в двух мелких окнах, но теперь перед ними вылезло сообщение о нехватке файла bthprops.cpl
он был скачан и сначала добавлен в каталог программы (ничего не дало), затем - ещë и в system32 (после чего про нехватку этого файла больше не упоминалось)

но теперь перед ошибкой "SteelSeriesEngine.exe - Application Error" стало появляться другое сообщение:
SteelSeriesEngine.exe - Entry Point Not Found: The procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll

импортирование явно что-то дало, так как сразу после перезагрузки системы ошибка "SteelSeriesEngine.exe - Application Error" появилась сама
(раньше появлялась только после нажатия на ярлык программы)
то есть, она теперь хотя бы пытается автоматически загрузиться

добавлено позднее:
также после перезагрузки я попытался выполнить: regsvr32 bthprops.cpl
результат: LoadLibrary("bthprops.cpl") failed - The specified procedure could not be found

Petya V4sechkin
03-10-2016, 11:09
perihelion, не ту версию bthprops.cpl скачали - удалите.
Скачайте версию для XP (http://rgho.st/6kpyXDRtZ).

И сделайте лог Procmon.

единственная ветка, которая попалась при поиске, но которую я не экспортировал:
HKEY_LOCAL_MACHINE\MY_OLD_SOFTWARE\Classes\Interface\{939A6A3F-4B0D-4DB3-8B05-2FFFACFB0AE3}
Да, из подраздела Interface эти CLSID тоже надо взять.
И ещё в TypeLib что-то может быть.

perihelion
03-10-2016, 12:07
я удалил оба неподходщих bthprops.cpl, добавил "версию для XP" в system32, и программа запустилась без единой ошибки
в эти дни ещë буду кое-что проверять, но на первый взгляд вроде всë в порядке
из того что могу сейчас проверить благодаря импорту моих настроек, работают все переназначенные клавиши

благодарю за отзывчивость, знания и терпение

из подраздела Interface эти CLSID тоже надо взять.
И ещё в TypeLib что-то может быть »
постараюсь позже сделать
это ведь важно даже не смотря на то что уже всë работает?

Petya V4sechkin
03-10-2016, 12:24
perihelion, ещё можно выполнить команду:
regsvr32 "C:\Program Files\Steel-Series-Engine (2.9.2014.1)\SteelSeriesDrivers\BSteelLink.dll"
Если сработает, регистрация добавит недостающие разделы.

perihelion
03-10-2016, 13:17
команду я выполнил:
DllRegisterServer in C:\Program Files\Steel-Series-Engine (2.9.2014.1)\SteelSeriesDrivers\BSteelLink.dll succeeded

то есть, теперь всë должно быть полностью в порядке и ручное добавление информации из Interface/TypeLib больше не актуально?

Petya V4sechkin
03-10-2016, 15:02
теперь всë должно быть полностью в порядке и ручное добавление информации из Interface/TypeLib больше не актуально?
Теоретически, да.




© OSzone.net 2001-2012