"The system cannot execute the specified program"

C

Chris

Hi,

I installed Visual Studio 2005 SP1, my application does not start on
machines without Visual Studio installed any more. It was working without
SP1.

After searching the web, it seems caused by manifest file, I changed link
option to generate external manifest file. The manifest lists dependency to
two version of CRTs, is that the problem and why it lists both?

Thanks,

Chris

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50727.762" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50608.0" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

</assembly>
 
J

jacky kwok

Chris said:
Hi,

I installed Visual Studio 2005 SP1, my application does not start on
machines without Visual Studio installed any more. It was working without
SP1.

After searching the web, it seems caused by manifest file, I changed link
option to generate external manifest file. The manifest lists dependency to
two version of CRTs, is that the problem and why it lists both?

Thanks,

Chris

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50727.762" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50608.0" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

</assembly>

What is your projetc type?
C/C++ or pure dotnet(C#,VB.NET)?


If pure dotnet app(C#,VB.NET), only the dotnet framework is necessary. I
think you are not in this case.

If C/C++ app, take care the VS2005 sp1 update some C/C++ runtime
libaries, e.g. the "msvcrt80.dll".
If your app links with the dll version C/C++ runtime, you need to deploy
the new C/C++ DLLs also.
 
E

EyalAmir

Hi,

I installed Visual Studio 2005 SP1, my application does not start on
machines without Visual Studio installed any more. It was working without
SP1.

After searching the web, it seems caused by manifest file, I changed link
option to generate external manifest file. The manifest lists dependency to
two version of CRTs, is that the problem and why it listsboth?

Thanks,

Chris

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50727.762" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

<dependency>

<dependentAssembly>

<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT"
version="8.0.50608.0" processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>

</dependentAssembly>

</dependency>

</assembly>

I have this same problem. Did you ever find a solution?
 
Joined
Mar 17, 2008
Messages
1
Reaction score
0
I had this problem after upgrading to Visual Studio 2008 from VS 2003. I had a C project that I was able to build and deploy to another PC without this error.

This other computer only had Visual Studio 2005 installed.

I used the dependency walker (Depends.exe) to see that my EXE had a reference to x86_microsoft.vc90.debugcrt & DLL MSVCR90D.DLL which was not install on my VS 2005 PC. Curious to understand what was going on and to not require VS 2008 to be installed on every PC I need to run my program on I did some additional research to find out exactly what VC90 DebugCRT was. I found a couple of articles that explained that this DLL was used by the debugger and a suggestion to build a "release" version that should not contain references to this DLL.

I rebuilt my program for "release" and sure enough the resulting EXE ran on the PC that did not have VS 2008 installed. Using depends.exe also showed that MSVCR90D.DLL was no longer referenced by my exe.

I hope that this helps you.

John
 

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