Re: App built by VS2008 causes "side-by-side configuration"-error in Vista

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On 24 mar, 09:32, TheOne <daewon.y...@xxxxxxxxx> wrote:
On 3월24일, 오후2시23분, "Carl Daniel [VC++ MVP]"





<cpdaniel_remove_this_and_nos...@xxxxxxxxxxxxxxx> wrote:
TheOne wrote:
Then, what should I do not to see this error message from an app built
on VS2008? I guess this should happen on every old system without the
directory. Which setting shoud I change in VS2008? Should I install
the directories needed whenever I install my application?

You need to deploy the VC 2008 runtime to your vista machine. You should
have a file named vcresidt_x86.exe (or _x64, if you're on 64-bit) in a
subdirectory of your VS installation. Run that exe file on the Vista
machine. You can also download the redist from microsoft downloads if you'd
prefer.

http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e0....

Alternatively, you can build your application with static linking so that
you don't depend on having the redistributables installed.

-cd

Thank you for the kind answer. Much has been cleared.

OK. I now know that I can solve this for MY computer. But the problem
is that our team is migrating the IDE from VS 6.0 to VS 2008 for our
development and the end product should support from 2k to Vista.

Should I install the redis package everytime our product is installed?

If you want to link against DLL version of the CRT (C-RunTime), then
yes. That's why setup projects are for... There are .msm files to
redistribute the CRT' dlls with your apps, and there is also several
other redistibution possibilities.


Or should I static-build every module of my product?

That is another solution, but it won't work if:
- you've got several modules (eg, exes and dlls) in your app.
- and you're passing "CRT state dependant" objects from one module to
another. What it means, is that you can't (for example) :
--> do a "fopen" in the EXE then passes the FILE* to a DLL and have
the DLL do a fread/fwrite/whatever with it.
-->new/malloc a pointer in a DLL and delete/free it in another DLL.
etc....

Moreover, Microsoft recommends NOT to statically link the CRT, because
it means your application won't take benefit from a potential update /
bug correction that MS would apply to the CRT and distribute through
Windows Update. I find this last argument quite weak, but anyway....

For more information on application deployment, see
http://msdn2.microsoft.com/en-us/library/zebw5zk9.aspx


Or should I build for each version of OS?
This has nothing to do with the target OS, but with wether the VC9 CRT
is already installed on the target machine (you can't count on it).

Or should I stick to old VS 6.0?
I do not belive the deployment problem is a sufficient reason to stick
to the old compiler. YMMV

Arnaud

.



Relevant Pages

  • Re: When were scanf_s functions introduced?
    ... one that is a "web install" (checks dependencies and only downloads those that are missing, ... then the amount of space for the CRT installer is probably not going to matter much and ... the CRT dll MSVCR80.dll? ... Say I have several different apps to deploy. ...
    (microsoft.public.platformsdk.security)
  • Re: When were scanf_s functions introduced?
    ... My knowledge of doing complicated MSI setup apps is fairly limited, ... installers, one that is a "full install" (includes everything and will be ... then the amount of space for the CRT ... the CRT dll MSVCR80.dll? ...
    (microsoft.public.platformsdk.security)
  • Re: Side by Side assembly problem
    ... If there are other versions of the CRT in WinSxs there may also be some publisher policy somewhere. ... Installing the CRT is sometimes done with merge modules as part of a client MSI-based install, and some people include the publisher policy files and some don't. ... Since I can build the dll myself, I checked the generated manifest files content, it is: ...
    (microsoft.public.vsnet.general)
  • Re: Download Microsoft C/C++ compiler for use with Python 2.6/2.7 ASAP
    ... how to install the CRT for system wide and local user installations. ... The CRT installed along with CPython works for extensions using the MSVC 9.0 CRT. ... problems with CRT state such as file descriptors. ...
    (comp.lang.python)
  • Re: Problems after compiling with Multithreaded-DLL runtime library
    ... computer and install it on the other computer. ... VS2005 SP2 and the other computer does not have SP2. ... it all depends on how you redistribute your soft. ... If you have a setup for your app, you can integrate the CRT within the ...
    (microsoft.public.dotnet.languages.vc)