移植C++应用程序我有,我已经为Windows XP编写的C++应用程序,我想将它移植在Windows Vista/7的使用。它使用一些MFC(用于串行I/O)和ATL(用于WMI),但它主要使用良好的Windows API。移植我的应用程序时,我应该记住什么?谢谢。从XP到Vista/7
1
A
回答
8
你可能不需要在所有做任何事情。在一般情况下,XP编写的应用程序在Vista和Windows 7中运行良好(设备驱动程序和其他这样的低级别的代码可能是一个不同的故事。)
你是否有在Vista或Windows 7上运行它的问题?你甚至尝试过吗?
一些可能的陷阱:
- 安全性(是否你的应用程序假定它以管理员身份运行,并具有对机器的完全控制?)
- 化妆品的问题(由于在Vista的窗口和控件的外观变化和7)
- 硬编码文件/目录路径
- 更多的用户运行64位版本的Windows Vista和7比以前使用的64位XP。所以,如果你有一个32位的应用程序,并且你动态加载代码(DLL,ActiveX控件等),你可能会遇到32位和64位的问题。
6
应用程序兼容性工具包将可以帮助你找到问题的应用程序可能已经移植到Vista/Win 7的:
2
我第二次迈克尔·伯尔的建议使用程序兼容性工具包,为将会发现大部分可能的问题。一些一般的经验法则:
- 不要在安装程序中向HKLM写入数据。使用HKCU。任何读取/写入HKLM可能virtualised,当用户帐户之间进行切换
- 不要使用硬编码路径,使用SHGetFolderLocation
- 不要将数据写入到系统领域,如
c:\windows
,c:\program files
你可能会很奇怪的行为,等等如果你需要编写必须是提供给所有用户数据,使用CSIDL_COMMON_APPDATA
(c:\ProgramData
默认)
假设你做这些东西大部分权反正那么我想你不会有任何支持Vista/Win7的主要问题。
相关问题
- 1. 不能ping通从mac os到xp
- 2. 从XP的WinForm转换到Vista - Properties.Settings
- 3. 将代码从unix移到windows xp
- 4. System.StackOverflowException从XP机器到7.0机器
- 5. 将伯克利Db从XP移到Ubuntu
- 6. 如何克服从XP到另一台XP电脑的“运行时错误430”?
- 7. 从Agile/XP实现好位?
- 8. 从Delphi的XP/2003中SetFileInformationByHandle?
- 9. Apache + PHP:从XP移到Win 7后没有找到oci.dll
- 10. 没有连接到XP
- 11. MySql ODBC Windows XP到Windows 7
- 12. 从win7上的VM XP连接到win7 iis localhost
- 13. 从XP到Win 7迁移ConnectNamedPipe()的问题
- 14. 如何将VB6应用从XP升级到Vista?
- 15. ODBC连接信息将脚本从Windows XP导出到Windows 7?
- 16. 用vb.net从Windows XP将文件复制到Linux
- 17. 如何将Tomcat 6应用程序从Windows XP移植到Linux?
- 18. 如何将MmMapIoSpace从Windows CE 5.0移植到6.0或XP Embedded?
- 19. 我需要帮助将UPS dsn从XP传输到Windows 7 64bit
- 20. 从远程android蓝牙接收文本数据到Windows XP PC
- 21. XP + Linux的汽车SSH从WIN proccess到Linux
- 22. 从Windows XP Mode到Windows 7的SSPI SQL Server
- 23. ADSI将无法从XP连接到IIS工作站
- 24. 从xp到windows 7的visual studio 2005安装项目
- 25. 从32位xp移动到64位Win7 - 线程影响
- 26. 从XP切换到WIN2K时出现Java异常
- 27. 将驱动程序从XP升级到W7
- 28. firebird数据库从Windows XP迁移到Windows 7
- 29. InstallScript XP
- 30. 在xp
+1,Addtional说明,供市民疑惑“用来在XP上运行,但在7没有运行某些应用程序”:使用[为了兼容Windows 7的这些详尽的指引](http://technet.microsoft.com/en -us /窗/应用compatibility.aspx)。此外,如果某人的其他应用程序,使用兼容模式和/或**,你其实也可以在7运行Windows XP应用程序**,如果你有[XP模式(http://microsoft.com/windows/virtual-pc/ download.aspx)installed =>它在虚拟PC中运行XP.You在XP中安装你的应用程序。您可以在7的开始菜单中找到您的** XP应用程序**! &下次运行应用程序(在XP风格的框架),而无需再次启动XP! – 2012-09-19 14:56:37