Visual Studio 2005 problems.. "...the application configuration is incorrect..."

C

Corey

I am evaluating Visual Studio 2005 (upgrading from 2003.net). I converted
the project files and rebuilt, everything works just fine on the development
computer. Sadly, nothing at all runs on the Win XPE computer. Using MSVC7
(.Net 2003) I just had to copy over "msvcr71d.dll" from the system32
directory. No such luck anymore, I finally found the msvc8 dlls under
WinSXS directory, and copied them over, but when I try to run the exe on
WinXPE I get the error message:

"This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem."

I know absolutely zero about "WinSXS DLL versioning shared side-by-side
isolation private assembly manifests" (or any of the terms therein) but I
guess its time to read up on these topics.

Does anyone know a quick way to fix this without having to ... well, you
know... read and learn stuff?

I've tried to blindly change the following project settings, in hope of
stumbling over the answer:
- Set 'Project Setting/Linker/Manifest File/Generate Manifest' to 'NO'
- Set 'Project Setting/LInker/Manifest File/Allow Isolation' to 'Don't allow
side-by-side isolation'

After I made this change, the program actually ran, but immediately
generates a runtime error:

"R6034 An application has made an attempt to load the C runtime library
incorrectly."


I see things like this:
http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx
.... and realize I also don't know anything about "Merge Modules" and
"Policies" and again I start to think maybe I should just go back to .Net
2003.

Any ideas? Otherwise I'm hitting the books, but thanks for any help you
might give.

-Corey
 
G

Gordon Smith \(eMVP\)

Corey said:
I am evaluating Visual Studio 2005 (upgrading from 2003.net). I
converted the project files and rebuilt, everything works just fine
on the development computer. Sadly, nothing at all runs on the Win
XPE computer. Using MSVC7 (.Net 2003) I just had to copy over
"msvcr71d.dll" from the system32 directory. No such luck anymore, I
finally found the msvc8 dlls under WinSXS directory, and copied them
over, but when I try to run the exe on WinXPE I get the error message:

"This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix
this problem."
I know absolutely zero about "WinSXS DLL versioning shared
side-by-side isolation private assembly manifests" (or any of the
terms therein) but I guess its time to read up on these topics.

Does anyone know a quick way to fix this without having to ... well,
you know... read and learn stuff?

I've tried to blindly change the following project settings, in hope
of stumbling over the answer:
- Set 'Project Setting/Linker/Manifest File/Generate Manifest' to 'NO'
- Set 'Project Setting/LInker/Manifest File/Allow Isolation' to
'Don't allow side-by-side isolation'

After I made this change, the program actually ran, but immediately
generates a runtime error:

"R6034 An application has made an attempt to load the C runtime
library incorrectly."


I see things like this:
http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx
... and realize I also don't know anything about "Merge Modules" and
"Policies" and again I start to think maybe I should just go back to
.Net 2003.

Any ideas? Otherwise I'm hitting the books, but thanks for any help
you might give.

-Corey

Are you trying to run VS 2005 on XP *Embedded* or on XP Pro? This newgroup
is for the former. If so, why? If you really do want this to run on XPE,
you're going to have to figure out the dependencies that VS2005 has on the
OS and make sure you build your XPE with those satisfied.
 
C

Corey

I am using Windows XP Embedded.

Is anyone using Visual Studio 2005, and has anyone been able to successfully
transfer executables to their WinXP embedded images?

Any suggestions would be appreciated.

-Corey
 
C

Corey

Figured it out! You have to embed the manifest in your executable... you
can't just include the C runtime DLLs, you also have to also include the
manifest file... you can't copy the Windows/WinSXS version, you have to use
the versions under C:\Program Files\Microsoft Visual Studio
8\VC\redist\x86... you have to copy over the ".manifest" files with the
C-runtime DLLs in your application's local folder.

Has no-one else run into this problem with Visual C++ 8??? ... or am I just
an idiot and this is plainly obvious?
 
G

Guest

Hi!


Corey said:
Figured it out! You have to embed the manifest in your executable... you
can't just include the C runtime DLLs, you also have to also include the
manifest file... you can't copy the Windows/WinSXS version, you have to use
the versions under C:\Program Files\Microsoft Visual Studio
8\VC\redist\x86... you have to copy over the ".manifest" files with the
C-runtime DLLs in your application's local folder.

Thank you very much for the advice!
Has no-one else run into this problem with Visual C++ 8??? ... or am I just
an idiot and this is plainly obvious?

30min ago I just ran into a similar problem. I have a VC-VS2003 application
which I could perfectly run on a W2K3 server, now I converted it to VC-VS2005
and upon startup I got the same "... application configuration ... " error
message.

The .Net 2 framework was installed already before on the W2K server and I
thought this would be enough. But it isnt.

After reading your post I copied the VC-VS2005 redistributable
Microsoft.VC80.* folders into the applications directory and the app can
start fine now.

Thank you
Regards
Philipp
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top