.net应用程序发布解疑

来源:互联网 发布:淘宝童装店铺图片 编辑:程序博客网 时间:2024/06/03 18:21

 现象:今天碰到一个vc2005开发的应用程序,在一台没有安装.net 2.0环境的window 2003系统下跑,出错了:

由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”,查看了一下msdn:《Visual C++ 重新发布 Visual C++ 文件》。

 

原因:每个应用程序要不内部嵌入了清单,要不独立一个清单文件随同应用程序一道发布,清单里描述了依赖的程序集合,而这些程序集在目标机器上可能不存在,造成以上原因。所以随同发布程序,需要重新发布 Visual C++ 库,有以下三种方法(参见http://msdn.microsoft.com/zh-cn/library/ms235316(VS.80).aspx):
  1. 使用 Visual C++ 可再发行的合并模块将特定 Visual C++ 库作为共享并行程序集安装到本机程序集缓存(WinSxS 文件夹)中。这是重新发布 Visual C++ 库的主要推荐方法。访问此文件夹要求 Installer 应用程序由具有管理员权限的用户来运行。有关更多信息,请参见使用合并模块重新发布。有关此部署的示例可参见如何:使用安装和部署项目进行部署

  2. 使用 Visual C++ 可再发行组件包(VCRedist_x86.exe、VCRedist_x64.exe、VCRedist_ia64.exe)将所有 Visual C++ 库作为共享并行程序集安装到本机程序集缓存(WinSxS 文件夹)中。此组件包由 Visual Studio 安装到 %PROGDIR%/Microsoft Visual Studio 8/SDK/v2.0/Bootstrapper/Packages/ 文件夹中,也可以从 Microsoft 下载网站 Microsoft Visual C++ 2005 Redistributable Package (x86)(Microsoft Visual C++ 2005 可再发行组件包 (x86))下载。对于用 Visual C++ 速成版生成的应用程序以及需要立即部署所有 Visual C++ 库的情况,建议使用此组件包重新发布 Visual C++ 库。有关如何使用此组件包的示例,请参见如何:使用 XCopy 进行部署

  3. 使用 Program Files/Microsoft Visual Studio 8/VC/Redist 目录中提供的文件将特定 Visual C++ 程序集作为应用程序的私有程序集安装。允许没有管理员权限的用户安装应用程序或可以通过共享运行应用程序时,建议使用这种方法。