移植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. 將伯克利Db從XP移到Ubuntu
- 2. 將代碼從unix移到windows xp
- 3. 不能ping通從mac os到xp
- 4. 從XP的WinForm轉換到Vista - Properties.Settings
- 5. System.StackOverflowException從XP機器到7.0機器
- 6. 如何克服從XP到另一臺XP電腦的「運行時錯誤430」?
- 7. 從Delphi的XP/2003中SetFileInformationByHandle?
- 8. 從XP切換到WIN2K時出現Java異常
- 9. 如何將MmMapIoSpace從Windows CE 5.0移植到6.0或XP Embedded?
- 10. 用vb.net從Windows XP將文件複製到Linux
- 11. 將驅動程序從XP升級到W7
- 12. 從xp到windows 7的visual studio 2005安裝項目
- 13. 如何將VB6應用從XP升級到Vista?
- 14. ADSI將無法從XP連接到IIS工作站
- 15. ODBC連接信息將腳本從Windows XP導出到Windows 7?
- 16. 從XP到Win 7遷移ConnectNamedPipe()的問題
- 17. 從win7上的VM XP連接到win7 iis localhost
- 18. 從Windows XP Mode到Windows 7的SSPI SQL Server
- 19. 在xp
- 20. 從Windows XP訪問SQL Server 2012
- 21. 無法從PyPI中的python 2.6 XP
- 22. 如何從MacOSX ping XP機器
- 23. 在windows上安裝hudson從站xp
- 24. 針對從Visual Studio 2012的Windows XP
- 25. 在Windows XP上設置Hudson從站
- 26. 從Windows XP桌面部署網站
- 27. 在Windows XP上從R訪問PostGIS
- 28. 連接到Windows XP機器上的Subversion?
- 29. 虛擬註冊表到Windows XP
- 30. Direct2D在Windows XP中回退到GDI
+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