Background: I'm trying to deploy a Qt application developed on a Windows 7 computer to another Windows 7 computer that does not have the Qt framework installed. I have followed these instructions, albeit slightly modified as I'm using MSVC13 instead of MinGW. My program will not run on the non-Qt computer - I get a Windows error message saying the application failed to initialize. I ran Dependency Walker on my .exe, both on the working and non-working machines. It reports warnings on each, however the warnings are identical between both computers, so it's not really telling me anything there.
I have also ran Dependency Walker in profile mode on both computers. The problem is that the system PATH is different between the two, and I suspect this is why it works on one computer but not the other, i.e. it finds the missing dependencies somewhere in my PATH folders. My question is how can I prevent Dependency Walker from searching folders in the PATH during profiling, so that I can reproduce the error on the working computer. There seems to be an option for this when doing the static dependency analysis, but not the dynamic analysis (profiling).
I've included the profile output from the non-working computer below. I can't see anything obvious about what's causing it to crash...maybe someone else can provide more insight. MIBC.exe is my executable btw.
Started "MIBC.EXE" (process 0x990) at address 0x000000013FFA0000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x0000000077140000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x0000000076F20000. Successfully hooked module.
Loaded "KERNELBASE.DLL" at address 0x000007FEFD1D0000. Successfully hooked module.
DllMain(0x000007FEFD1D0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" called.
DllMain(0x000007FEFD1D0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNELBASE.DLL" returned 1 (0x1).
DllMain(0x0000000076F20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" called.
DllMain(0x0000000076F20000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "KERNEL32.DLL" returned 1073348865 (0x3FFA0101).
Injected "DEPENDS.DLL" at address 0x000000006F2C0000.
Loaded "ADVAPI32.DLL" at address 0x000007FEFD780000. Successfully hooked module.
Loaded "MSVCRT.DLL" at address 0x000007FEFEFC0000. Successfully hooked module.
Loaded "SECHOST.DLL" at address 0x000007FEFD400000. Successfully hooked module.
Loaded "RPCRT4.DLL" at address 0x000007FEFD420000. Successfully hooked module.
DllMain(0x000000006F2C0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" called.
DllMain(0x000000006F2C0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "DEPENDS.DLL" returned 1 (0x1).
DllMain(0x000007FEFEFC0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "MSVCRT.DLL" called.
DllMain(0x000007FEFEFC0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "MSVCRT.DLL" returned 1 (0x1).
DllMain(0x000007FEFD420000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "RPCRT4.DLL" called.
DllMain(0x000007FEFD420000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "RPCRT4.DLL" returned 4249117697 (0xFD446401).
DllMain(0x000007FEFD400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" called.
DllMain(0x000007FEFD400000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "SECHOST.DLL" returned 1 (0x1).
DllMain(0x000007FEFD780000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" called.
DllMain(0x000007FEFD780000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "ADVAPI32.DLL" returned 4253200129 (0xFD82AF01).
Exited "MIBC.EXE" (process 0x990) with code -1073740956 (0xC0000364).
Edit: I see now that code 0xC0000364 means "access disabled by policy other", so maybe this problem is due to differences in group policy between the two computers.
User contributions licensed under CC BY-SA 3.0