在xp下编译的exe在vista下兼容的有关问题

在xp下编译的exe在vista下兼容的问题
本人开发exe程序在xp下,需要运行在vista上,运行报错,!!试过几种办法,首先在vista下已经设定过兼容模式,其次修改清单文件也同样无效,最后需要解决的问题是:如何在编译时,就先做好能够移植到vista或者windows 7??
知道的人帮忙解决下 不胜感激!!

------解决方案--------------------
在目标机器上

安装微软重分发包。

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=zh-cn


------解决方案--------------------
QQ2009用的是MFC8.0动态链接库,安装的时候包含了;
你的程序也是VS2005下开发的,而且也是用动态库,VISTA下默认只支持VC6 MFC的链接库
探讨
现在 发现问题了    很奇特!在vista下  打开exe不行,装完QQ2009  就可以打开,不知道 这个QQ2009添加了什么组件?? 

------解决方案--------------------
纯SDK程序就算静态编译在vista下也还要发行那几个manifest
MFC程序静态编译可直接在vista允许

另外,在UAC启动的情况下,如果你的程序要用到注册表、物理磁盘读写等功能,必须先申请权限