cancel
Showing results for 
Search instead for 
Did you mean: 

NW RFC SDK 7.10, sapnwrfc.dll error in Win2003, XP

Former Member
0 Kudos

NW RFC SDK 7.10. sapnwrfc.dll and libsapucum.dll where tested with Piers

Harding's perl modules as well as with help of "Dependency Walker

2.2.6000".

In both cases on Win2003 Server or WinXP got the error: "The application

has failed to start because the application configuration is incorrect.

Reinstalling the application may fix this problem (14001)".

Under Win2000 all works.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

VC redistributable package should be installed (vcredist_x86.exe).

Former Member
0 Kudos

Thanks for flagging this.

Piers Harding.

Former Member
0 Kudos

For SAP::Rfc I've used VC60 to compile. But it failed with sapnwrfc. So I've tried VC80. And gets that distributing msvc*80.dll is not sufficient. Manifests and certificates should be provided for WinXP and higher. This tedious job makes MS VC++ 2005 <b>SP1</b> Redistributable Package (previous package, not SP1, does not install manifests).

That's not the end of the story.

Manifest should be included into connection.dll.

By first step th eread only attribute should be unset from connection.dll

and then used MS VS utility:

mt.exe -outputresource:Connection.dll;#2 -manifest Connection.dll.manifest

Connection.dll.manifest generates during compile process.

Could this step be included into Makefile.pl?

Care should be taken about manifest version. E.g. Redistributable Package SP1 gives Microsoft.VC80.CRT version 8.0.50727. sapnwrfc.dll do use this version. But if connection.dll compiled under VC++ 2005 <b>not SP1</b>, it provided by manifest of version 8.0.50608.

I have not understand yet, should manifest file be manually copied from VS installation (...\VS8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest) into c:\windows\winsxs\manifests directory and should msvc*80.dll be placed into the c:\windows\system32 or C:\WINNT\winsxs\.

Have anybody else build connection.dll under windows?

Is it true, that manifest required only for dll's compiled under MS Visual Studio 8.0?

Could another compiler be used (gcc, watcom)?

Former Member
0 Kudos

By the way, "nmake install" copies into perl\site\lib\SAPNW\ all working files (bs, c, def, obj, pdb, pl, xs).

MS VC6 as well as MS VC8 does not understand option -Wall. It can be replaced by -W3 (removed as far as -W3 already presents)..

Former Member
0 Kudos

OK - thanks for this. It is strange if it is copying all the working files - this should be controlled by the standard Perl ExtUtils::MakeMaker distribution tools - I'll look into it.

Cheers.

Former Member
0 Kudos

Dear Piers,

this thread is pretty old now (other forums would award me with the golden spade posting to it , but I've just dealing with the same MSVC library problem for some time: "This application has failed to start because the application configuration is incorrect".

Indeed I had to add the manifest to connections.dll, like described above. This helped loading connection.dll on my development system, but it didn't work on the test system. Using depends.exe it resolved to a side-by-side library problem.

It turned up to be the sapnwrfc.dll itself requiring a newer MSVC runtime library. I am using Netweaver 7.2, and it requires Microsoft VC80-CRT version 8.0.50727.4053. Quite common is 8.0.50727.762, the one mentioned above in this thread. Version 8.0.50727.4053 should be present through Windows updates (see Microsoft KB973923 and bulletin MS09-035). On the test system (XP as well) this update wasn't installed. I found it under this URL:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=766A6AF7-EC73-40FF-B072-9112BAB119C2&dis...

After installing it was possible to load the library and run the program.

Thank you for providing SAP::Rfc and sapnwrfc!

regards

elwood