[文章]Windows 7 相容性議題

Windows 7即將上市(其實正式版已經...嘿嘿)
有鑑於Vista相容性不佳造成民眾接受度低的問題
Microsoft這次拉出一百個人專門在做相容性測試及修正
其中出現相容性問題最主要的原因有下列九種

Windows 7即將上市(其實正式版已經...嘿嘿)
有鑑於Vista相容性不佳造成民眾接受度低的問題
Microsoft這次拉出一百個人專門在做相容性測試及修正
其中出現相容性問題最主要的原因有下列九種:

1. User AccountControl:使用者帳戶控制,因較複雜,故獨立於下一篇說明

2. Version Checking:版本檢查
程式開頭幾乎都會先以GetVersion( ) function抓取作業系統版本
Windows 2000的內碼為5.0,XP為5.1,Server 2003為5.2,Vista為6.0,Windows 7則為6.1
若是只使用 == 來限定只有特定版本的OS才能安裝,而非使用 >=<=
當傳回之版本不符合條件時,安裝就會失敗
此時就可在安裝檔上按右鍵,進入相容性頁籤,使用相容性模式安裝
這裡就是回傳所選擇的內碼給程式,以欺騙程式此為符合之版本

 

3. 64-bit compatibility and testing:64位元的相容性測試
目前Windows 7 64位元版雖有WOW64 emulator,可安裝32 bit的程式
但是無法支援64 bit的drivers
且從Windows Server 2008 R2後僅會出64位元的版本,不再有32位元的OS了
故建議在開發階段時,設定 properties/build/platform target為"Any CPU"


4. Networking:網路架構
TCP/IP stack幾乎完全重新設計

目前暫時的解決方法是更新networking APIs

5. Windows Resource Protection(WRP):資源保護機制
WRP是保護系統重要檔案、資料夾和登錄碼的機制
只允許系統更新受保護的資源
未經授權是無法順利安裝和修改這些資源的
例如Windows-based的可執行檔.acm, .ade, .asp, .aspx等
以及像HKEY_CLASSES_ROOT\Interface\{GUID}等登錄碼
和$(runtime.bootDrive)\inetpub\uddi\webroot\details\
暫時的解決方法(非最佳解法)是Data Redirction(重導向)
當有安裝和設定要寫入C:\、C:\Windows、C:\Program Files、C:\ProgramData和登錄碼HKLM\Software時
自動重導向到C:\Users和登錄碼的HKCU中
但64 bit不支援此功能


6. MS GINA:Graphical Identification and Authentication
GINA已重新建構,故影響生物特徵辨識裝置、客製化的Windows XP VPN解決方案和Smart Card讀卡機
暫時的解決方法僅能
更新程式支援新的Winlogon架構


7. Service Isolation:服務獨立(隔離)
Windows 7之前,開機後Service和第一個登入的使用者是共用session 1
但為了安全性考量,Windows 7開始將service獨立於session 0中,不和使用者session共存
導致部份需要service和使用者直接溝通的程式會產生問題
解決方法是使用WTSSendMessage function建立一個簡單的對話框於使用者桌面上
或是使用CreateProcessAsUser function在使用者的session建立process


8. Miscellaneous Topics:新的資料夾和libraries位置等
因為部份
資料夾和libraries位置改變,可能導致程式安裝或運行錯誤
例如預設
使用者資料夾位置變更為C:\users\%username%\
以及使用GetFolder( )或GetFilename( )卻錯取為檔案和資料夾
故建議儘量使用環境變數,勿將路徑寫死
並使用GetResult( )


9. Depreciated Technologies:移除的元件和程式
若安裝和運行程式需要用到已被移除的元件時,當然就會失敗
在Windows 7中被移除的元件有Front Page Server Extensions、POP3 Server、Outlook Express、Services for Macintosh、D3DRM
且將Vista中的Windows Mail、Address Book、Calendar、Photo Gallery、Movie Maker、Microsoft Agent整合到Windows Live中

 

最後提供一個非常方便的問題反映工具
在Windows 7只要按"開始" 輸入psr後Enter下去
(實體位置在%windir%\system32\psr.exe)
就會開啟Problem Step Recorder這個工具

你可以自己錄製你發現的問題操作步驟
存檔後,它會自動幫你製作成step by step的MHT檔案並壓縮為ZIP檔
方便你寄送給微軟以供未來修正
最重要的是psr可以用來製作操作流程或手冊
雖然這不是它原本的用意
但真的是挺方便的哩!


從諮商輔導人心
到諮商輔導資訊系統及網路世界
雖繞了一大圈 但都是極具意義的事
秉持著過去所學 朝著自己的興趣
體驗著一輩子只有一次的人生~~