Application not running on a PC with VS 2008 not installed - c++

I have been working on a project using OpenCV and have made a face detection project.
I would like to know why does an executable created using Visual Studio 2008 not run on another pc and give the following error:
"This application has failed to start because the application configuration is incorrect"

Perhaps you need the Visual C++ Runtime package installed.
Available for download .... here

You need to install Microsoft Visual C++ 2008 Redistributable Package on the machines you are deploying your application first - http://www.microsoft.com/download/en/details.aspx?id=29
The Microsoft Visual C++ 2008 Redistributable Package (x86) installs
runtime components of Visual C++ Libraries required to run
applications developed with Visual C++ on a computer that does not
have Visual C++ 2008 installed.
Another thing to note is you will have to take the binary from Release build (not Debug.) The Debug build wouldn't run on the deployment machine even if the VC++ Runtime is installed.

Related

C++ Dll doesn't work on a system not having visual studio installed

I am creating a C++ dll which properly works on the machine where I build it, but when I try to test the same dll (using rundll32.exe) from a different machine on which visual studio is not installed it reflects an error : "There was a problem starting dll; Specified module can't be found"
How do I write a dll so that it will work with any of the windows machine where I import the same?
Very likely you need to install the Microsoft Visual C++ Redistributable for Visual Studio 20XX on the target PC.

running visual studio release build .exe file in different machines

I have built a visual studio c++ console application(x64 release build). The .exe file in the release folder runs fine with the required dlls.
When i try to run it on other machine it throws error
The Application was unable to start correctly (0xc000007b). Click OK to close the application
There is no x86-x64 lib mismatch issues.
In another machine it works well.I don't know whether it needs any resource to run the .exe
I have tried building the application statically still no results..
1)It is possible the new machine is missing important software like .NET framework or something similar. Please install the other frameworks and then try to run it on other machine.
2)If new machine has other OS try to run program in compatibility mode
You need the same Visual Studio redistributable .dlls on your target machine.
You'll either need to install the redistributable or install visual studio on that machine.
Also note that it makes a difference whether you're using Express or not.
So you can't develop on Visual Studio 2008 Express and then install the Visual Studio 2008 Redistributable.

manifest is picking predifined redist

i am developing a software using Visual C++ 2008 Express Edition. after build in release mode, i have made a setup file with latest redist 2008. the software is running in my PC fine. in my PC this redist are installed :
in my friends PC, the same redist are installed. but the software is crashing on my friends PC.
from the event log it shows:
as you can see, it is demanding 9.0.21022.8 version of redist whether there is previously installed latest version of redist(9.0.30729.17). so, i go for a google. from the internet, i edit my C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h
but it didn't help. then i check my project manifest. and i saw :
but i don't know how to edit manifest (i am new in VC++). and i also check C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest. i shows:
i have tried to find out 9.0.21022.8 version of redist in the internet. but i have failed. from my VCExpress installer there is a file named vcredistmin_x86.exe :
as you can see the version of the file is 9.0.21022.8. i think this is the redist i need. but i cannot install it. it says "run the setup.exe file"
what can i do?
Edit(if i am asking two different answer from this question, please inform me. i will delete this edited part):
i am now wanting to deploy my project from Microsoft Visual studio 2008. i have uninstalled previous Microsoft Visual C++ 2008 express edition. but when i am trying to install Microsoft Visual studio 2008, it says
Installation Requirements:
A compatible version of Visual Studio 2008 was not detected on the
system. This update is designed for only the Microsoft Visual Studio
2008 (ENU) product family, and is not compatible with any Express
editions.
guys, have you any idea what to do?
From what I see this download is 9.0.21022.8: http://www.microsoft.com/en-us/download/details.aspx?id=29
I don't know about VS Express, in VS full version there are the vcredist_x86/x64/arm.exe available in the install directory (For VS2012: .../Microsoft Visual Studio 11.0\VC\redist\1033)
If it's acceptable for you, the simplest way to forget about this problems you can statically link with Runtime by changing your project properties: C/C++ -> Code Generation -> Runtime Library, select /MT or /MTd. Runtime library will be included into your executable so you won't have to install it on client machine.

Moving my Visual Studio C++ project to 32 bit system from 64 bit

So I got a new desktop computer and I decided that I wanted to port my project over to it. The problem is my desktop is 32 bit and my laptop is 64 bit. My laptop therefore has SysWOW64 yet my desktop doesn't. Therefore I'm getting errors when I try to run my project about missing .dlls which are in System32 on the desktop. Note: I also upgraded to Visual Studio 2012 from 2010. I'm wondering how I can set up my project to look into System32 instead of SysWOW64 on my desktop computer. Thanks!
The missing .dll's are the Visual C++ Libraries required for applications developed using Visual Studio. They are installed as part of a Visual Studio install. To run an application on a system where Visual Studio is not installed you have to manually install them:
For applications built with VS 2010: Download link
For applications built with VS 2012: Download link
Edit: The missing .dll's were in fact the Debug versions of the Visual C++ Libraries. Those aren't available as a separate download. To resolve this issue the following options are available:
Pragmatic: Compile a Release build and install the release libraries linked to above on the target machine.
Install Visual Studio on the target machine which will install the Debug libraries as well.
As a last resort, copy the Debug .dll's from a machine with a Visual Studio installation to the client machine.

Compile ATL project with only Windows SDK 7.1

I have a project which needs to be compiled. It is compiled on our build server which I have only installed Windows SDK 7.1 on. I would like to not have to install an actual Visual Studio on this machine, but am getting an error "cannot find atlstr.h" file which I've just read is part of ATL which is part of Visual Studio.
Is there any way I can get this to compile without installing Visual Studio on the build server?
ATL is now freely available as a part of Windows Driver Kit: http://msdn.microsoft.com/en-us/windows/hardware/gg487438.aspx
No. ATL is a fundamental part of the non-free versions of MSVC.