1813 указанный тип ресурса в файле образа отсутствует
Пытаюсь обновить DirectX с интернет-инсталлятора, с сайта Microsoft (dxwebsetup). В конце установки пишет, что произошла внутренняя системная ошибка, подробности в DirectX.log и DXError.log.
Внизу прикладываю текст из DXError.
[10/10/10 19:43:25] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[10/10/10 19:43:25] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[10/10/10 19:43:51] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 2223, function: RegisterDLL
Failed API: LoadLibraryEx()
Error: (0xc000001d)
Unable to load C:\Windows\system32\xactengine3_0.dll.
--------------------
[10/10/10 19:43:52] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 5848, function: DirectXUpdateInstallPlugIn
--------------------
[10/10/10 19:43:52] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn
--------------------
[10/10/10 19:43:52] module: dsetup32(Jun 2 2010), file: setup.cpp, line: 1723, function: CSetup::SetupForDirectX
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Есть ошибка 1813, которая не палится компилятором. MSDN сказал, что это "The specified resource type cannot be found in the image file." другие сайты говорят "Указанный тип ресурса в файле образа отсутствует. "
Этот файл ресурсов лежит в либе, которая удачно компилируется. Там есть функция по созданию DialogBox, который не создаётся из-за ошибки 1813!
Рыл глубоко в интернете и ничего не нашел, а что находил, то не помогало!
Так вот, может тут есть опытный программист, который знает как решить проблему?
Вот код Ошибка в ресурсах Я использовал VC++ 2010 и DirectX 2008
amid
> Этот файл ресурсов лежит в либе
в либе или dll. :))))
ЗЫ
в *.lib никакие ресурсы лежать не могут. Ресурсы могут быть только в dll и exe
ЗЫ2
2010й под рукой нету - так что пример проверить не могу
Посмотрел просто в блокноте - ну да как я и думал у тебя Engine - это lib - ты туда ресурсы пытаешься вставить - это глупость. :))))
Тебе либо делать dllку из-нее, либо в твой game.exe инклудить ресурсы из проекта Engine. Если будешь инклудить ресурсы то можешь наткнутся на ещё более кривые грабли с конфликтом ресурсов - я лет 5 назад через это проходил :))) когда ещё с MFC писал.
Мои рекомендации: сделай Engine.DLL
amid
> которая не палится компилятором.
да кстати - учти ресурсы ВООБЩЕ не палятся компилером :))))))))). Потому что они компилируются ресурс-компилером - это отдельное приложение. Ты подключил хедер в проект - естественно проект у тебя увидел твой диалог - но на самом деле диалога нету - т.к. линкер не прилинковал res к game.exe.
Студия генерит rc файл и хедер resources.h
При компиляции:
Resource compiler делает из rc -> res файл
Linker его прилинковывает к проекту(exe или dll)
fsmoke, схема ясна) Спасибо!
Кстати, если запускал exe, то удали на диске С:\1.txt (там пишется ошибка)
А ведь пример то этот из книги! Может в c++ 2002 это ещё работало
amid
> fsmoke, схема ясна) Спасибо!
незачто :)
amid
> Кстати, если запускал exe
не запускал
amid
> Может в c++ 2002 это ещё работало
с++ 2002 несуществут - наверное перепутал с 2003
это не работало никогда ни в одной студии я какбе 10 лет на студии сижу :))
При установке многих игр (включая те, что поддерживают данную ос), возникает ошибка, во время установки dx9.
DXError.log
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 2958, function: IsMDXInUse
Unable to initialize MDXCheck.
--------------------
[07/11/10 16:50:13] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn
DirectX.log
Все ответы
Откуда брали DirectX?
Попробуйте скачать отсюда и поставить.
DirectX был с игрой.
Оттуда уже тоже брал, не помогло.
Попробуйте установить через dxwebinstaller
directx_Jun2010_redist.exe был испробован, смотрите 2ой и 3ий пост.
всё очень просто, собака вот где зарылась: запускаем dxwebinstaller не через Total Commander (или другой файловый менеджер), а чисто из проводника!! вуаля, нету ошибочки!
На win7 x64 возникли похожие ошибки «Произошла внутренняя системная ошибка. Чтобы определить причину ошибки, посмотрите файлы DXError.log и DirectX.log в папке Windows.» в логе при установке DirectX 9C, перерыл все, но ответа в нете не нашел, спасло одно.
Идем в реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX и HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX, удаляем ветку DirectX.
Создаем в текстовом редакторе файл с кодом
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
Естественно сохраняем, меняем расширение с txt на reg и добавляем в реестр.
Думаю для x32 системы без Wow6432Node тоже вылечит, теперь DirectX 9C устанавливается без ошибок.
При установке многих игр (включая те, что поддерживают данную ос), возникает ошибка, во время установки dx9.
DXError.log
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 2958, function: IsMDXInUse
Unable to initialize MDXCheck.
--------------------
[07/11/10 16:50:13] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn
DirectX.log
All replies
Откуда брали DirectX?
Попробуйте скачать отсюда и поставить.
DirectX был с игрой.
Оттуда уже тоже брал, не помогло.
Попробуйте установить через dxwebinstaller
directx_Jun2010_redist.exe был испробован, смотрите 2ой и 3ий пост.
всё очень просто, собака вот где зарылась: запускаем dxwebinstaller не через Total Commander (или другой файловый менеджер), а чисто из проводника!! вуаля, нету ошибочки!
На win7 x64 возникли похожие ошибки «Произошла внутренняя системная ошибка. Чтобы определить причину ошибки, посмотрите файлы DXError.log и DirectX.log в папке Windows.» в логе при установке DirectX 9C, перерыл все, но ответа в нете не нашел, спасло одно.
Идем в реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX и HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX, удаляем ветку DirectX.
Создаем в текстовом редакторе файл с кодом
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
Естественно сохраняем, меняем расширение с txt на reg и добавляем в реестр.
Думаю для x32 системы без Wow6432Node тоже вылечит, теперь DirectX 9C устанавливается без ошибок.
При установке многих игр (включая те, что поддерживают данную ос), возникает ошибка, во время установки dx9.
DXError.log
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:49:58] module: dsetup32(Jun 2 2010), file: dsinline.h, line: 391, function: GetLangCodePage
Failed API: VerQueryValue()
Error: (1813) - Указанный тип ресурса в файле образа отсутствует.
Unable to get Translation valie.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:02] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:06] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 4119, function: GetCachePath
Unable to initialize CFusion.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 6111, function: CFusion::CFusion
Failed API: LoadLibraryShim()
Error: (0x80070006) - Неверный дескриптор.
--------------------
[07/11/10 16:50:13] module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 2958, function: IsMDXInUse
Unable to initialize MDXCheck.
--------------------
[07/11/10 16:50:13] module: dsetup32(Jun 2 2010), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn
DirectX.log
Все ответы
Откуда брали DirectX?
Попробуйте скачать отсюда и поставить.
DirectX был с игрой.
Оттуда уже тоже брал, не помогло.
Попробуйте установить через dxwebinstaller
directx_Jun2010_redist.exe был испробован, смотрите 2ой и 3ий пост.
всё очень просто, собака вот где зарылась: запускаем dxwebinstaller не через Total Commander (или другой файловый менеджер), а чисто из проводника!! вуаля, нету ошибочки!
На win7 x64 возникли похожие ошибки «Произошла внутренняя системная ошибка. Чтобы определить причину ошибки, посмотрите файлы DXError.log и DirectX.log в папке Windows.» в логе при установке DirectX 9C, перерыл все, но ответа в нете не нашел, спасло одно.
Идем в реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX и HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX, удаляем ветку DirectX.
Создаем в текстовом редакторе файл с кодом
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
Естественно сохраняем, меняем расширение с txt на reg и добавляем в реестр.
Думаю для x32 системы без Wow6432Node тоже вылечит, теперь DirectX 9C устанавливается без ошибок.
Читайте также: