[solved] ATL ActiveX: error PRJ0019: A tool returned an error code...
-
hallo,
verwende zwar kein MFC, sondern ATL, weiß net recht, wo ich mit meim topic hin gehör'... i versuchs mal hier.
also ich hab ein ActiveX control, das zwar buildet und linkt, jedoch schlägt die registrierung anscheinend fehl (i muss dazusagen i bin ein ActiveX n00b, hab also kan plan, is nur a vermutung). also nachm linken bekomm ich die sehr hilfreiche fehlermeldung
1>Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step"
das hilft mir net wirklich weiter.
wie gesagt bin i ActiveX- (und auch COM-)Neuling und daher ein wenig ratlos -- wo/wie fang' ich in so 'nem fall zu suchen an?
das build-log sieht so aus:
Build Log Build started: Project: OpenGL, Configuration: Debug|Win32
Command Lines Creating temporary file "c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\RSP0000273508120.rsp" with contents
[
/OUT:".\Debug/OpenGL.dll" /INCREMENTAL /LIBPATH:"C:\SDK\ACE_wrappers_5_4\lib\Win32\" /DLL /MANIFEST /MANIFESTFILE:".\Debug\OpenGL.dll.intermediate.manifest" /DEBUG /PDB:".\Debug/OpenGL.pdb" /SUBSYSTEM:WINDOWS /IMPLIB:".\Debug/OpenGL.lib" /MACHINE:X86 /SAFESEH aced.lib".\Debug\OpenGL.obj"
".\Debug\OpenGL.res"
".\Debug\OpenGLObj.obj"
".\Debug\StdAfx.obj"
".\Debug\ACEClient.obj"
".\Debug\AceRoot.obj"
".\Debug\OGLInput.obj"
".\Debug\OGLRenderDevice.obj"
".\Debug\Properties.obj"
".\Debug\DummyNetClient.obj"
".\Debug\OpenGL.dll.embed.manifest.res"
]
Creating command line "link.exe @"c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\RSP0000273508120.rsp" /NOLOGO /ERRORREPORT:PROMPT"
Creating temporary file "c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\RSP0000283508120.rsp" with contents
[
/out:".\Debug\OpenGL.dll.embed.manifest" /notify_update /manifest".\Debug\OpenGL.dll.intermediate.manifest"
]
Creating command line "mt.exe @"c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\RSP0000283508120.rsp" /nologo"
Creating temporary file "c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\BAT0000293508120.bat" with contents
[
@echo Manifest resource last updated at %TIME% on %DATE% > ".\Debug\mt.dep"
]
Creating command line """c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\BAT0000293508120.bat"""
Creating temporary file "c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\BAT00002A3508120.bat" with contents
[
@echo offregsvr32 /s /c "c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\OpenGL.dll"
echo regsvr32 exec. time > ".\Debug\regsvr32.trg"
if errorlevel 1 goto VCReportError
goto VCEnd
:VCReportError
echo Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step"
exit 1
:VCEnd
]
Creating command line """c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\BAT00002A3508120.bat"""
Output Window Linking...
Creating library .\Debug/OpenGL.lib and object .\Debug/OpenGL.exp
Microsoft (R) 32b/64b MIDL Compiler Version 6.00.0366
Copyright (c) Microsoft Corporation 1991-2002. All rights reserved.
Processing .\vc80.idl
vc80.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\prsht.idl
prsht.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\wtypes.idl
wtypes.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\basetsd.h
basetsd.h
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\guiddef.h
guiddef.h
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\mshtml.idl
mshtml.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\ocidl.idl
ocidl.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\oleidl.idl
oleidl.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\objidl.idl
objidl.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\unknwn.idl
unknwn.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\oaidl.idl
oaidl.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\servprov.idl
servprov.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\urlmon.idl
urlmon.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\msxml.idl
msxml.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\dimm.idl
dimm.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\mshtmhst.idl
mshtmhst.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\docobj.idl
docobj.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\exdisp.idl
exdisp.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\objsafe.idl
objsafe.idl
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\oaidl.acf
oaidl.acf
Processing C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\ocidl.acf
ocidl.acf
Embedding manifest...
Performing Custom Build Step
Project : error PRJ0019: A tool returned an error code from "Performing Custom Build Step"
Results Build log was saved at "file://c:\Dokumente und Einstellungen\userX\Eigene Dateien\ActiveX\AXOpenGL\Debug\BuildLog.htm"
OpenGL - 1 error(s), 0 warning(s)
-
Registrier das Control doch mal von "Hand" auf der Kommandozeile:
regsvr32 OpenGL.dll
-
hmh...
LoadLibrary("OpenGL.dll") fehlgeschlagen - Das angegebene Modul wurde nicht gefunden.
was heißt das jetzt? Oo
btw, falls das relevant ist: ich bau mein control auf ein sample von microsoft.com auf, hab dieses erst ausgemistet -> ging noch. hab dann meine klassen eingepflegt, 'ne zusätzliche lib hinzugefügt -> ging nicht mehr.
wie funktioniert der ganze registrierungsmechanismus überhaupt? da gibts ja diese .rgs-files, die vom wizzard erzeugt werden, bei mir in der solution fehlt das allerdings (???) der wizzard erstellt ausserdem diese proxy-projekte und -objekte, die sind im sample ebenfalls nicht enthalten.
kennst du vll. 'ne quelle, bei der ich mich schnell und effektiv über das ganze notwendige zeugs informieren kann? also crashkurs-artig? weil i hab keine zeit mir das alles in depth-first-art reizuziehen... wenn da jemand a empfehlung hätte wie ma schnell zum notwendigen wissen kommt, wär's echt net!
-
Vermutlich fehlt eine DLL, die von Deiner DLL benötigt wird. Öffne man Deine DLL mit
www.dependencywalker.com
-
HAH!! das wars. viiielen dank! das war a fehler, den i erst zum ausführungszeitpunkt erwartet hätte, net beim registrieren.
-
"Registrieren" *heisst* "ausführen"...
-
aaaa-ha?
dachte, da würde nur das control in da registry registriert...
-
Das Control registriert sich ja *selber* und dazu muss es ausgeführt werden

Sie Export-Funktioen (Dll(Un)RegisterServer).
-
aso! okay, thx.