从桌面应用程序开发人员的角度来看,Windows XP开发和Windows Vista开发之间有什么区别吗?
答案 0 :(得分:20)
用户界面
查看Windows Vista User Experience Guidelines,您可以看到他们已经更改了许多UI元素,您应该注意这些元素。需要注意的一些重要事项:
<强> 64位强>
Vista有64位版本,虽然XP也有,但是你的用户更有可能使用Vista 64而不是XP 64.现在你需要处理:
<强> UAC 强>
User Account Control极大地影响了应用程序与操作系统交互时的默认权限。
新API
新的API针对新的应用程序构建方法或允许新功能:
<强>安装程序强>
因为安装只能使用它们在事务完成后安装的公共运行时,custom actions will fail如果您的自定义操作dll需要VS 2005 CRT(非SP1)之上的Visual C ++运行时。< / p>
答案 1 :(得分:5)
不要 永远 假设您的用户可以访问光盘的某些关键区域(即程序文件,Windows目录等)。相反,默认用户帐户只能写入其应用程序数据的一小部分。此外,他们将无法写入注册表的全局区域 - 只能写入当前用户部分。
你当然可以提升他们的特权,但这本身就是一项任务。
一般来说,Vista的编程与XP相同,只是你需要警惕的新帐户限制。
关于使您的应用程序“UAC识别”
,请查看此页面http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
答案 2 :(得分:1)
可以,但这是您作为开发人员的有意识选择。你可以使用新的Vista东西,比如UAC,CommandLinks和Aero等等。但你不必(甚至UAC可以编程 - 只是不做任何需要管理员权限的事情)。如果你选择忽略所有Vista的东西,那么两者之间绝对没有区别。
如果您确实希望在应用中包含这些内容,则会产生重大影响。但我会说不是一个巨大的。如果你抽象出差异(例如,编写你自己的函数,显示Vista的TaskDialog,但是你把它输入到XP上的MesssageBox中,那么你只会写你自己的代码,这些差异似乎几乎没有。
此外,许多Vista的新内容(例如,UAC或Aero)是您担心的一次,当您创建使用它的第一个功能,让它工作,然后再也不会再考虑你正在开发应用程序。
答案 3 :(得分:0)
到目前为止,将应用程序从XP迁移到Vista(从我的角度来看)最痛苦的部分是处理使用以前免费的端口和处理无线配置的众多服务和IPv6内容 - &gt;原生WiFi过渡。
UAC的东西基本上没有实际意义;应用程序开发人员需要做的很少。