Aufruf EXE funktioniert nicht
-
Sollte eigentlich gehen...
Linke doch einfach statisch, dann hast Du die ganzen Probleme nicht (in den projekteinstellungen unter C/C++|Runtime: (Irgendwas *ohne* DLL auswählen)
-
äh, statisch?
weiß gar net wie das geht.
Sorry das mit dem Runtime hab ich auch net gefunden
-
Du kannst auch mal versuchen mittels Depency Walker abhängigkeiten zu finden. (Weitere DLLs etc.)
Ist das, was Du an Quellcode zeigst exakt das was Du machst oder ein Minimalbeispiel ?
-
Ist das, was Du an Quellcode zeigst exakt das was Du machst oder ein Minimalbeispiel ?
?? Kapier ich net was du meinst. Ich hab den gesamten Quelltext gepostet und genau das funzt auch net. Beantwortet das die Frage?
Hab ma Depency Walker getestet, log hier:
-------------------------------------------------------------------------------- [i]Starting profile on 14.09.2007 at 09:02:27[/i] [i]Operating System: [/i]Microsoft Windows XP Professional (32-bit), version 5.01.2600 Service Pack 2 [i]Program Executable:[/i] c:\j\aufruf\AUFRUFMINIDLL.EXE [i]Program Arguments:[/i] [i]Starting Directory:[/i] C:\j\aufruf\ [i]Search Path:[/i] C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\Programme\Microsoft SQL Server\90\Tools\binn\ [i]Options Selected:[/i] Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable. Log DllMain calls for process attach and process detach messages. Hook the process to gather more detailed dependency information. Log LoadLibrary function calls. Log GetProcAddress function calls. Log debug output messages. Automatically open and profile child processes. -------------------------------------------------------------------------------- [i]Started "AUFRUFMINIDLL.EXE" (process 0xFB4) at address 0x00400000. Successfully hooked module. Loaded "NTDLL.DLL" at address 0x7C910000. Successfully hooked module. Loaded "KERNEL32.DLL" at address 0x7C800000. Successfully hooked module.[/i] DllMain(0x7C910000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" called. DllMain(0x7C910000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" returned 1 (0x1). DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called. DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1). Injected "DEPENDS.DLL" at address 0x08370000. DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called. DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1). [i]Loaded "MSVCP80D.DLL" at address 0x10480000. Successfully hooked module. Loaded "MSVCR80D.DLL" at address 0x10200000. Successfully hooked module. Loaded "MSVCRT.DLL" at address 0x77BE0000. Successfully hooked module.[/i] Entrypoint reached. All implicit modules have been loaded. DllMain(0x77BE0000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCRT.DLL" called. GetProcAddress(0x7C800000 [KERNEL32.DLL], "InitializeCriticalSectionAndSpinCount") called from "MSVCRT.DLL" at address 0x77C079C2 and returned 0x7C80B6B1. DllMain(0x77BE0000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCRT.DLL" returned 1 (0x1). DllMain(0x10200000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCR80D.DLL" called. [b]GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSVCR80D.DLL" at address 0x10204A65 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "MSVCR80D.DLL" at address 0x10204A79 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "MSVCR80D.DLL" at address 0x10204A8D and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "MSVCR80D.DLL" at address 0x10204AA1 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127).[/b] GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "InitializeCriticalSectionAndSpinCount") called from "MSVCR80D.DLL" at address 0x10213E5F and returned 0x7C80B6B1. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x102048C8 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204968 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSVCR80D.DLL" at address 0x10204D07 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSVCR80D.DLL" at address 0x10204D1F and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "IsProcessorFeaturePresent") called from "MSVCR80D.DLL" at address 0x1023A7C9 and returned 0x7C80ACB2. GetProcAddress(0x77BE0000 [MSVCRT.DLL], "_set_error_mode") called from "MSVCR80D.DLL" at address 0x102077FC and returned 0x77C05348. GetProcAddress(0x77BE0000 [MSVCRT.DLL], "?set_terminate@@YAP6AXXZP6AXXZ@Z") called from "MSVCR80D.DLL" at address 0x10207830 and returned 0x77BF2567. [b]GetProcAddress(0x77BE0000 [MSVCRT.DLL], "_get_terminate") called from "MSVCR80D.DLL" at address 0x10207863 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127).[/b] GetProcAddress(0x7C800000 [KERNEL32.DLL], "FindActCtxSectionStringW") called from "MSVCR80D.DLL" at address 0x10203328 and returned 0x7C823537. GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetSystemWindowsDirectoryW") called from "MSVCR80D.DLL" at address 0x10203592 and returned 0x7C80ABB1. DllMain(0x10200000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCR80D.DLL" returned 1 (0x1). DllMain(0x10480000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCP80D.DLL" called. DllMain(0x10480000, DLL_PROCESS_ATTACH, 0x0012FD30) in "MSVCP80D.DLL" returned 1 (0x1). LoadLibraryW("miniDLL.dll") called from "AUFRUFMINIDLL.EXE" at address 0x004114DB. [i]Loaded "MINIDLL.DLL" at address 0x10000000. Successfully hooked module. Loaded "MSCOREE.DLL" at address 0x79000000. Successfully hooked module.[/i] DllMain(0x79000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCOREE.DLL" called. [b]GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSCOREE.DLL" at address 0x7900746D and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "MSCOREE.DLL" at address 0x7900747A and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "MSCOREE.DLL" at address 0x79007487 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127). GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "MSCOREE.DLL" at address 0x79007494 and returned NULL. Error: Die angegebene Prozedur wurde nicht gefunden (127).[/b] GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "InitializeCriticalSectionAndSpinCount") called from "MSCOREE.DLL" at address 0x79007B0F and returned 0x7C80B6B1. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x79007646 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x79002C63 and returned 0x7C92393D. GetProcAddress(0x7C800000 [KERNEL32.DLL], "EncodePointer") called from "MSCOREE.DLL" at address 0x790035D0 and returned 0x7C923917. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DecodePointer") called from "MSCOREE.DLL" at address 0x790035E0 and returned 0x7C92393D. DllMain(0x79000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCOREE.DLL" returned 1 (0x1). [i]Loaded "MSVCM80D.DLL" at address 0x00420000. Successfully hooked module. Loaded "OLE32.DLL" at address 0x774B0000. Successfully hooked module. Loaded "GDI32.DLL" at address 0x77EF0000. Successfully hooked module. Loaded "USER32.DLL" at address 0x77D10000. Successfully hooked module. Loaded "ADVAPI32.DLL" at address 0x77DA0000. Successfully hooked module. Loaded "RPCRT4.DLL" at address 0x77E50000. Successfully hooked module.[/i] DllMain(0x77D10000, DLL_PROCESS_ATTACH, 0x00000000) in "USER32.DLL" called. DllMain(0x77D10000, DLL_PROCESS_ATTACH, 0x00000000) in "USER32.DLL" returned 1 (0x1). DllMain(0x77EF0000, DLL_PROCESS_ATTACH, 0x00000000) in "GDI32.DLL" called. DllMain(0x77EF0000, DLL_PROCESS_ATTACH, 0x00000000) in "GDI32.DLL" returned 1 (0x1). DllMain(0x77E50000, DLL_PROCESS_ATTACH, 0x00000000) in "RPCRT4.DLL" called. DllMain(0x77E50000, DLL_PROCESS_ATTACH, 0x00000000) in "RPCRT4.DLL" returned 1 (0x1). DllMain(0x77DA0000, DLL_PROCESS_ATTACH, 0x00000000) in "ADVAPI32.DLL" called. DllMain(0x77DA0000, DLL_PROCESS_ATTACH, 0x00000000) in "ADVAPI32.DLL" returned 1 (0x1). DllMain(0x774B0000, DLL_PROCESS_ATTACH, 0x00000000) in "OLE32.DLL" called. DllMain(0x774B0000, DLL_PROCESS_ATTACH, 0x00000000) in "OLE32.DLL" returned 1 (0x1). DllMain(0x00420000, DLL_PROCESS_ATTACH, 0x00000000) in "MSVCM80D.DLL" called. LoadLibraryA("ADVAPI32.dll") called from "MSCOREE.DLL" at address 0x7900540A. LoadLibraryA("ADVAPI32.dll") returned 0x77DA0000. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegOpenKeyExW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DA6A78. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegQueryValueExW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DA6FC8. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegCloseKey") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DA6BF0. GetProcAddress(0x7C800000 [KERNEL32.DLL], "QueryActCtxW") called from "MSCOREE.DLL" at address 0x79006BDE and returned 0x7C816053. LoadLibraryA("SHLWAPI.dll") called from "MSCOREE.DLL" at address 0x7900540A. [i]Loaded "SHLWAPI.DLL" at address 0x77F40000. Successfully hooked module.[/i] DllMain(0x77F40000, DLL_PROCESS_ATTACH, 0x00000000) in "SHLWAPI.DLL" called. GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateTimerQueue") called from "SHLWAPI.DLL" at address 0x77F45BF1 and returned 0x7C834076. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeleteTimerQueue") called from "SHLWAPI.DLL" at address 0x77F45C00 and returned 0x7C862AEB. GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F45C0F and returned 0x7C825911. GetProcAddress(0x7C800000 [KERNEL32.DLL], "ChangeTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F45C1F and returned 0x7C81F3AA. GetProcAddress(0x7C800000 [KERNEL32.DLL], "DeleteTimerQueueTimer") called from "SHLWAPI.DLL" at address 0x77F45C2D and returned 0x7C8258C4. DllMain(0x77F40000, DLL_PROCESS_ATTACH, 0x00000000) in "SHLWAPI.DLL" returned 1 (0x1). LoadLibraryA("SHLWAPI.dll") returned 0x77F40000. GetProcAddress(0x77F40000 [SHLWAPI.DLL], "UrlIsW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77F57B94. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegEnumKeyExW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DA79A1. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegQueryInfoKeyW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DCCCEF. GetProcAddress(0x77DA0000 [ADVAPI32.DLL], "RegEnumValueW") called from "MSCOREE.DLL" at address 0x79005531 and returned 0x77DA8081. DllMain(0x00420000, DLL_PROCESS_ATTACH, 0x00000000) in "MSVCM80D.DLL" returned 1 (0x1). DllMain(0x10000000, DLL_PROCESS_ATTACH, 0x00000000) in "MINIDLL.DLL" called. DllMain(0x774B0000, DLL_PROCESS_DETACH, 0x00000000) in "OLE32.DLL" called. DllMain(0x774B0000, DLL_PROCESS_DETACH, 0x00000000) in "OLE32.DLL" returned 1 (0x1). Unloaded "MINIDLL.DLL" at address 0x10000000. Unloaded "MSVCM80D.DLL" at address 0x00420000. Unloaded "OLE32.DLL" at address 0x774B0000. [b]LoadLibraryW("miniDLL.dll") returned NULL. Error: Unzulssiger Zugriff auf einen Speicherbereich (998).[/b] GetProcAddress(0x79000000 [MSCOREE.DLL], "CorExitProcess") called from "MSVCR80D.DLL" at address 0x10202259 and returned 0x79011416. DllMain(0x77F40000, DLL_PROCESS_DETACH, 0x00000001) in "SHLWAPI.DLL" called. DllMain(0x77F40000, DLL_PROCESS_DETACH, 0x00000001) in "SHLWAPI.DLL" returned 1 (0x1). DllMain(0x77DA0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" called. DllMain(0x77DA0000, DLL_PROCESS_DETACH, 0x00000001) in "ADVAPI32.DLL" returned 1 (0x1). DllMain(0x77E50000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" called. DllMain(0x77E50000, DLL_PROCESS_DETACH, 0x00000001) in "RPCRT4.DLL" returned 1 (0x1). DllMain(0x77EF0000, DLL_PROCESS_DETACH, 0x00000001) in "GDI32.DLL" called. DllMain(0x77EF0000, DLL_PROCESS_DETACH, 0x00000001) in "GDI32.DLL" returned 1 (0x1). DllMain(0x77D10000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" called. DllMain(0x77D10000, DLL_PROCESS_DETACH, 0x00000001) in "USER32.DLL" returned 1 (0x1). DllMain(0x79000000, DLL_PROCESS_DETACH, 0x00000001) in "MSCOREE.DLL" called. DllMain(0x79000000, DLL_PROCESS_DETACH, 0x00000001) in "MSCOREE.DLL" returned 1 (0x1). DllMain(0x10480000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCP80D.DLL" called. DllMain(0x10480000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCP80D.DLL" returned 1 (0x1). DllMain(0x10200000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCR80D.DLL" called. DllMain(0x10200000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCR80D.DLL" returned 1 (0x1). DllMain(0x77BE0000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" called. DllMain(0x77BE0000, DLL_PROCESS_DETACH, 0x00000001) in "MSVCRT.DLL" returned 1 (0x1). DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" called. DllMain(0x08370000, DLL_PROCESS_DETACH, 0x00000001) in "DEPENDS.DLL" returned 1 (0x1). DllMain(0x7C800000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" called. DllMain(0x7C800000, DLL_PROCESS_DETACH, 0x00000001) in "KERNEL32.DLL" returned 1 (0x1). DllMain(0x7C910000, DLL_PROCESS_DETACH, 0x00000001) in "NTDLL.DLL" called. DllMain(0x7C910000, DLL_PROCESS_DETACH, 0x00000001) in "NTDLL.DLL" returned 1 (0x1). Exited "AUFRUFMINIDLL.EXE" (process 0xFB4) with code 0 (0x0).
Sag uns das was?
-
LoadLibraryW("miniDLL.dll") returned NULL. Error: Unzulssiger Zugriff auf einen Speicherbereich (998).
Vermutlich hast Du was in der DllMain falsch gemacht...
-
Was könnte das sein?
Wie gesagt ich hab den gesamten Quelltext gepostet.PS: Hab Depency Walker auf dem Rechner ausgeführt was auch funzt (LOG ist davon). Sollte ich das auf den Rechner machen was net funzt?
-
Die dll wird aus mehr als dieser einen Funktion bestehen. Die Dll MUSS einen Einstiegspunkt haben.
-
Upps. Hab das net gewusst.
Wie gesagt ich lern das noch ...
Aber es funzt doch auf mein Rechner auch ohne Einstiegspunkt. Wieso das?
Wie muss so ein Einstiegspunkt aussehen?Hab jetzt mal Depency Walker auf Rechner ausgeführt was net funzt.
LOG hier.Bei Module steht: MSVCP80D.DLL Error opening file. Das System kann die angegebene Datei nicht finden (2). MSVCR80D.DLL Error opening file. Das System kann die angegebene Datei nicht finden (2).
Error: The Side-by-Side configuration information for "c:\j\aufruf\AUFRUFMINIDLL.EXE" contains errors. Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren (14001). Error: At least one required implicit or forwarded dependency was not found. -------------------------------------------------------------------------------- Starting profile on 14.09.2007 at 09:50:13 Operating System: Microsoft Windows XP Professional (32-bit), version 5.01.2600 Service Pack 2 Program Executable: c:\j\aufruf\AUFRUFMINIDLL.EXE Program Arguments: Starting Directory: C:\j\aufruf\ Search Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Programme\Microsoft SQL Server\90\Tools\binn\ Options Selected: Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable. Log DllMain calls for process attach and process detach messages. Hook the process to gather more detailed dependency information. Log LoadLibrary function calls. Log GetProcAddress function calls. Log debug output messages. Automatically open and profile child processes. -------------------------------------------------------------------------------- Failure starting the process. Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren (14001).
Wie es aussieht fehlen diese Dateien
- MSVCP80D.DLL
- MSVCR80D.DLL
auf dem Rechner wo es net funzt.Gibt es ein Installpaket was dies beinhaltet?
-
Ach so... Du musst Deiner DLL auch noch eine Manifest-Resource mitgeben!
Wird ein Manifest in die DLL eingebettet? Steht was von ".manifest." im Debug/Release-Verzeichnis der DLL?hast Du das einbetten des Manifests deaktiviert?
-
miniDLL\Debug hat nur eine *manifest*-datei namens:
- miniDLL.dll.intermediate.manifestin der steht:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> </assembly>
Und in Projekteigenschaften/Konfikurationseigenschaften/Linker/Manifestdatei ist die Option
Manifest generieren auf Ja eingestellt.Folgende DLL's liegen bei mir unter:
C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c
- msvcm80d.dll
- msvcp80d.dll
- msvcr80d.dllWenn das weiterhilft
-
Ich habs. Geschaft.
Zusammenfassung:
Der fremde Rechner benötigt:
- Microsoft .NET Framework 2.0 Redistributable (x86)
- Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)
Das ist klar.Zu beachten ist, das ein Debug-Projekt andere DLL's braucht als ein Release-Projekt und das Paket "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)" installiert nur die DLL's für Release.
Das heißt das die Anwendung (die EXE) aber auch die DLL im Release-Modus erstellt werden muss.Welche DLL's auf dem Fremden Rechner fehlen, ermittelt man mit Depency Walker (http://www.dependencywalker.com/). Wenn dann die fehlende DLL (wie bei mir) ein 'D' am ende hat (z.B.: MSVCP80D.DLL), dann nützt auch ein das Paket "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)" nicht. Denn wie schon gesagt es installiert nur Release-DLL's.
Hierzu nützliche Links:
http://msdn2.microsoft.com/de-de/library/zebw5zk9(VS.80).aspx - Bereitstellung (C++) Hier die Links unter beachten.
http://msdn2.microsoft.com/de-de/library/8kche8ah(VS.80).aspx - Ermitteln der neu zu verteilenden DLLs
http://msdn2.microsoft.com/de-de/library/ms235299(VS.80).aspx - Verteilen von Visual C++-Dateien
http://msdn2.microsoft.com/de-de/library/ms235285(VS.80).aspx - Bereitstellungsbeispiele
-
agent schrieb:
Zu beachten ist, das ein Debug-Projekt andere DLL's braucht als ein Release-Projekt
Nein!
Zu beachten ist: Du darfst eine EXE/DLL, welche mit Debug erstellt wurde *nicht* weitergeben, geschweige denn auf einem anderen Rechner (ohne VS) installieren/ausführen!Les mal die Eula durch!
-
Ach so, noch was.
Wie würde meine DLL mit einen Einstiegspunkt aussehen?
Und meine zweite frage, muss ich einen Einstiegspunkt haben? Wenn ja, wieso funzt es auch ohne? Oder wann muss ich einen Einstiegspunkt haben.Ach so, wollte mich zu meinem vorherigen Problem bedanken. Ihr ward echt super, Thanks aber auch.
-
Der Einstiegspunkt wird von der CRT selber erzeugt, wenn Du keinen angibst (auch wenn Du einen angibst, ist der Einstiegspunkt immer die CRT )
-
Jochen Kalmbach schrieb:
agent schrieb:
Zu beachten ist, das ein Debug-Projekt andere DLL's braucht als ein Release-Projekt
Nein!
Zu beachten ist: Du darfst eine EXE/DLL, welche mit Debug erstellt wurde *nicht* weitergeben, geschweige denn auf einem anderen Rechner (ohne VS) installieren/ausführen!Les mal die Eula durch!
Oder halt so. Meine Aussage ist aber nicht falsch.
-
Knuddlbaer schrieb:
Die dll wird aus mehr als dieser einen Funktion bestehen. Die Dll MUSS einen Einstiegspunkt haben.
Dann versteh ich das nicht.
-
Halbwissen meinerseits.
Es ist sehr lange her als ich das Thema native DLL schreiben vor mir hatte. Der Einstiegspunkt DLLMain musste dort immer angegeben werden, bei dem damaligen System gab es nichts, was einem diesen Arbeit abnimmt.
Aus heutiger Sicht ist die Aussage zwar noch richtig (das ein Einstiegspunkt existiert), aber der Gedanke dahinter (DLLMain fehlt) völlig falsch. Streich das einfach beim Lesen
"Manifest" ist für mich noch ein Begriff mit dem ich mich auseinandersetzen muss.
-
Knuddlbaer schrieb:
"Manifest" ist für mich noch ein Begriff mit dem ich mich auseinandersetzen muss.
Ich auch
Also nochmal Thanks für alles. Ich komme bestimmt wieder