如何:使用 XCopy 进行部署
更新:2007 年 11 月
本主题演示如何通过将应用程序文件从一台计算机复制到另一台计算机来部署应用程序。此技术对于在其他计算机上调试应用程序很有用。有关此部署方案的背景,请参见部署方案示例。
将 Visual C++ 库 DLL 部署为共享程序集
Visual C++ 可再发行组件包可用于部署所有 Visual C++ 库的发布版本。此组件包有三个版本(x86、x64 和 IA64),可在相应版本的 Windows 上使用。此组件包仅安装 Visual C++ 库的发布版本。调试版本既可部署为私有程序集,也可通过使用 Visual C++ 合并模块的调试版本来部署。使用如何:部署“安装和部署项目”中所述的“安装和部署项目”可将合并模块的调试版本和应用程序的调试版本打包到一起。另外,也可以使用 Windows Installer (msiexec.exe) 来安装合并模块。有关更多信息,请参见准备用于运行调试可执行文件的测试计算机。
若要使用 Visual C++ 可再发行组件包来部署 Visual C++ 库,请执行以下步骤:
步骤
在开发计算机上创建一个文件夹结构,使其与将在目标计算机上使用的文件夹结构相匹配。在本示例中,创建一个 \bin 文件夹并将 myapplication.exe 复制到其中。然后,创建一个 \bin\mylibrary 文件夹并将 MyLibrary.dll 复制到其中。
将此文件夹复制到目标计算机。
将 Visual C++ 可再发行组件包 (vcredist_x86.exe) 从 %WindowsSdkDir%\Bootstrapper\Packages\vcredist_x86\vcredist_x86.exe 复制到目标计算机
说明: 对于在 Visual C++ 速成版中生成的应用程序,建议使用 Visual C++ 可再发行组件包 (vcredist_x86.exe) 来重新发布 Visual C++ 库。Visual C++ 速成版不安装此组件包;但您可以从 Microsoft Visual C++ 2008 Redistributable Package (x86)(Microsoft Visual C++ 2008 可再发行组件包 (x86))下载此组件包。
在目标计算机上运行 vcredist_x86.exe。这将安装所有 Visual C++ 库作为共享程序集。在支持应用程序到其依赖项的基于清单的绑定的目标计算机(Windows XP Home Edition、Windows XP Professional、Windows Server 2003 和 Windows Vista)上,这些库将安装到 WinSxS 文件夹中。在不支持类似绑定的计算机(Windows 98、Windows 98 Second Edition、Windows Millennium Edition 和 Windows 2000)上,这些库将安装到 WinSxS 和 System32 两个文件夹中。
说明: 对于将 64 位应用程序部署到 64 位操行系统,使用 vcredist_x64.exe 或 vcredist_ia64.exe。也可以从 Microsoft Visual C++ 2008 Redistributable Package (x64)(Microsoft Visual C++ 2008 可再发行组件包 (x64))和 Microsoft Visual C++ 2008 Redistributable Package (ia64)(Microsoft Visual C++ 2008 可再发行组件包 (ia64))下载这些组件包。
说明: vcredist_*.exe 仅安装发布版本的 Visual C++ DLL。调试版本只应当作为私有程序集部署;有关更详细信息,请参见下一个过程。
说明: 在 Windows Vista 上运行 vcredist_x86.exe 需要提升权限。
您的应用程序可以运行了。
将 Visual C++ 库 DLL 部署为私有程序集
在此方案中,只需将一个文件夹从开发计算机复制到目标计算机,并将相关程序集作为私有并行程序集来安装,即可完成应用程序的部署工作。若要将 Visual C++ 库部署为私有程序集,请执行下列步骤:
步骤
在开发计算机上创建一个文件夹结构,使其与将在目标计算机上使用的文件夹结构相匹配。在本示例中,创建一个 \bin 文件夹并将 myapplication.exe 复制到其中。然后,创建一个 \bin\mylibrary 文件夹并将 MyLibrary.dll 复制到其中。
在开发计算机上,将 Microsoft.VC90.CRT 和 Microsoft.VC90.MFC 从 %PROGDIR%\Microsoft Visual Studio 9.0\VC\Redist\x86 复制到 \bin 和 \bin\MyLibrary 中。
说明: Visual C++ 速成版在安装期间不会在开发计算机上创建 %PROGDIR%\Microsoft Visual Studio 9.0\VC\Redist\。若要对使用 Visual C++ 速成版生成的应用程序重新发布 Visual C++ 库,请使用 Visual C++ 可再发行组件包 (VCRedist_*.exe)。有关更多信息,请参见前面的“将 Visual C++ 库 DLL 部署为共享程序集”一节。
说明: 对于将 64 位应用程序部署到 64 位操作系统,使用 \vc\redist\amd64 或 \vc\redist\ia64。
将 \bin 文件夹复制到目标计算机。在支持基于清单的绑定的目标计算机(Windows XP Home Edition、Windows XP Professional、Windows Server 2003 和 Windows Vista)上,不需要做更多的准备工作。在不支持类似绑定的计算机(Windows 98、Windows 98 Second Edition、Windows Millennium Edition 和 Windows 2000)上,路径中必须有 Microsoft.VC90.CRT 和 Microsoft.VC90.MFC。
说明: 对于调试应用程序,请使用 \vc\redist\debug_nonredist\ 中的调试 DLL。但是,对于将 Visual C++ 库的调试版本部署为私有程序集的应用程序,可能无法进行远程调试。有关更多信息,请参见准备用于运行调试可执行文件的测试计算机。
说明: 如果要在目标计算机上进行远程调试,必须复制所有调试 DLL,或者按照准备用于运行调试可执行文件的测试计算机中的步骤来安装调试 DLL。