无法启动程序“%CSIDL_PROGRAM_FILES%/XX/XX.exe”。发生了通常表示安装被损坏的错误(代码 0x8007007e)。

vs2005调试DLL时,编译没有错误

但在启动调试的时候提示:

——————————————————————————————

无法启动程序“%CSIDL_PROGRAM_FILES%/XX/XX.exe”。

发生了通常表示安装被损坏的错误(代码 0x8007007e)。

如果问题仍然存在,则通过“控制面板”中的“添加或删除程序”

修复 Visual Studio 安装。

——————————————————————————————

经过查找,发现发生这种情况的原因是:

需要调用的DLL文件不存在。

解决方法:

将需要调用的所有DLL拷贝到WinCE设备中

正在调试的EXE文件所在的目录下面

(/Program Files/exe文件的名字)。

如:/Program Files/XX

——————————————————————————————

朱铭雷

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/joyzml/archive/2010/01/11/5176018.aspx#1369151

 

这个万恶的问题,我遇到好郁闷.

到后来我重建动态库工程,部署的时候,有几个不是我工程生成的dll文件被拷贝进入当前目录,竟然就可以运行,甚至调试了.

我就不明白,为什么非得重建才行.而原来的工程,编译部署却不能把这些dll文件给拷到设备上.

 

我紧接着还做了下一下是实验,把这几个文件给拷贝到/windows目录下,而设备的工程目录下的这几个dll文件给删除了,

依然能够运行成功.

 

后来进行观察,能够顺利运行调试的程序的部署有以下内容:

 

1>------ 已启动部署: 项目: ConnMgrDll, 配置: Debug Windows Mobile 6 Professional SDK (ARMV4I) ------
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/msvcr90.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/atl90.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/msvcr90d.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/MFC90UD.dll
1>e:/ConnMgrDll/ConnMgrDll/Windows Mobile 6 Professional SDK (ARMV4I)/Debug/ConnMgrDll.dll
========== 部署: 成功 1 个,失败 0 个,跳过 0 个 ==========

不能够顺利启动调试的,部署是以下内容:

2>------ 已启动部署: 项目: CEHttpDll, 配置: Debug Windows Mobile 6 Professional SDK (ARMV4I) ------
2>e:/ppcDll/手机协议DLL及测试/CEHttpDll/Windows Mobile 6 Professional SDK (ARMV4I)/Debug/CEHttpDll.dll
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
========== 部署: 成功 1 个,失败 0 个,跳过 0 个 ==========

而仔细看这几个多出的dll文件,原来他们都是vs2008所带的:

1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/msvcr90.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/atl90.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/msvcr90d.dll
1>D:/Program Files/Microsoft Visual Studio 9.0/VC/ce/dll/ARMV4I/MFC90UD.dll

 

你可能感兴趣的:(windows,测试,mobile,dll,exe,WinCE)