Page 1 of 2

Visual C++ 2008 Redistribution

Posted: Mon Feb 23, 2009 8:43 pm
by herby490
I am using the vc++ express compiler and in order to give out your product you need to give the dlls along with it. How to i distribute these with out having the person download the redistributable package.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 4:39 pm
by Kros
After a quick google search that lead me to here, it seems that you can modify your project settings to build with the DLL's included, though it will increase your binaries size, as expected.

Project Settings -> C/C++ -> Code Generation -> Runtime LIbrary
Change to "Multithreaded" / "Multithreaded Debug".

Hope that helps!

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 8:19 pm
by herby490
I read somewhere that when you switch it to multithreaded its bad for the program but i do not remember the source. Does anyone know what that problem is or if there isn't any.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 8:30 pm
by Kros
The other solution thats mentioned (which I believe is actually being used by the ES team) is to distribute the files found in the Microsoft.VC90.CRT folder.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 8:37 pm
by herby490
I know that certain dlls are needed for different projects, how do i find out which ones are the correct ones to distribute. And Microsoft also does not want certain dlls distributed which ones are those.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 8:46 pm
by dandymcgee
herby490 wrote:And Microsoft also does not want certain dlls distributed which ones are those.
Maybe they should've thought a littler harder about this before they made it impossible to run programs without them then, eh? :lol:

As far as which ones I'm afraid I can't help you very much there.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 10:23 pm
by Kros
herby490 wrote: And Microsoft also does not want certain dlls distributed which ones are those.
I haven't seen/heard this anywhere. Wouldn't make sense for them to not want to distribute the files that they freely made available. As to what specific DLLs for Express? All I've seen is to just copy/paste all of the junk from the Microsoft.VC90.CRT folder. Google around, might be able to find specifics that way.

Re: Visual C++ 2008 Redistribution

Posted: Tue Feb 24, 2009 11:24 pm
by MarauderIIC
You "can't" redistribute the debug dlls. But you can redistribute anything in the release folders, I think but not totally sure.

Re: Visual C++ 2008 Redistribution

Posted: Wed Feb 25, 2009 8:01 pm
by herby490
So any of the three dlls in the Microsoft.VC90.CRT folder are legal to distribute and if i distribute them will I have to distribute all of them or do some applications only require one or two.

Re: Visual C++ 2008 Redistribution

Posted: Wed Feb 25, 2009 8:43 pm
by MarauderIIC
All I think

Re: Visual C++ 2008 Redistribution

Posted: Thu Feb 26, 2009 6:29 pm
by herby490
I tried distributing a program to my other computer and I could not get it to work on that computer. I copied all the dlls and the manifest file in Microsoft.VC90.CRT folder on the other computer but it still wont work.

EDIT: It might be useful to know that i am going from my vista computer to an xp computer

Re: Visual C++ 2008 Redistribution

Posted: Fri Feb 27, 2009 12:25 pm
by MarauderIIC
Try also copying the Microsoft.VC90.MFC folder. Just the contents. So you have

somedirectory:
- myapp.exe
- a bunch of dlls from the microsoft.vc90.crt folder
- a bunch of dlls from the microsoft.vc90.mfc folder

Sorry, it's not something I've tested yet. I'm going off of the "private assembly" instructions section on http://msdn.microsoft.com/en-us/library/ms235291.aspx

Re: Visual C++ 2008 Redistribution

Posted: Wed Mar 04, 2009 8:51 pm
by herby490
I found that there is a program that tells you which dlls a program needs to run and I have gotten those dlls on my other computer but the program still will not run any idea why

Re: Visual C++ 2008 Redistribution

Posted: Thu Mar 05, 2009 5:00 pm
by MarauderIIC
They're not in the right dir. You can do it the "right" way and make the visual c runtime library installer from microsoft run on all target machines, see the url I posted for a link or something. Might be "easier"

Re: Visual C++ 2008 Redistribution

Posted: Thu Mar 05, 2009 5:18 pm
by herby490
I tried that but it still does not work. Should I just go back to Code::Blocks and use the MinGW compiler with SDL and OpenGL since it is illegal to use DirectX with any compiler other than Visual C++?