Please help: Standalone application NOT working on Windows 7

Hi, I have compiled a standalone application using Matlab 2008b release. The application goes out with MCR7.9 version. My operating system is 32-bit Windows XP. Now, if I deploy this application on a customer's system running on Windows XP, it works fine. If I deploy this application on another customer's system running on 64-bit Windows7 with no Matlab already installed, it installs MCR 7.9 and works fine. But if customer's system is running on 64-bit Windows7 and has Matlab release 2008b already installed on it, the stand-alone application installs MCR 7.9 but doesn't successfully get executed. It shows following error on DOS prompt:
" My Own Exception: Fatal error finding symbol mxCalcSingleSubscript_700 in C:\Windows\system32\libmx.dll Error: "
I can not find any duplicate libmx.dll file in C:\Windows\system32\ directory. The PATH environment variable seems to be correctly set to 'C:\Program Files\MATLAB\MATLAB Compiler Runtime\v79\bin\win32' where I can see libmx.dll file.
Why is MCR looking at C:\Windows\system32\ directory for libmx.dll file?
I am not sure what is going wrong. Two customers using windows 7 and Matlab already installed on their system reported same error related to libmx.dll.
Can someone please help?
Regards,
Sourabh

2 Kommentare

Have you tested with Dependency Walker ?
Sourabh
Sourabh am 12 Apr. 2013
Bearbeitet: Sourabh am 12 Apr. 2013
Thanks Walter.
I tried the Dependency Walker on my executable. I used 'start profiling' option of Dependency Walker, it showed me 3 errors.
1. MSVCR80.DLL Error Opening File. The system can not find specified file. This error comes as soon as I load my exe file to Dependency Walker.
2. HPPRFILER.DLL Error Opening File. The system can not find specified file.
3. IBFS32.DLL Error Opening File. The system can not find specified file.
Are these errors significant? I am not able to comprehend what they are about.
Regards,
Sourabh

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Image Analyst
Image Analyst am 12 Apr. 2013

0 Stimmen

6 Kommentare

Try finding the MSVCR80.DLL, HPPRFILER.DLL, and IBFS32.DLL files somewhere on your source computer. Then copy them to the Windows/system32 folder of the target computer. See if that works. If not, come back here with new information.
He needs to do a runtime profile. That static analysis is useless in 95% of the cases and missleading.
@Image Analyst:
I sent customer these DLL files and asked him to run the Dependency walker tool run on his PC. The tool gave 2 errors:
1. GPSVC.dll: Error opening file, the system can not find the file specified.
2. IESHAMS.dll: Error opening file, the system can not find the file specified.
Ignoring the errors, he tried running exe file (standalone application), but the error was same as it was initially.
What other information do you need to fix the problem? Appreciate your help.
Regards,
Sourabh
I would send him those files.
IESHIMS.dll can be safely ignored
NO!!!! Copying the DLL's wont help at all. The MSVCR80.DLL is a delay load dependency which is loaded at runtime. Delete that copied file ASAP and do a runtime profile and not a static analysis:
  1. download the dependencywalker here: http://www.dependencywalker.com/ (make sure the bitness of dependency walker matches the bitness of you compiled application)
  2. extract the archive and start the dependencywalker
  3. choose File -> open and select your application
  4. choose Profile -> start profiling (if this is greyed out, you downloaded the wrong bittedness of dependency walker. Start with i.) again)
  5. a window pops up
  6. press okay
  7. your applications should start/crash now
  8. after your application finished running/crashing choose File -> save as
  9. zip and upload the DWI file somewhere and post the link.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Gefragt:

am 12 Apr. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by