Regqueryvalueex возвращена ошибка 2 не удается найти указанный файл

System: Windows 7 32bit
Language: C++

I have tried to access register HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0, key Driver (type REG_SZ) — no problem.

The same for reading from HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM, all keys (types REG_SZ) got slashes, for example DeviceSerial0.

While reading such keys it always returns 2 (no such file) with following example code:

HKEY hKey = 0;
DWORD dwType = REG_SZ;
char buf[255] = {0};
DWORD dwBufSize = sizeof(buf);

if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS ) 
{
  auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &dwType, (LPBYTE)buf, &dwBufSize );
  // ret always == 2 for key with slashes
--- CUT ---

What is the proper way to read key values with slashes in name?


Above has been properly answered by Cody Gray.


Below another issue.


Im getting the same problem when Im using variable instead of a text string.
Iv considered both approaches with single and double slashes:

HKEY hKey = 0;
DWORD keyType = REG_SZ;
TCHAR buf[255] = {0};
DWORD bufSize = sizeof(buf);

QSettings winReg("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM", QSettings::NativeFormat);
auto comsKey = winReg.allKeys();

FOREACH( auto com, comsKey )
{
  // FOREACH - boost macro
  // comsKey = QList<QString> (list of key names) [from Qt framework]
  // com = QString (single key name) [from Qt framework]
  if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS )
  {
    wchar_t* keyw = new wchar_t();
    //com.replace("/", "\"); <- checked both variants commented and not commented; com == /Device/Serial0 so im converting to DeviceSerial0
    int size = com.size();
    mbstowcs( keyw, com.toStdString().data(), size );
    //auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this works!
    auto ret = RegQueryValueExW( hKey, (LPCWSTR)&keyw, 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this one not works!

I have tried all variants with «Device..», «/Device», «Device», etc.

Удалил DirectX через программу directx killer, потом заново устанавливал и тут ошибка

Ошибка при установке

603697931b466391335712.png

Лог файла DXError.log

———————
[02/24/21 23:02:15] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage

Failed API: VerQueryValue()
Error: (1813) — Указанный тип ресурса в файле образа отсутствует.

Unable to get Translation valie.

———————
[02/24/21 23:02:15] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage

Failed API: VerQueryValue()
Error: (1813) — Указанный тип ресурса в файле образа отсутствует.

Unable to get Translation valie.

———————
[02/24/21 23:02:22] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 189, function: GetDXVersion

Failed API: RegQueryValueEx()
Error: (2) — Не удается найти указанный файл.

Current DirectX may be a older version which does not have the version value in the registry.

———————
[02/24/21 23:02:22] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4751, function: DirectXUpdateGetSetupInformation

GetDXVersion() failed.

———————
[02/24/21 23:02:22] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

DirectXUpdateInstallPlugIn() failed.

———————
[02/24/21 23:02:22] module: dsetup32(Jun 2 2010), file: setup.cpp, line: 1723, function: CSetup::SetupForDirectX

InstallPlugIn() failed.

Пробовал все что было в инете ничего не помогло, помогите решить

Я пытаюсь заставить VBA запросить реестр, чтобы узнать, установлен ли драйвер ODBC, и получаю ошибку 2 при попытке прочитать значение ключа. Я попробовал более простой ключ/значение, но не сигару.

Редактировать для уточнения

Я разрабатываю 32-битную систему, но это должно работать как для 32-битных, так и для 64-битных систем. Проблема в том, что вызов RegOpenKeyEx работает, но RegQueryValueEx возвращает ошибку 2: файл не существует в моей 32-битной системе. Мой синтаксис выглядит правильно, что я делаю неправильно?

Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const ERROR_SUCCESS = 0&                ' Successful
Public Const ERROR_FILE_NOT_FOUND = 2&         ' Registry path does not exist
Public Const ERROR_ACCESS_DENIED = 5&          ' Requested permissions not available
Public Const STANDARD_RIGHTS_READ = &H20000
Public Const SYNCHRONIZE = &H100000
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE _
                        Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) _
                        And (Not SYNCHRONIZE))
Public Const REG_SZ = 1 ' Unicode nul terminated string

Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As _
    Long, ByVal samDesired As Long, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
    (ByVal hKey As Long, lpValueName As String, _
    ByVal lpReserved As Long, lpType As Long, _
    lpData As Any, lpcbData As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" _
    (ByVal hKey As Long) As Long

Sub TestRegAPI()
  Dim KeyName As String, handle As Long, handle2 As String

  'KeyName = "SOFTWAREODBCODBCINST.INIODBC Drivers"
  KeyName = "SOFTWARE7-Zip"
  r = RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, KEY_READ, handle)
  If r Then
    MsgBox "Unable to open the specified Registry key, code " & r
    Else
    'r = RegQueryValueEx(handle, "MySQL ODBC 5.1 Driver", 0, 1&, handle2, length)
    r = RegQueryValueEx(handle, "Path", 0, REG_SZ, handle2, length)
    RegCloseKey handle
  End If
End Sub

Система: Windows 7 32bit
Язык: С++

Я попытался получить доступ к регистру HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0, key Driver (type REG_SZ) — не проблема.

То же самое для чтения из HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM, все клавиши (типы REG_SZ) получили косые черты, например DeviceSerial0.

При чтении таких ключей он всегда возвращает 2 (нет такого файла) со следующим примером кода:

HKEY hKey = 0;
DWORD dwType = REG_SZ;
char buf[255] = {0};
DWORD dwBufSize = sizeof(buf);

if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS ) 
{
  auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &dwType, (LPBYTE)buf, &dwBufSize );
  // ret always == 2 for key with slashes
--- CUT ---

Каков правильный способ считывания ключевых значений с помощью слэшей в имени?


Выше был правильно ответил Коди Грей.


Ниже другой проблемы.


Я получаю ту же проблему, когда я использую переменную вместо текстовой строки.
Iv рассматривал оба подхода с одиночной и двойной косой чертой:

HKEY hKey = 0;
DWORD keyType = REG_SZ;
TCHAR buf[255] = {0};
DWORD bufSize = sizeof(buf);

QSettings winReg("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM", QSettings::NativeFormat);
auto comsKey = winReg.allKeys();

FOREACH( auto com, comsKey )
{
  // FOREACH - boost macro
  // comsKey = QList<QString> (list of key names) [from Qt framework]
  // com = QString (single key name) [from Qt framework]
  if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS )
  {
    wchar_t* keyw = new wchar_t();
    //com.replace("/", "\"); <- checked both variants commented and not commented; com == /Device/Serial0 so im converting to DeviceSerial0
    int size = com.size();
    mbstowcs( keyw, com.toStdString().data(), size );
    //auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this works!
    auto ret = RegQueryValueExW( hKey, (LPCWSTR)&keyw, 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this one not works!

Я пробовал все варианты с помощью » Device..», «/Device», » Device» и т.д.

Помогите, плиз.

Windows 7.
Началось все с замены батарейки БИОСа на ноутбуке.

После этого перестала запускаться установленная игра, которая до этого работала без проблем — в самом начале вываливается ошибка «fatal error: cannot set display mode»…
переставил все драйверы несколько раз — ничего не помогло…

Появилось подозрение, что просто при запуске игра не может переключиться на дискретную видеокарту. Чего только не делал — чуть систему не угробил… :( В итоге такое ощущение, что по умолчанию в системе теперь запускается именно дискретная видяха, но сути не изменилось — игра не стартует.

В общем начитался в инете всяких советов, попытался удалить и переустановить DirectX — но стало только хуже похоже.

На данный момент при попытке установить на компьютер свежую версию DirectX через его вебустановщик или просто любой DirectX скачанным файлом, компьютер выдаёт сообщение об ошибке с текстом «Произошла внутренняя системная ошибка. Чтобы определить причину ошибки просмотрите файлы DXError.log и Directx.log в папке Windows».
Инструкций по этой ошибке тоже достаточно — но ничего не помогает…
Понимаю, что проще всего наверное переустановить систему, но времени на это тупо нет, а работать надо (игра в перерывах :)).

В логах DXError.log (при попытке установки DirectX 11) при установке появляется следующее:

Код:

———————
[02/20/22 19:39:47] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 192, function: GetDXVersion

    Failed API:      RegQueryValueEx()
    Error:      (2) — Не удается найти указанный файл.

    Current DirectX may be a older version which does not have the version value in the registry.

———————
[02/20/22 19:39:47] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 4764, function: DirectXUpdateGetSetupInformation

    GetDXVersion() failed.

———————
[02/20/22 19:39:47] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

———————
[02/20/22 19:39:47] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

Если пытаться вебустановщиком обновление сделать, то ошибки следующие:

Код:

———————
[02/20/22 19:49:55] module: DXWSetup(Mar 30 2011), file: dxwsetup.cpp, line: 352, function: CDXWSetup::InitInstallEngine

    Failed API:      SetAction()
    Error:      (0x80070057) — Параметр задан неверно.

———————
[02/20/22 19:49:55] module: DXWSetup(Mar 30 2011), file: psheets.cpp, line: 705, function: PreinstDlgProc

    CDXWSetup::InitInstallEngine() failed.

При этом в логе установки появляются такие строчки (небольшая цитата из всего, что там есть):

Код:

02/20/22 19:49:47: DXWSetup: ***** DXWSETUP *****
02/20/22 19:49:47: DXWSetup: WinMain()
02/20/22 19:49:47: DXWSetup: IsIA64(): not IA64.
02/20/22 19:49:47: DXWSetup: Unable to get Version on target file C:Windowssystem32directxwebsetupdsetup.dll
02/20/22 19:49:47: DXWSetup: Installed file C:Windowssystem32directxwebsetupdsetup.dll
02/20/22 19:49:47: DXWSetup: Unable to get Version on target file C:Windowssystem32directxwebsetupdsetup32.dll
02/20/22 19:49:47: DXWSetup: Installed file C:Windowssystem32directxwebsetupdsetup32.dll
02/20/22 19:49:47: DXWSetup: GetDXVersion(): This may be a older DirectX which does not have the version value in the registry.
02/20/22 19:49:47: DXWSetup: DirectX Version: 0.00.00.0000.00
02/20/22 19:49:47: DXWSetup: Setup Version: 4.09.00.0904.00

А вто что со всем этим сделать — неизвестно…

ХЕЕЕЕЕЕЛП!!!!!

hi 

i have installed SQL 2019 standard edition in Linux Ubuntu and trying to establish logshipping  from this SQL 2019 Linux environment (primary)  to SQL 2019 Windows environment ( secondary). While establishing , i am getting the error shown below 

RegQueryValueEx() returned error 2, ‘The system cannot find the file specified.’
Msg 22001, Level 1, State 1
Msg 32018, Level 16, State 3, Procedure master.dbo.sp_add_log_shipping_secondary_primary, Line 129 [Batch Start Line 0]
Log shipping is not installed on this instance.

Please help me to resolve . Establish Logshipping 

i have followed the steps shared in the below link 

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-use-log-shipping?view=sql-server-ver15

i dont have any issues in share path , i can access  the share path created in linux to windows and vice versa . i also tested in ssms by issuing backup job to the share path , its working fine . no issues enccoutnered there . 


hemadri

System: Windows 7 32bit
Language: C++

I have tried to access register HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0, key Driver (type REG_SZ) — no problem.

The same for reading from HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM, all keys (types REG_SZ) got slashes, for example DeviceSerial0.

While reading such keys it always returns 2 (no such file) with following example code:

HKEY hKey = 0;
DWORD dwType = REG_SZ;
char buf[255] = {0};
DWORD dwBufSize = sizeof(buf);

if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("HARDWARE\DEVICEMAP\SERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS ) 
{
  auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &dwType, (LPBYTE)buf, &dwBufSize );
  // ret always == 2 for key with slashes
--- CUT ---

What is the proper way to read key values with slashes in name?


Above has been properly answered by Cody Gray.


Below another issue.


Im getting the same problem when Im using variable instead of a text string.
Iv considered both approaches with single and double slashes:

HKEY hKey = 0;
DWORD keyType = REG_SZ;
TCHAR buf[255] = {0};
DWORD bufSize = sizeof(buf);

QSettings winReg("HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM", QSettings::NativeFormat);
auto comsKey = winReg.allKeys();

FOREACH( auto com, comsKey )
{
  // FOREACH - boost macro
  // comsKey = QList<QString> (list of key names) [from Qt framework]
  // com = QString (single key name) [from Qt framework]
  if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("HARDWARE\DEVICEMAP\SERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS )
  {
    wchar_t* keyw = new wchar_t();
    //com.replace("/", "\\"); <- checked both variants commented and not commented; com == /Device/Serial0 so im converting to \Device\Serial0
    int size = com.size();
    mbstowcs( keyw, com.toStdString().data(), size );
    //auto ret = RegQueryValueEx( hKey, TEXT("\Device\Serial0"), 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this works!
    auto ret = RegQueryValueExW( hKey, (LPCWSTR)&keyw, 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this one not works!

I have tried all variants with «Device..», «/Device», «Device», etc.

hi 

i have installed SQL 2019 standard edition in Linux Ubuntu and trying to establish logshipping  from this SQL 2019 Linux environment (primary)  to SQL 2019 Windows environment ( secondary). While establishing , i am getting the error shown below 

RegQueryValueEx() returned error 2, ‘The system cannot find the file specified.’
Msg 22001, Level 1, State 1
Msg 32018, Level 16, State 3, Procedure master.dbo.sp_add_log_shipping_secondary_primary, Line 129 [Batch Start Line 0]
Log shipping is not installed on this instance.

Please help me to resolve . Establish Logshipping 

i have followed the steps shared in the below link 

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-use-log-shipping?view=sql-server-ver15

i dont have any issues in share path , i can access  the share path created in linux to windows and vice versa . i also tested in ssms by issuing backup job to the share path , its working fine . no issues enccoutnered there . 


hemadri

System: Windows 7 32bit
Language: C++

I have tried to access register HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0, key Driver (type REG_SZ) — no problem.

The same for reading from HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM, all keys (types REG_SZ) got slashes, for example DeviceSerial0.

While reading such keys it always returns 2 (no such file) with following example code:

HKEY hKey = 0;
DWORD dwType = REG_SZ;
char buf[255] = {0};
DWORD dwBufSize = sizeof(buf);

if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS ) 
{
  auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &dwType, (LPBYTE)buf, &dwBufSize );
  // ret always == 2 for key with slashes
--- CUT ---

What is the proper way to read key values with slashes in name?


Above has been properly answered by Cody Gray.


Below another issue.


Im getting the same problem when Im using variable instead of a text string.
Iv considered both approaches with single and double slashes:

HKEY hKey = 0;
DWORD keyType = REG_SZ;
TCHAR buf[255] = {0};
DWORD bufSize = sizeof(buf);

QSettings winReg("HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPSERIALCOMM", QSettings::NativeFormat);
auto comsKey = winReg.allKeys();

FOREACH( auto com, comsKey )
{
  // FOREACH - boost macro
  // comsKey = QList<QString> (list of key names) [from Qt framework]
  // com = QString (single key name) [from Qt framework]
  if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("HARDWAREDEVICEMAPSERIALCOMM"), 0, KEY_QUERY_VALUE, &hKey ) == ERROR_SUCCESS )
  {
    wchar_t* keyw = new wchar_t();
    //com.replace("/", "\"); <- checked both variants commented and not commented; com == /Device/Serial0 so im converting to DeviceSerial0
    int size = com.size();
    mbstowcs( keyw, com.toStdString().data(), size );
    //auto ret = RegQueryValueEx( hKey, TEXT("DeviceSerial0"), 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this works!
    auto ret = RegQueryValueExW( hKey, (LPCWSTR)&keyw, 0, &keyType, (LPBYTE)buf, &bufSize ); // <- this one not works!

I have tried all variants with «Device..», «/Device», «Device», etc.

  • Remove From My Forums
  • Question

  • I am using VC++ 2008 for Windows Server 2008. I have an issue reading a registry key at LOCAL_MACHINE in «Server 2008 R2». I am using the WinAPI RegOpenKeyEx and  RegQueryValueEx methods (which supposed to be standard access method in VC++). 
    The thing is the code works fine in in Windows XP and Server 2008 but RegQueryValueEx produces error 2 in «Server 2008 R2». 

    I have setup the UAC setting in my Server 2008 R2 machine so that application have access to registry and I amd running as administrator Actually I can read/write via my C# .Net application which uses Microsoft.Win32.RegistreyKey class. That is quite wierd
    thing in Server 2008 R2 not to let some API have the same access !! I couldn’t find any documentation in MSDN!

    This is my code:

    void LoadPreferences()
    {
        HKEY   hkey;
        DWORD  dwDisposition;
        DWORD dwType, dwSize;
        char regPath[1024];
        char regKey[1024];
        char regVal[1024];
        char errMsg[1024];
        CString msg;

    // Reading windows Program file directory:

       strcpy(regPath,  «SoftwareMicrosoftWindowsCurrentVerion»);
        strcpy(regKey,  «ProgramFilesDir»);

        long res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, regPath , 0, KEY_QUERY_VALUE, &hkey) ;

        if(res ==     ERROR_SUCCESS)
        {

            dwType = REG_SZ;
            dwSize = sizeof(regVal);
            res = RegQueryValueEx(hkey, regKey, NULL, &dwType,     (PBYTE)&regVal, &dwSize);

            RegCloseKey(hkey);

            if(res ==ERROR_SUCCESS)
            {
                msg.Format(«Key:’%s%s’ =>  Val:’%s’», regPath, regKey, regVal);
                AfxMessageBox(msg);
            }
            else
            {
                //FormatMessage(FORMAT_MESSAGE_FROM_STRING, NULL, res, NULL, errMsg, 1024,NULL);
                msg.Format(«Error in RegQueryValueEx => %d => %s», res, errMsg);
                AfxMessageBox(msg);
            }
        }
        else
        {
            msg.Format(«Error in RegOpenKeyEx for %s=> %d», regPath, res);
            AfxMessageBox(msg);
        }
    }

    Just I tried CRegKey class as well. It works fine for XP but again does not work for any of Server 2008 platforms!!

    Is it possible the problem has been becausee of x64 architecture?

    Any idea?

Answers

  • What is the value of res? Access denied?

    Try specifying KEY_READ or (KEY_READ | KEY_WRITE) access. Are you sure you want to access the 32-bit part of the registry using KEY_WOW64_32KEY?

    • Marked as answer by

      Tuesday, June 22, 2010 9:38 AM

  • mkavous wrote:

    >

    >

    >void LoadPreferences()

    >{

    > HKEY hkey;

    > DWORD dwDisposition;

    > DWORD dwType, dwSize;

    > char regPath[1024];

    > char regKey[1024];

    > char regVal[1024];

    > char errMsg[1024];

    > CString msg;

    >

    >

    >// Reading windows Program file directory:

    >

    > strcpy(regPath, «SoftwareMicrosoftWindowsCurrentVerion»);

    > strcpy(regKey, «ProgramFilesDir»);

    Did you retype this, rather than cut and paste? Because «CurrentVersion»

    is misspelled there.

    Tim Roberts, timr@probo.com

    Providenza & Boekelheide, Inc.


    Tim Roberts, DDK MVP

    • Marked as answer by
      Kira Qian
      Tuesday, June 22, 2010 9:38 AM

Проблема: произошла внутренняя системная ошибка (directx windows 7)
Ребят, у меня винда 7, на ней был при покупке 10 директ. Но спустя время( после некоторых установок игр) стала 11(обновилась).
А мой компьютер не тянет эту версию( происходят сильные лаги…..мигание экрана даже в некоторых играх)
я погуглила чуток в инете..и наткнулась на совет: удалить полностью 11 версию и поставить более древнюю…
возпользовалась программой: DirectX Eradicator
после этого больше не одну версию ( даже вместе с установкой игры) ну смогла установить
и постоянно выдает ошибки: не одну из игр( которые запускаются с директ не открывает)
dxdiag выдает ошибку
я читала..что в системной папке нужно посмотреть регистр:

———————
[09/25/13 09:24:27] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage

Failed API: VerQueryValue()
Error: (1813) — Указанный тип ресурса в файле образа отсутствует.

Unable to get Translation valie.

———————
[09/25/13 09:24:27] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage

Failed API: VerQueryValue()
Error: (1813) — Указанный тип ресурса в файле образа отсутствует.

Unable to get Translation valie.

———————
[09/25/13 09:24:41] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 189, function: GetDXVersion

Failed API: RegQueryValueEx()
Error: (2) — Не удается найти указанный файл.

Current DirectX may be a older version which does not have the version value in the registry.

———————
[09/25/13 09:24:41] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4751, function: DirectXUpdateGetSetupInformation

GetDXVersion() failed.

———————
[09/25/13 09:24:41] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

DirectXUpdateInstallPlugIn() failed.

———————
[09/25/13 09:24:41] module: dsetup32(Jun 2 2010), file: setup.cpp, line: 1723, function: CSetup::SetupForDirectX

InstallPlugIn() failed.

прошу помочь пожалуйста=)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Помогите, плиз.

Windows 7.
Началось все с замены батарейки БИОСа на ноутбуке.

После этого перестала запускаться установленная игра, которая до этого работала без проблем — в самом начале вываливается ошибка «fatal error: cannot set display mode»…
переставил все драйверы несколько раз — ничего не помогло…

Появилось подозрение, что просто при запуске игра не может переключиться на дискретную видеокарту. Чего только не делал — чуть систему не угробил… :( В итоге такое ощущение, что по умолчанию в системе теперь запускается именно дискретная видяха, но сути не изменилось — игра не стартует.

В общем начитался в инете всяких советов, попытался удалить и переустановить DirectX — но стало только хуже похоже.

На данный момент при попытке установить на компьютер свежую версию DirectX через его вебустановщик или просто любой DirectX скачанным файлом, компьютер выдаёт сообщение об ошибке с текстом «Произошла внутренняя системная ошибка. Чтобы определить причину ошибки просмотрите файлы DXError.log и Directx.log в папке Windows».
Инструкций по этой ошибке тоже достаточно — но ничего не помогает…
Понимаю, что проще всего наверное переустановить систему, но времени на это тупо нет, а работать надо (игра в перерывах :)).

В логах DXError.log (при попытке установки DirectX 11) при установке появляется следующее:

Код:

———————
[02/20/22 19:39:47] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 192, function: GetDXVersion

    Failed API:      RegQueryValueEx()
    Error:      (2) — Не удается найти указанный файл.

    Current DirectX may be a older version which does not have the version value in the registry.

———————
[02/20/22 19:39:47] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 4764, function: DirectXUpdateGetSetupInformation

    GetDXVersion() failed.

———————
[02/20/22 19:39:47] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

———————
[02/20/22 19:39:47] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

Если пытаться вебустановщиком обновление сделать, то ошибки следующие:

Код:

———————
[02/20/22 19:49:55] module: DXWSetup(Mar 30 2011), file: dxwsetup.cpp, line: 352, function: CDXWSetup::InitInstallEngine

    Failed API:      SetAction()
    Error:      (0x80070057) — Параметр задан неверно.

———————
[02/20/22 19:49:55] module: DXWSetup(Mar 30 2011), file: psheets.cpp, line: 705, function: PreinstDlgProc

    CDXWSetup::InitInstallEngine() failed.

При этом в логе установки появляются такие строчки (небольшая цитата из всего, что там есть):

Код:

02/20/22 19:49:47: DXWSetup: ***** DXWSETUP *****
02/20/22 19:49:47: DXWSetup: WinMain()
02/20/22 19:49:47: DXWSetup: IsIA64(): not IA64.
02/20/22 19:49:47: DXWSetup: Unable to get Version on target file C:Windowssystem32directxwebsetupdsetup.dll
02/20/22 19:49:47: DXWSetup: Installed file C:Windowssystem32directxwebsetupdsetup.dll
02/20/22 19:49:47: DXWSetup: Unable to get Version on target file C:Windowssystem32directxwebsetupdsetup32.dll
02/20/22 19:49:47: DXWSetup: Installed file C:Windowssystem32directxwebsetupdsetup32.dll
02/20/22 19:49:47: DXWSetup: GetDXVersion(): This may be a older DirectX which does not have the version value in the registry.
02/20/22 19:49:47: DXWSetup: DirectX Version: 0.00.00.0000.00
02/20/22 19:49:47: DXWSetup: Setup Version: 4.09.00.0904.00

А вто что со всем этим сделать — неизвестно…

ХЕЕЕЕЕЕЛП!!!!!

  • Registry error windows 10 как исправить ошибку
  • Registrator viewer ошибка сценария
  • Register filter driver exception ошибка
  • Regelzeit einseitig ошибка е53
  • Redmond мультиварка ошибка e02