compiled standalone executables fail to run now, but once did

12 次查看(过去 30 天)
I have some functions I wrote but were compiled by someone else, since I don't have the compiler myself. When they were initially compiled (a month or so ago), I tried multiple versions (ie, packaged with MCR and without) and everything worked fine. The last time I tried one of these applications, about two weeks ago, things worked fine. Now, when I try to load one of them, I get the splash screen and then... nothing. In windows task mgr I can see that process start and then disappear. I have tried several suggested fixes for similar (but not identical) problem to no avail. Does anyone have any ideas for me to try, or what additional info I can provide?
Here are some details My computer (where the code was written): Windows 7, 64 bit Matlab r2013b, 64 bit MCR r2014b, 64 bit
Computer where code was compiled: Windows 7, 64 bit Matlab r2014b, 64 bit Matlab compiler v5.2
Some things I tried/know: 1. Uninstalling Matlab proper on my machine doesn't work 2. If I uninstall MCR and try to load an exe, it asks for MCR 8.4 (2014b) 3. Trying to install the exe packaged with MCR on a friend's PC did not work for him either 4. Installing using "run as admin" didn't help 5. When restarting windows, the first instance of trying to run an exe takes longer to start - task manager shows memory usage increasing for ~20 s, then abruptly stopping the process... Apparently this is standard for the way this version of MCR works. 6. Again, I don't get any errors or log files written to when this error occurs.

采纳的回答

Sean de Wolski
Sean de Wolski 2015-2-24
Was it compiled on a trial license? If so, the compiled app will not run after 30 days.
  2 个评论
aaronk
aaronk 2015-2-24
well, changing the date on my PC back a month made the exes work perfectly/as before. So it looks like this was the problem. Thanks for thinking of that.
It would be helpful if an actual error regarding trial software license expiration was thrown.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2015-2-24
编辑:Image Analyst 2015-2-24
Launch your app from a console window. Start->Run->cmd. Then change directory and type your app name at the command prompt. If you didn't suppress the console window with the -e option, then the output, like error messages, will go to the console window. However if you run from the console window, everything won't vanish like it does if you double click the icon in Windows Explorer. Do that and tell me what error messages you see. Also run dependency walker on your exe.
  1 个评论
aaronk
aaronk 2015-2-24
In the console window, I get "Failed to initialize MCR Instance: the specified component has expired."
It looks like the dwi file is too large to attach. Here are the actual errors thrown when profiling ("nirex.exe" is the exe in question, FYI):
Started "c:\users\m400587\desktop\NIREX.EXE" (process 0x14B0) at address 0x0000000140000000. Error hooking module, will try again later.
GetProcAddress(0x0000000077A20000 [c:\windows\system32\KERNEL32.DLL], "GetCurrentPackageId") called from "c:\users\m400587\desktop\NIREX.EXE" at address 0x000000014004E79A and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x0000000077A20000 [c:\windows\system32\KERNEL32.DLL], "GetCurrentPackageId") called from "c:\program files\matlab\matlab compiler runtime\v84\bin\win64\MSVCR110.DLL" at address 0x000007FEF37EDF5A and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x0000000077A20000 [c:\windows\system32\KERNEL32.DLL], "GetCurrentPackageId") called from "c:\program files\matlab\matlab compiler runtime\v84\runtime\win64\MCLMCRRT8_4.DLL" at address 0x000000000A56DC32 and returned NULL. Error: The specified procedure could not be found (127).
LoadLibraryW("C:\Windows\system32\symsrv.dll") returned NULL. Error: The specified module could not be found (126).
GetProcAddress(0x0000000000000000, "__itt_api_fini") called from "c:\program files\matlab\matlab compiler runtime\v84\bin\win64\TBBMALLOC.DLL" at address 0x000007FEF3749167 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x0000000000000000, "__itt_api_fini") called from "c:\program files\matlab\matlab compiler runtime\v84\bin\win64\TBB.DLL" at address 0x000007FEF3937157 and returned NULL. Error: The specified procedure could not be found (127).
Does that tell you anything?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 C Shared Library Integration 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by