[转]WTL的windows mobile环境的配置(vs2008)[最终版,验证通过]
1.下载安装包:WTL8.1安装包
2.解压安装包,比如解压到C:\WTL81下
3.我们要开发Mobile的程序,因此需要更改AppWizCE和AppWizMobile下的文件,打开AppWizCE下的Files\WTLAppWizCE.vsz将Wizard=VsWizard.VsWizardEngine改为Wizard=VsWizard.VsWizardEngine.9.0。打开AppWizMobile下的Files\WTLMobile.vsz,找到第二行的Wizard=VsWizard.VsWizardEngine.8.0将其改成Wizard=VsWizard.VsWizardEngine.9.0
4.分别打开两个目录下的Files/HTML/1033/AppType.htm, default.htm, Platforms.htm,
UIFeatures.htm,找到classid="CLSID:D245F352-3F45-4516-B1E6-04608DA126CC",修改成classid="CLSID:5AFCAD52-F3CC-43BB-A605-6602EE5BD94A"
5.分别打开AppWizCE和AppWizMobile两个目录下的Files/Scripts/1033/default.js,找到new ActiveXObject("ProjWiz.SDProjWiz2.2");改成new ActiveXObject("ProjWiz.SDProjWiz2.3");
6.分别打开AppWizCE和AppWizMobile两个目录下的Files\Templates\1033\stdafx.h,找到#include <atlapp.h>,在这句话之前加上#define _SECURE_ATL 1
7.下面就可以开始安装了,分别运行两个目录下的setup90.js,注意由于是.js文件因此很多人可能双击运行后就会使用相应的软件来打开了,比如记事本或者各种网页编辑器等,这种情况下我们可以在命令行使用wscript setup90.js命令来运行,如果还是不行,那么请修改注册表,打开HKEY_CLASSES_ROOT\.js 将默认值改成JSFile,这样双击.js就可以运行安装程序了,安装完毕会出现对话框提示安装成功.
8.打开VS.NET2008,现在在新建项目中就可以看到WTL的两个项目,但是先不要新建项目,首先要把.h文件添加到包含路径中.打开2008的工具菜单->选项,在打开的选项中找到项目和解决方案->VC++目录,在右侧的平台下拉列表中选择Mobile的平台,比如Windows Mobile 6 Professional,旁边的显示以下内容目录下拉列表中选择包含文件,下面新加一个包含目录,就是我们之前解压的目录:C:\WTL81\Include,确定之后就设置完了.
9.新建一个项目试试吧,在我的机器上建立WTL Mobile Application完成向导时会出现错误:无法访问所需文件的数据,因为它处于僵停状态。不知道如何解决,请各位高手赐教.另外那个CE的向导就没有问题.
其它的问题:
1、 程序编译时说找不到atlapp.h文件,虽然上面有设置,但它还是找不着。我想这也许是因为我的vs2008不是装在c盘的原因。因此,我将WTL81\Include下面的文件全部复制到Microsoft Visual Studio 9.0\VC\ce\include里面,如此就可以了,同理,当生成win32工程时,就应复制到Microsoft Visual Studio 9.0\VC\include里面。
2、 在开发WM6的项目时,部署有时会出现问题,提示"系统找不到指定的文件",下面是网上的解决方法:
1,打开项目属性。
2,在“配置属性/调试”中,“要启动的调试器”中选“智能设备本机调试器”。
3,在“配置属性/部署”中,“附加文件”中全部清除。部署错误的原因就是这里面有些文件在 VS2008 中找不到。
3、如果在新建项目时发现有的项目创建不了,说明你没有完全按照上面的方法修改脚本,再检查一下,第9个问题就是因为我没有做第3项修改所致。