安装windows 服务出错

今天写了一个UDP通讯的服务程序,用的VS2008,写好之后在我的电脑上测试没有问题,可以收到客户端发送的数据,也可以返回,可是当拿到别人的机子上测试时就出问题了。

安装服务时没什么问题,可安装好之后启动就提示“发生系统错误:14001。由于应用程序配置不正确,应用程序未能启动……“。

百度之后,发现是缺少DLL文件,网上说需要安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)(点击打开链接),可是安装之后还是不管用。

于是继续百度,发现这篇文章VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题,文章说:“

1、没有打过任何补丁的VS2008

该版本对应的CRT/MFC/ATL库的版本号为9.0.21022.8,这个版本号在后面 会用到。这个版本的程序部署比较简单,直接把VC安装目录下的redist目录(C:\Program Files\Microsoft Visual Studio 9.0\VC\redist)中需要的库以及对应的manifest文件拷贝到执行程序同目录下,这样程序到任何机器上都能够正常运行了。

可是说的过于粗略,没有说应该拷贝哪个文件。

无奈,继续百度,发现这篇文章由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题,文章说:应拷贝MSVCR80D.DLL, msvcrt.dll和Microsoft.VC80.DebugCRT.manifest这三个文件到应用程序所在目录。msvcrt.dll文件我没找到,可能是VS2005的吧,不过没影响。

于是按照文章说的拷贝到应用程序所在的目录,启动。还是出现错误:应用程序正常初始化失败(0X0000034)。

刚开始以为是电脑的环境没建好,可后来检查之后发现不是这个原因。

于是我就把C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT目录下的DLL文件都拷贝到应用程序所在的目录,发现错误解决。

总结:

1.安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)之后问题没有解决,看网上有的网友解决了,我也不知道为什么我的不行。

2.将C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT目录下msvcr90d.dll, msvcp90d.dll和Microsoft.VC90.DebugCRT.manifest 拷贝到应用程序所在目录,问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值