Microsoft Visual C++ 2008 发布程序的部署问题
0x80070002 c++2008
0xxxx是Windows系统中常见的错误代码,通常表示文件或目录未找到。
C++2008是指Microsoft Visual C++ 2008,是一种用于开发C++程序的集成开发环境。
在开发过程中,有时会遇到使用C++2008时出现0xxxx错误的情况。
接下来,我们将针对这个问题进行详细的分析和解决方案。
一、问题分析1.1 C++2008使用过程中出现0xxxx错误的可能原因:1.2 文件或目录缺失:可能是因为所需的文件或目录在使用过程中被删除或移动,导致程序无法正常运行。
1.3 程序路径错误:可能是程序运行路径设置错误,导致系统无法正确找到所需的文件或目录。
1.4 病毒感染:系统中存在病毒或恶意软件,导致文件丢失或损坏,引起错误代码0xxxx。
二、解决方案2.1 检查文件或目录:首先需要确认所需的文件或目录是否存在,如果不存在,需要从原始安装来源或备份中恢复文件或目录。
2.2 修正程序路径:检查程序的路径设置是否正确,如果有误需要进行修正。
确保程序能够正确访问所需的文件或目录。
2.3 扫描病毒:使用安全软件进行系统病毒扫描,确保系统中不存在病毒或恶意软件。
清除发现的病毒并修复受损的文件。
三、操作步骤3.1 检查文件或目录:1. 打开系统资源管理器,浏览到程序所需的文件或目录所在的位置。
2. 如果文件或目录确实不存在,需从原始安装来源或备份中恢复文件或目录。
3. 如果文件或目录存在,确保用户具有足够的访问权限,并且没有被其他程序占用。
3.2 修正程序路径:1. 打开C++2008集成开发环境。
2. 检查程序的运行路径设置,确认程序能够正确访问所需的文件或目录。
3. 如有需要,进行路径修正,并保存修改。
3.3 扫描病毒:1. 运行安全软件,进行系统全盘病毒扫描。
2. 清除发现的病毒并修复受损的文件。
3. 定期更新安全软件的病毒库,保障系统安全。
四、总结在使用C++2008开发过程中,出现0xxxx错误代码可能是因为文件或目录缺失、程序路径错误或系统病毒感染所致。
vs2008的系统要求
Visual Studio 2008 安装要求目录∙ 1. 系统要求∙ 1.1. 支持的体系结构∙ 1.2. 支持的操作系统∙ 1.3. 硬件要求∙ 2. 已知问题∙ 2.1. 安装∙ 2.2. 卸载∙ 2.2.1. 在安装有Visual Studio 早期版本的计算机上∙ 2.2.2. 在未安装Visual Studio 早期版本的计算机上∙1. 系统要求1.1. 支持的体系结构∙x86∙x64 (WOW)1.2. 支持的操作系统∙Microsoft Windows X P∙Microsoft Windows Server 2003∙Windows Vista1.3. 硬件要求∙最低要求:1.6 GHz CPU、384 MB RAM、1024x768 显示器、5400 RPM 硬盘∙建议配置:2.2 GHz 或速度更快的CPU、1024 MB 或更大容量的RAM、1280x1024 显示器、7200 RPM 或更高转速的硬盘∙在Windows Vista 上:2.4 GHz CPU、768 MB RAM2. 已知问题2.1. 安装2.1.1. Visual Studio SharePoint 工作流功能具有特定的安装要求。
若要使用Visual Studio Tools for Office 中的SharePoint 工作流开发工具,请按照指定的顺序完成下列安装步骤。
1. 安装Windows Server 2003。
2. 安装Internet 信息服务(IIS)。
在“控制面板”中依次选择“添加/删除Windows 组件”、“应用程序服务器”、“详细信息”和“Internet 信息服务(IIS)”。
3. 安装 .NET Framework 2.0 和 .NET Framework 3.0。
4. 在IIS 管理器中启用 2.0.5727。
5. 安装Microsoft Office SharePoint Server 2007。
VS2008 安装顺序
VS2008 安装顺序:01) Visual Studio 2008 (VS2008TeamSuite-CHS-X1429243.iso)02) Team Explorer 2008 (VS2008TFS-CHS-X1429252.iso 源代码管理客户端)03) Visual Studio 2008 SP1 (VS2008SP1-CHSX1512981.iso SP1补丁)04) VS2008SP1-KB974558-x86 (针对Team Foundation Server 2010 的前向兼容更新)在VS 2008上安装了VS SP1后,再启动Team Explorer会出现下面的错误:"Could not load type'Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemTypeDeniedOrNotExistEx ception' from assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client,Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.” 。
答:造成这个错误一般是因为先安装了VS SP1再安装Team Explorer。
解决很简单,再安装一遍VS SP1。
其他:VS2008九十天试用版本升级成正式版的办法:升级正式版的方法是把Setupsetup.sdb文件中的[Product Key],由T2CRQ-GDKBV-W7KJR-8C6CK-XMW3D修改为PYHYP-WXB3B-B2CCM-V9DX9-VDY8T或在控制面板中<添加/删除>,选VS2008,《更改》,升级。
因为九十天试用版本已经是RTM版本。
所以改变序列号以后的升级或者安装,就会变成VS2008正式版。
VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题文章分类:C++编程VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。
重新安装应用程序可能会纠正这个问题。
”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此导致了这个错误。
出现这种情况的VC9编译器可能存在3个版本,接下来分别阐明:1、没有打过任何补丁的VS2008该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8,这个版本号在后面会用到。
这个版本的程序部署比较简单,直接把VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。
2、打过SP1补丁的VS2008打过该补丁后,系统中存在着两个版本的CRT/MFC/ATL库,版本号分别为9.0.21022.8和9.0.30729.1,这导致了manifest文件中记录的版本号和实际库的版本号不一致(程序要求它们的版本号一致才能运行)。
这个版本的程序部署需要两个步骤,首先要使manifest文件中依赖项的版本号与实际库的版本号一致,均为9.0.30729.1,方法是在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,该宏定义于C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h文件中,然后重新编译程序。
VS2008完整水晶报表发布部署总结
VS2008水晶报表发布部总结一、安装运行时支撑文件如果你安装了VS2008,那么可以找到如下目录:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5此目录下有如下文件:COPY到服务器上根据服务器CPU情况选择性地安装一下。
二、将WEB项目打包成安装程序1. 在WEB解决方案中新建一个项目,选择项如下:2. 右键点击项目名称,选择“视图”-“文件系统”3. 按下图操作:4. 设置项目的启动文件:5. 在项目名称上右击,按下图操作,选“项目输出”:6. 选“内容文件”后再“确定”:7. 按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件:Copy这个MSI文件到服务器上安装完就可以浏览了。
三、修补水晶报表的图标显示和打印功能问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下:看到吗,小图标出不来。
其它你再试试,打印也没法选打印机的。
解决办法:1. 在自己开发的PC上找到如下目录:C:\WINDOWS\\Framework\v2.0.50727\ClientFiles\CrystalReportWeb FormViewer4注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。
2. 将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如:C:\???????\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4再试试看吧,问题解决!祝好运!水晶报表安装部署(vs2005,vs2008)1.水晶报表安装程序和汉化包C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalRepo rts2.安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_53.将下面几个dll拷贝到/bin下,注意版本号 2005,在这个目录C:\Program Files\Microsoft Visual Studio 8\ReportViewer 2008,在这个目录C:\Program Files\Microsoft Visual Studio 9.0\ReportViewermon.dllmicrosoft.reportviewer.processingobjectmodel.dllmicrosoft. reportviewer.webforms.dll安装一下,然后重启服务器,再访问就OK了从网上找的方法是合并msm什么的,我的程序又不是用msi打包的,所以,不能用,换种方法:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5这里可以看到CRRedist2008_x86.msi及zh-CHS\CRRedist2008_x86_chs.msi只要把这两个安装了,水晶报表就可以使用了,因为网上有人说水晶报表30天会过期,我把日期调到30天后,看了看,正常发布软件时,把以上水晶报表的两个安装文件给打包过去安装就OK了。
Windows-Server-2008-web服务器概述及分析部署
Windows Server 2008 Web服务器概述及分析部署简介Windows Server 2008是由微软发布的一款服务器操作系统,主要用于搭建企业级的网络服务器和Web服务器。
其中,Windows Server 2008 Web服务器是一种专门用于承载网站和Web应用的服务器程序,支持和PHP等多种编程语言。
本文将对Windows Server 2008 Web服务器进行概述和分析,并提供部署的具体方法和步骤。
Windows Server 2008 Web服务器的优点稳定性Windows Server 2008 Web服务器基于Windows Server系统开发,具有极高的稳定性和可靠性。
它可以在多个CPU和内存资源的支持下保持稳定运行,支持恢复出厂设置,可维护性高,可以有效地保证网站的稳定性和可用性。
性能Windows Server 2008 Web服务器在Web应用程序处理方面,具有突出的性能表现。
它支持多个Web应用程序和多个应用程序池,能够在高负载下快速响应,提高用户的体验。
安全性Windows Server 2008 Web服务器具备诸多安全机制,可有效地保护网站和Web应用程序的数据安全。
它支持各种安全认证方式,如Windows身份验证、传输层安全性、IP过滤、请求筛选、入侵检测等,能够有效地抵御各种网络攻击和恶意软件。
可扩展性Windows Server 2008 Web服务器具有高度可扩展性,可快速与其他Web技术和框架集成,如以.NET为核心的应用程序、Java应用程序和PHP应用程序等。
Windows Server 2008 Web服务器的部署前提条件Windows Server 2008操作系统具有一定的硬件要求,包括CPU、内存、硬盘空间等。
要部署Windows Server 2008 Web服务器,需要确保服务器硬件符合以下要求:•最低8GB的物理内存•最低20GB的硬盘空间•Windows Server 2008操作系统同时,还需要安装.NET Framework和IIS组件,这两者在Windows Server 2008系统中默认安装。
Microsoft Visual C++ 2008 发布程序的部署问题
Microsoft Visual C++ 2008 发布程序的部署问题VS2008编译的程序在Windows2008环境上运行时经常出现如下问题:应用程序事件日志如下:上述两个问题都解决后则可能还出现如下问题:注意:此时是调用dll出现问题了,而不是运行主程序出错。
主要问题是“找不到从属程序集Microsoft.VC90.MFC”,解决办法如下:将整个“C:\Application\Microsoft Visual Studio 9.0\VC\ redist\x86\Microsoft.VC90.MFC”拷贝到exe文件所在目录下,如果exe程序所涉及调用的dll与该exe文件不在同一目录,那么须要在dll所在目录也拷贝一份。
详细描述如下:这个问题有好多Blog和Forum已经讨论过了,但都不详尽,在具体的操作过程中还是有许多疑问。
我摘录并整合了许多网络文章,希望能够做个最终了结。
一、VC2005和VC2008编译出来的程序如何发布/lf426/archive/2008/04/12/46885.aspxVC2005和VC2008编译出来的程序放到别人的电脑上为什么有可能无法运行呢?1:Microsoft Visual C++ 2008 Express Edition可以发布软件吗?能!很多人说,因为是Express版,不是Studio,所以只是用来练习语言的,不能发布软件——错!除了没有MFC和ATL,基本上跟 .net 版本是一样的。
发布出来的,是完整的可执行文件。
2:VC 2008 (2005) 发布出来的程序必须附带上他们特定的dll文件吗?不一定。
如果目标系统是个经常升级的系统,微软已经为其打上了所需要的dll文件补丁了,不需要在软件包里面附加特定的dll文件。
特别在Vista系统中,你更是不需要VC8和VC9的dll文件。
但是在一些老版本的系统中,这些文件就是必须的。
3:VC2008和VC2005特定的dll文件是哪些?VC8: msvcm80.dll, msvcp80.dll, msvcr80.dllVC9: msvcm90.dll, msvcp90.dll, msvcr90.dll4:如何部署文件?首先,请选择release版本;在生成可执行文件(exe文件)的时候,会得到相应的部署文件(manifest文件)。
VS2008开发快速配置
VS2008开发快速配置Win32下首先考虑的是Microsoft Visual Studio工具,笔者推荐使用vs2008,目前vs2010、vs2012都已经发布。
不过vs2010的界面布局太过阴暗,而vs2012居然不支持XP。
总而言之,笔者认为vs2008相对成熟,比其它版本的都要好。
在正式配置vs2008再介绍另外两款工具。
第一款工具是Dev-C++,目前版本是4.9.9.2,见下图:如果代码量不多,比方说就几百行的验证小程序,那么用Dev-C++就最合适不过。
第二款工具就是大名鼎鼎的Source Insight,是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。
Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。
如果你不习惯用vs查阅代码,那么SI应该是个不错的选择。
可惜的是SI目前不支持UTF-8,如果在Linux下源码中含有中文,用SI打开将会是一堆乱码。
解决这个问题其实不难,使用一个小程序将UTF-8的文件转换成GBK即可。
见下图:言归正传,下面开始配置vs2008。
第一设置字体。
使用VC6.0中经典的Fixedsys字体,菜单【工具】-> 【选项】,在弹出的选项对话框中,选择【环境】->【字体和颜色】,如下图:顺便提一下,vs2010中居然没有Fixedsys字体可以选择,多么可惜。
据我所知,在vs2008是不可以调行间距的,而且人家Ultra Edit就可以设置行间距。
第二设置行号。
菜单【工具】-> 【选项】,在弹出的选项对话框中,选择【文本编辑器】->【所有语言】,如下图:下面是添加头文件和库文件路径。
有两种方法,一种是针对vs,这样添加后对所有的项目都是有效的,一种是针对项目的,推荐后一种做法。
先介绍前一种方法:菜单【工具】-> 【选项】,在弹出的选项对话框中,选择【项目和解决方案】->【VC++ 目录】,在对话框左边依次选择【包含文件】即.h头文件,【引用文件】即库文件,【可执行文件】即dll文件。
vs2008使用教程
VS2008使用教程引言Visual Studio 2008(简称VS2008)是一款功能强大的集成开发环境(IDE),被广泛用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。
本教程将为您介绍如何使用VS2008进行开发,并提供一些常用功能和技巧的使用方法。
安装和设置在使用VS2008之前,您需要先下载并安装它。
您可以从微软官方网站或其他可信的下载源获取安装程序。
安装完成后,您需要进行一些基本设置,以配置和个性化您的开发环境。
1.启动VS2008安装程序,并按照提示进行安装。
2.完成安装后,启动VS2008,您将看到欢迎界面和开始菜单。
3.在设置对话框中,您可以选择默认的编程语言和工作区布局,还可以更改其他个性化设置,例如颜色方案和字体大小等。
创建新项目使用VS2008,您可以创建多种类型的项目,例如控制台应用程序、Windows窗体应用程序、 Web应用程序等。
下面将介绍如何创建一个新的控制台应用程序项目。
1.在VS2008的开始菜单中,选择“新建项目”。
2.在新建项目对话框中,选择“Visual C++”(或其他适当的编程语言)并选择“控制台应用程序”项目模板。
3.输入项目的名称和存放路径,并点击“确定”创建项目。
4.创建完成后,您将看到一个空白的代码文件和一个主函数。
编写代码在VS2008中,您可以使用内置的代码编辑器来编写代码。
编辑器具有很多实用的功能,如语法高亮、自动完成和错误提示等。
1.在新建项目中,打开代码文件(通常是.cpp或.cs文件)。
2.在编辑器中输入您的代码。
VS2008提供了丰富的代码片段和代码模板,可以加快编码速度。
3.保存代码文件,并使用编译器和调试器来验证代码的正确性。
编译和运行在VS2008中,您可以通过点击按钮或使用快捷键来编译和运行您的应用程序。
1.在工具栏上找到“生成”或“调试”按钮。
2.点击“生成”按钮,VS2008将使用选择的编译器编译您的代码。
代码发布与部署的流程与方法
代码发布与部署的流程与方法代码发布与部署是软件开发流程中的重要环节,它涉及将开发完成的代码部署到生产环境中以保证软件的顺利运行。
本文将介绍代码发布与部署的流程与方法,详细阐述其步骤与注意事项。
1.概述代码发布与部署的目标是将开发完成的代码从开发环境迁移到生产环境,确保软件能够在实际环境中正常运行。
发布是指将代码打包并准备好部署环境,部署则是将打包好的代码部署到目标服务器。
2.流程2.1.环境划分在进行代码发布与部署之前,需要划分不同的环境。
常见的环境包括开发环境、测试环境和生产环境。
开发环境是开发人员进行编码和调试的地方,测试环境是验证功能和性能的地方,生产环境是对外提供服务的地方。
2.2.版本控制代码发布与部署的第一步是进行版本控制。
使用版本控制系统(如Git)管理代码的版本,可以方便地追踪、回滚和协同开发。
在发布前,需要确保代码已经提交到版本控制系统,并进行了相应的标签或分支管理。
2.3.构建与打包构建与打包是将源代码编译成可执行文件、静态文件等,并生成相应的部署包。
构建的过程中需要进行一些必要的配置,如指定打包目录、依赖管理等。
打包后的文件保证了代码的可移植性,可以在不同的环境中使用。
2.4.部署准备在进行部署之前,需要对目标服务器进行准备工作。
首先,要确保服务器中已经安装了所需的运行环境和依赖项。
其次,要进行服务器配置,如网络、防火墙、负载均衡等。
还可以进行一些性能调优和安全策略的设置。
2.5.部署部署是将打包好的代码部署到目标服务器中。
在部署过程中,可以选择手动部署或自动部署。
手动部署通常适用于小型项目或简单的应用,但对于大型项目或复杂的应用,建议使用自动化部署工具(如Jenkins)来进行部署。
自动化部署可以提高效率,减少人工错误。
2.6.部署验证在进行部署之后,需要对部署结果进行验证,确保部署成功。
验证可以通过访问应用、运行自动化测试、检查日志等方式进行。
如果验证失败,需要迅速定位问题并进行修复。
windows server 2008 R2版应用发布服务器搭建
windows server 2008版应用发布服务器搭建2012-12-25目录1. 环境描述 (3)2. 控件安装及配置 (3)3. RemoteApp服务的安装 (7)3.1. RemoteApp验证安装 (11)3.2. 将AppAgent在RemoteApp中发布 (12)3.3. 设置网络发现 (14)3.4. 客户端验证 (15)3.5. 关闭防火墙 (15)3.6. 开启远程桌面 (15)4. server 2008 终端程序激活 (16)1.环境描述服务端系统:Windows2008 R2 Enterprise Service Pack1 系统类型:64位操作系统应用发布服务器控件版本:AppAgent10.0.152.控件安装及配置【步骤一】双机AppAgent_install.exe【步骤二】点击<下一步>按钮【步骤三】点击<下一步>按钮【步骤四】点击<安装>按钮【步骤五】点击<完成>按钮,完成安装【步骤六】配置AppAgent环境,先找到AppAgent控件所在路径。
我们默认安装路径(C:\Program Files (x86)\security\AppAgent),【步骤七】复制或剪切AppAgent.exe到C:\Windows\System32下3.RemoteApp服务的安装【步骤八】计算机右键》》管理》》角色》》添加角色【步骤九】在“添加角色向导”页面,点击“下一步”进入服务器角色选择安装界面,选择“Web服务器(IIS)、网络策略和访问服务、远程桌面服务”【步骤十】接点击下一步至进入远程桌面服务角色选择【步骤十一】当选择“远程桌面Web访问”和“远程桌面网关”时,会弹出一个添加角色的窗口,点击“添加所需的角色服务”即可。
点击“下一步”直至“选择远程桌面会话主机的身份认证方法”页,选择“需要使用网络级别身份认证”【步骤十二】直接点击“下一步”,至“指定授权模式”,选择“每用户”【步骤十三】直接点“下一步”,至“为RD授权配置搜索范围”,勾选“为此许可证服务器配置发现范围”,选择“此工作组”。
VS2008由于应用程序配置不正确,应用程序未能启动
VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。
重新安装应用程序可能会纠正这个问题。
”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL 库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此导致了这个错误。
出现这种情况的VC9编译器可能存在3个版本,接下来分别阐明:1、没有打过任何补丁的VS2008该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8,这个版本号在后面会用到。
这个版本的程序部署比较简单,直接把VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。
2、打过SP1补丁的VS2008打过该补丁后,系统中存在着两个版本的CRT/MFC/ATL库,版本号分别为9.0.21022.8和9.0.30729.1,这导致了manifest文件中记录的版本号和实际库的版本号不一致(程序要求它们的版本号一致才能运行)。
这个版本的程序部署需要两个步骤,首先要使manifest文件中依赖项的版本号与实际库的版本号一致,均为9.0.30729.1,方法是在工程设置中增加一个宏定义_BIND_TO_CURRENT_VCLIBS_VERSION,该宏定义于C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtassem.h文件中,然后重新编译程序。
visual studio 2008 c语言程序
visual studio 2008 c语言程序
Visual Studio 2008 可以用来编写和调试 C 语言程序。
以下是一个简单的 C 语言程序示例,你可以在 Visual Studio 2008 中创建一个新的 C 项目并输入这个代码:
```c
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
```
要创建一个新的 C 项目,请按照以下步骤操作:
1. 打开 Visual Studio 2008。
2. 在“文件”菜单中选择“新建”->“项目”。
3. 在“新建项目”对话框中,选择“Visual C++” -> “Win32” -> “Win32 控制台应用程序”。
4. 输入项目名称,选择项目位置,然后点击“确定”。
5. 在“Win32 控制台应用程序向导”中,选择“空项目”,然后点击“完成”。
6. 在解决方案资源管理器中,右击“源文件”,选择“添加” -> “新建项”。
7. 在“添加新项”对话框中,选择“C++ 文件(.cpp)”,输入文件名,然后点击“添加”。
8. 将上面的 C 语言代码粘贴到新创建的 C++ 文件中,保存并编译。
9. 运行程序,你应该会在控制台窗口中看到“Hello, World!”的输出。
请注意,上述步骤假设你已经安装了 Visual Studio 2008 和相关的C/C++ 开发工具。
如果你还没有安装这些工具,你需要先下载并安装它们。
MicrosoftVisualC++程序的部署方法
MicrosoftVisualC++程序的部署⽅法1. ⽤Microsoft Visual C++ 6.0编译的程序,或者发布在Windows 2000/NT/ME/98 系统单纯通过拷贝MSVCRxx.DLL⽂件到应⽤程序⽬录或system32⽬录即可2. ⽤Visual Studio 2005以上编译的程序,且发布在Windows XP及以上系统为了减少DLL引发的配置问题(DLL hell),C和C++运⾏时由并⾏ (Side-by-Side) 程序集实现,单纯通过拷贝MSVCRxx.DLL 并不⾜以在⾮开发环境正常运⾏程序,必须通过⼀个清单(manifest)来加载CRT DLL。
如果加载C运⾏时库时没有这个清单,会引发R6034异常。
这就是为何CRT DLLs现在位于WinSXS(Windows Side-by-Side)⽽不在System32⽬录的原因。
EXE和DLL⽂件都会有⼀个manifest⽂件,⾥⾯说明了依赖关系,⽤Visual Studio 2005编译后,会⾃动产⽣与可执⾏⽂件同名的manifest⽂件,如:app.exe // 可执⾏⽂件app.exe.manifest // dll依赖⽂件⼀般情况下,会把EXE和DLL的manifest⽂件嵌⼊到EXE和DLL⽂件中,外置的manifest就可以删除了。
如:mt.exe /nologo /manifest ".\app.exe.manifest" /outputresource:".\app.exe";1在EXE⽂件中,最后⾯的值为1,在DLL⽂件中,值为2Microsoft Visual C++运⾏库DLL⽂件中则没有嵌⼊manifest⽂件,因此需要外部的manifest⽂件,Visual Studio 2005的manifest名字叫Microsoft.VC80.CRT.manifest,Visual Studio 2008的manifest名字叫Microsoft.VC90.CRT.manifest,所以要将Microsoft.VC80.CRT.manifest,MSVCR80.dll,MSVCP80.dll,MSVCM80.dll 这四个⽂件拷贝到应⽤程序⽬录。
VS2008常见问题汇总20150923
VS2008常见问题汇总作者邵发官网本文档是《C/C++学习指南》系列教程的配套资料,最新版本请到官网下载。
1.为什么VS2008安装不了?大多数同学的安装都没有问题。
如果你的安装有问题,很可能是你的Windows系统是精简版的。
尝试以下办法:* 重新启动电脑,再安装试试* 重装一个完整版的Windows,不要用ghost安装盘,再试试* 放弃VS2008,试一下VS2010能不能装上。
2.为什么我的VS2008不显示行号?如图所示,每行前面的数字叫做“行号”按照下面的方法,将VS2008的行号显示出来:在菜单里执行“工具 | 选项”左侧选择“文件编辑器 | C/C++”在VS的菜单“工具 | 选项”4.我建立第一个Hello,World项目都不成功?好吧,你是不够仔细了,请严格按照这个文档最后面的附录1、不要有任何改动来操作一遍。
5.编译错误: 找不到stdafx.h ?在新建项目的时候,选择“空项目”6.项目编译成功了,但是在Debug目录下找不到Hello.exe?并不是找不到,而是后缀名默认是不显示的。
在Win7下,在控制面板里找到“文件夹选项”,在“查看”选项卡里,不要勾选“隐藏已经文件类型的扩展名”。
如下图所示。
7.按Ctrl+F5运行程序时,程序一闪即退?这种问题在Win XP上会出现,在Win7以上版本不会出现。
所谓一闪即退,是程序的正确退出。
如果你的电脑上是Win XP,则使用这样的代码:#include <stdio.h>#include <stdlib.h> // 这里加一行int main(){printf("hello,world!\n");system("PAUSE"); // 这里加一行return 0;}8.编译时提示cannot open *.exe for writing?例如:fatal error LNK1168: cannot open Debug/7.exe for writing在WinXP上会有这个问题。
microsoftvisualc++2008
microsoftvisualc++2008
Microsoft Visual C++ 2008 是一种操作系统中用于应
用程序的开发的软件。
它是由微软公司开发的应用程序开发环境,它也被认为是一个非常可靠的图形用户界面编程解决方案。
Microsoft Visual C++ 2008 是一种强大的c/c++软件,它使
用视觉c++的Integrated Development Environment (IDE),来帮助软件开发人员简化和快速完成应用程序的开发。
它集成了视觉c++编译器,编辑器,以及其他基于微软视觉c++的关
键开发工具。
Microsoft Visual C++ 2008 包括许多改进,以帮助软
件开发者更快速完成应用程序开发。
这些改进包括新的c/c++
语法,改进的Visual Studio 工作流,以及增强的MFC类库。
它还包括一些便利功能,能让开发者更轻松地构建功能丰富的应用程序。
Microsoft Visual C++ 2008 通过它的灵活性和可靠性,使其成为一种必备的开发工具,可以帮助开发者提高他们的软件项目的速度和效率,并节省开发时间。
它是一种非常灵活的工具,可以灵活地构建任何类型的应用程序。
软件开发人员可以使用这个工具快速完成他们的开发项目,再将项目交付给他们的用户。
总之,Microsoft Visual C++ 2008 是一款值得信赖的
开发工具,具有许多优势和功能,能够简化和提高软件项目的开发和执行。
它可以帮助软件开发者安全、快速地完成他们的软件项目,以获得最佳的结果。
VS2008打包程序流程
VS2008打包安装程序步骤1、打开VS2008,依次选择:文件-项目-其他项目类型-安装和部署-安装向导2、依次点击确定-下一步-完成。
进入如下界面3、鼠标单击应用程序文件夹,到右边空白区域依次点击鼠标右键-添加-文件,如图所示4、打开文件后选择你编写的程序在Release下所生成的exe文件和运行该文件所需要的类库文件以及其他的一些文件后点击打开,操作结果如下图所示,并将应用程序文件夹中defaultLocation中的[Manufacturer]删掉,注意中括号也一并删除。
同时将[ProductName]换成exe程序的文件名改完后形式如:[ProgramFilesFolder]\MandarinTest5、生成exe文件快捷方式并分别剪切至“用户的“程序”菜单”和“用户桌面”右边的空白区域内,结果如图所示:6、将程序的图标文件复制到该项目目录下并将该图标加入到应用程序文件夹中,如图所示7、点击用户的“程序”菜单,并右键单击exe文件的快捷方式选择属性窗口,将程序的图标加入到属性窗口中的Icon中,操作步骤如图所示:同理操作用户桌面中的exe快捷方式的图标8、右键单击工程名打开属性对话框选择系统必备,操作结果如图所示勾选如图所示选项并确定此时就可以单击生成解决方案就可以生成安装程序包了。
但是此时生成的程序包中没有卸载功能9、在应用程序项目中添加msiexec.exe,msiexec.exe这个文件在c:\windows\system32文件夹下。
添加进去后将其名字改为卸载,并生成一个快捷方式剪切到用户的“程序”菜单中,操作结果如图所示。
然后鼠标左键单击项目名查看该项目的ProductCode,然后单击用户的“程序”菜单中卸载.exe快捷方式在其Arguments中填写/x ProduceCode即/x {E845C20B-A837-41C5-A744-A1CAAEC23486}。
如图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Microsoft Visual C++ 2008 发布程序的部署问题VS2008编译的程序在Windows2008环境上运行时经常出现如下问题:应用程序事件日志如下:上述两个问题都解决后则可能还出现如下问题:注意:此时是调用dll出现问题了,而不是运行主程序出错。
主要问题是“找不到从属程序集Microsoft.VC90.MFC”,解决办法如下:将整个“C:\Application\Microsoft Visual Studio 9.0\VC\ redist\x86\Microsoft.VC90.MFC”拷贝到exe文件所在目录下,如果exe程序所涉及调用的dll与该exe文件不在同一目录,那么须要在dll所在目录也拷贝一份。
详细描述如下:这个问题有好多Blog和Forum已经讨论过了,但都不详尽,在具体的操作过程中还是有许多疑问。
我摘录并整合了许多网络文章,希望能够做个最终了结。
一、VC2005和VC2008编译出来的程序如何发布/lf426/archive/2008/04/12/46885.aspxVC2005和VC2008编译出来的程序放到别人的电脑上为什么有可能无法运行呢?1:Microsoft Visual C++ 2008 Express Edition可以发布软件吗?能!很多人说,因为是Express版,不是Studio,所以只是用来练习语言的,不能发布软件——错!除了没有MFC和ATL,基本上跟 .net 版本是一样的。
发布出来的,是完整的可执行文件。
2:VC 2008 (2005) 发布出来的程序必须附带上他们特定的dll文件吗?不一定。
如果目标系统是个经常升级的系统,微软已经为其打上了所需要的dll文件补丁了,不需要在软件包里面附加特定的dll文件。
特别在Vista系统中,你更是不需要VC8和VC9的dll文件。
但是在一些老版本的系统中,这些文件就是必须的。
3:VC2008和VC2005特定的dll文件是哪些?VC8: msvcm80.dll, msvcp80.dll, msvcr80.dllVC9: msvcm90.dll, msvcp90.dll, msvcr90.dll4:如何部署文件?首先,请选择release版本;在生成可执行文件(exe文件)的时候,会得到相应的部署文件(manifest文件)。
比如,得到a.exe文件,就会同时生成a.exe.intermediate.manifest文件。
请将这2个文件放在同一文件夹下。
然后,你需要VC8和VC9的部署文件:Microsoft.VC80.CRT.manifest和Microsoft.VC90.CRT.manifest。
请到你的VC安装目录下寻找,比如:C:\Program Files\Microsoft Visual Studio9.0\VC\redist\x86\Microsoft.VC90.CRT我这里也把2个部署文件直接贴出来,没装的直接用就是了:Microsoft.VC90.CRT.manifest然后将VC8的3个dll以及这个manifest装到一个文件夹里,并将文件夹命名为Microsoft.VC80.CRT。
同样将VC9的3个dll以及这个manifest装到一个文件夹里,并将文件夹命名为Microsoft.VC90.CRT。
将这2个文件夹放到与exe文件(及其部署文件)所在目录下就OK了。
至于为什么VC9编译的程序要用VC8的dll,大家可以看看我例程部署文件:<?xml version='1.0' encoding='UTF-8' standalone='yes'?><assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level='asInvoker' uiAccess='false' /></requestedPrivileges></security></trustInfo><dependency><dependentAssembly><assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022. 8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /></dependentAssembly></dependency><dependency><dependentAssembly><assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727. 762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /></dependentAssembly></dependency></assembly>VC 2008生成出来就需要VC90和VC80的CRT,我们能有什么脾气呢……也就是说,还别管你exe文件多大,要保证正常运行,我们需要首先拷贝这8个文件……二、“应用程序配置不正确,程序无法启动”的原因/fairysky/blog/item/130dda13db7b050a5aaf53be.htmlvc2005/vc2008采用了新的程序部署技术(manifest清单文件),manifest清单文件实际上类似于我们常用的makefile文件,它定义了程序运行的依赖关系(程序运行所需要的dll 库的名称、版本等)。
程序运行,首先根据manifest清单文件(这个文件可以嵌入到exe或dll中,或者单独生成外部文件,可以通过vc2005/vc2008的编译选项控制:工程“属性”->“配置属性”->“清单工具”->“输入输出”->“嵌入清单文件”,选择“是”或“否”来控制)来查找程序运行需要的dll库的名称、版本等,如果所在的系统中没有程序运行所需要的dll 库和相应的manifest清单文件,则弹出“应用程序配置不正确,程序无法启动”对话框。
另外要注意,由于vc2005/vc2008与.net集成,导致出现一个新的概念:在.net中,将exe、dll都看成“程序集(assemble)”,每个程序集(assemble)都附带有一个manifest清单文件,因此使得vc2005/vc2008的CRT(C 运行时库)、MFC、ATL等dll库都附带有一个manifest清单文件。
归根结底是由于老版本的系统没有我们开发的程序运行所需要的基本运行时库(2k、xp系统只有vc6的一些dll库,而没有vc2005、vc2008所需要的dll库以及相应的manifest清单文件,而在vista系统或者即将到来的windows 7系统上则包含有vc2005、vc2008的dll库和manifest清单文件)举个例子:(在XP SP3系统下)使用vc2008 express sp1版(没有mfc、atl),新建一个“HelloWorld”的“win32控制台应用程序”工程,在release下编译,此时默认的编译选项:(在这里我们只关注与我们的问题相关的几个选项)1、工程“属性”->“配置属性”->“c/c++”->“代码生成”->“运行库”默认选项为/MD(release)、/MDd(debug),对这几个编译选项不清楚的可以参见: VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结2、工程“属性”->“配置属性”->“清单工具”->“输入输出”->“嵌入清单文件”默认选项为“是”(表示将manifest清单文件嵌入到程序中);当然,我们也可以选择“否”,从而单独生成一个manifest清单文件,不过这会增加不必要的依赖项,因此不建议选择“否”。
编译->链接之后在“ HelloWorld ”工程的release或debug目录下,我们能够看到一个HelloWorld.exe.intermediate.manifest清单文件(根据编译选项,见上,vc2008将manifest清单文件嵌入到了exe程序中,HelloWorld.exe.intermediate.manifest清单文件是一个临时文件,但它的内容与嵌入到exe程序的manifest文件是一样的),用文本编辑器打开该文件(用“记事本”也行,不过格式太乱,看不清楚内容,推荐使用vim或其它的文本编辑器查看),大致内容如下:我们重点查看红色部分,这说明编译后的exe程序依赖于vc90(也即vc2008)的CRT(C运行时库),版本9.0.210022.8(这是由于使用/MD选项,程序动态的依赖于CRT,如果使用/MT选项,则会将CRT静态链接到程序中,当然,这会使程序的尺寸急剧的增长,大概有10倍的大小差距)当exe程序执行时,它会根据嵌入的manifest文件查找相应的依赖项,在这个HelloWorld.exe程序中,它依赖于vc90 CRT,因此它会在“C:\WINDOWS\WinSxS”和“当前目录”下查找相应的dll库以及manifest文件,(这里指的是xp系统,不考虑vista系统,具体的参见:程序集搜索顺序)在我的机器上有2个版本的vc90 CRT(由于安装了vc2008 express sp1)vc90 CRT的dll库位于(9.0.21022.8版本)“C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022 .8_x-ww_d08d0375”相应的manifest文件则位于“C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b _9.0.21022.8_x-ww_d08d0375.manifest”vc90 CRT的dll库位于(9.0.30729版本)“C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729 .1_x-ww_6f74963e”相应的manifest文件则位于“C:\WINDOWS\WinSxS\Manifests\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b _9.0.30729.1_x-ww_6f74963e.manifest”在这里我们就有一个疑问了,我们的开发环境是vc2008 express sp1,那么我们的程序链接的CRT版本应该是9.0.30729版本的啊?(这个不是我瞎说的,大家可以用dependency walker来查看程序实际链接的DLL版本),为什么在manifest文件中依赖的CRT却是9.0.21022.8版本的? 这里就涉及到一个新的名词“policy ",操作系统会根据C:\WINDOWS\WinSxS\Policies\x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75\9.0.30729.1.policy文件的内容,进行dll版本的跳转(重点看深蓝斜体字部分)从而选择了9.0.30729版本的vc90 CRT (这个所谓的“policy跳转”是道听途说来的,具体的英文资料藏在microsoft的什么地方我就不得而知了。