zoukankan      html  css  js  c++  java
  • [MSDN]Visual C++ Libraries as Shared SidebySide Assemblies

    In Visual C++ 2005, the ATL, MFC, Standard C++, and CRT libraries support the new deployment model available on Windows XP, Windows Server 2003, and Windows Vista. The DLLs corresponding to all Visual C++ libraries have been grouped into several shared side-by-side assemblies and are installed into the native assembly cache, also called the WinSxS folder, under the operating system root directory. Similarly, while building a C++ application using Visual C++ 2005, by default the compiler and the linker generate a manifest file that describes runtime dependencies of this application on Visual C++ libraries.

    Visual C++ libraries cannot be used by a C/C++ application without a manifest binding the application to these libraries. If a C/C++ application that depends on a Visual C++ library does not use a manifest, then an attempt to load the Visual C++ library as a dependent DLL from the application-local folder will result in an error message indicating that this is an unsupported way of loading a Visual C++ library.

    NoteNote:

    On versions of Windows that do not support deployment of shared side-by-side assemblies, such as Windows 98 and Windows 2000 Server, the Visual C++ libraries are installed in the System32 folder and WinSxS folder under the operating system root directory. This setup enables running Visual C++ applications on these operating system versions because they do not support manifest-based binding of applications to dependent DLLs. On these operating systems, when an application is loaded, the corresponding manifest file is ignored and the operating systems searches for dependent DLLs using paths set in the current running environment. However, on upgrading the operating system to a version that support manifest-based binding, such as Windows XP, Windows Server 2003, or Windows Vista, applications built with manifests start using the DLLs installed in the WinSxS folder.

    This change to the deployment model of Visual C++ libraries prevents the problem of version conflicts between DLLs that occur when you add updates or configurations to a machine, and will allow support of side-by-side installation of two different Visual C++ toolsets. It will also allow you to produce reliable, self-describing applications and components that will not conflict with existing components. For more information on the advantages of new deployment model, please see Concepts of Isolated Applications and Side-by-side Assemblies. To learn about how this may impact deployment of existing native C++ applications, please refer to Redistributing Visual C++ Files.

    Visual C++ libraries have been packaged in several shared side-by-side assemblies with corresponding manifest files.

    Assembly Name

    DLLs included in the assembly

    Visual C++ Library

    Microsoft.VC90.ATL

    atl90.dll

    Active Template Library

    Microsoft.VC90.CRT

    msvcr90.dll

    msvcp90.dll

    msvcm90.dll

    C Runtime Library, release DLLs

    Microsoft.VC90.DebugCRT

    msvcr90d.dll

    msvcp90d.dll

    msvcm90d.dll

    C Runtime Library, debug DLLs

    Microsoft.VC90.MFC

    mfc90.dll

    mfcm90.dll

    mfc90u.dll

    mfcm90u.dll

    Microsoft Foundation Classes, release DLLs

    Microsoft.VC90.DebugMFC

    mfc90d.dll

    mfcm90d.dll

    mfc90ud.dll

    mfcm90ud.dll

    Microsoft Foundation Classes, debug DLLs

    Microsoft.VC90.MFCLOC

    mfc90chs.dll

    mfc90deu.dll

    mfc90esp.dll

    mfc90ita.dll

    mfc90kor.dll

    mfc90cht.dll

    mfc90enu.dll

    mfc90fra.dll

    mfc90jpn.dll

    Microsoft Foundation Classes, localized resources

    Microsoft.VC90.OpenMP

    vcomp.dll

    OpenMP Library, release DLLs

    Microsoft.VC90.DebugOpenMP

    Vcompd.dll

    OpenMP Library, debug DLLs

    When you build applications with Visual C++ 2008, you may need to redistribute Visual C++ libraries and deploy the corresponding DLLs to customers' desktops. For more information please see Deployment (C++).

  • 相关阅读:
    ifelse选择结构
    Chrome插件开发进阶
    java应用线上一次故障诊断分析
    阻止保存要求重新创建表的更改
    【设计模式系列】行为型模式之Mediator模式
    C#.NET第一阶段课件下载
    Unity Animation.CrossFade Animation.Play
    Unity Resources.Load
    Unity Transform
    VS Ctrl + Shift + Q
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1261475.html
Copyright © 2011-2022 走看看