多年來,Windows 9x的用戶一直不愿意升級到Windows NT,但在推出Windows XP前后,微軟公司停止了對Windows 95的支持。業界內部人士猜測,下一個被微軟公司放棄的可能就是對Windows NT 4.0的支持了。事實上,對于仍然想使用較老版本操作系統的用戶而言,他們的選擇已經很少了。
人們不愿意升級的原因有二個:巨大的硬件需求和與不是專為Windows NT開發的應用程序較差的兼容性。硬件已經不再是個問題,目前,即使是低端系統的硬件也足以運行Windows XP。但軟件兼容性呢?盡管從表面上看,Windows XP是Windows家族中兼容性最差的Windows版本,它也包含了一些特殊的工具,在兼容性方面使用戶有了比以往更多的選擇。這些工具,有些是顯性的,有些是隱性的,使我們能夠對環境進行調整,更適合舊的應用軟件運行。
運行DOS程序
DOS程序是最古老的了。由于微軟公司已經從Windows XP中刪除了“DOS兼容模式”,讀者可能認為它也放棄了對DOS程序的支持。事實上,Windows XP中的新選項使得運行DOS程序更簡單了。
右擊DOS程序,在彈出式菜單上選擇“屬性”,“屬性”對話框中的許多標簽是相似的,但“兼容性”標簽是全新的。這個標簽能夠讓我們把程序設置為在256色、640X480分辯率的情況下運行。我們還能夠禁止Windows XP強加給程序的缺省的視覺主題。
還有一些不太直觀但功能更強大的工具。在DOS中,我們能夠通過修改Config.sys和Autoexec.bat文件仔細地調整程序的環境。在有些情況下,我們需要針對一種程序的特殊的配置重新啟動系統,然后再使用正常的配置運行其他程序。Windows XP能夠使我們為每個DOS程序定義一個有針對性的Config.sys和Autoexec.bat。
下面是如何設置的具體方法。首先,將C:WindowsSystem32Config.nt和C:Windows System32Autoexec.nt拷貝到DOS程序所在的目錄,然后根據我們的需求對它們進行編輯,并保存為一個新文件名。彈出DOS程序的“屬性”對話框,移到“程序”標簽,點擊“高級”按鈕。
輸入為該程序創建的Config和Autoexec文件名,Windows XP將在該程序定制的環境中運行它。這一對話框還能夠降低DOS程序的運行速度,如果不使用這種方法,在配置50MHz芯片的系統運行得很好的應用程序可能就不能在配置850MHz芯片的系統上運行。
不是專為XP設計的Windows程序
較早版本的Windows程序之所以不能在Windows XP上運行的原因有三個:它們會查詢特定的Windows版本號、期望較早版本的Windows API調用返回的結果、它們期望的用戶文件夾在不同的位置或格式不同。這些問題可以通過將Windows程序設置為在兼容模式下運行得到解決。
右擊Windows程序,選擇“屬性”菜單項。如果點擊“兼容性”標簽,就會出現一個使我們能夠設置最適合該程序運行的操作系統的下拉列表,點擊“兼容性模式”方框,選擇操作系統。使用這一模式會激活一系列 項,使Windows XP能夠模擬較早版本的Windows。
如果不能確定程序需要使用哪種版本的Windows,或者程序還有其他兼容性問題,我們該怎么辦?在Windows XP的光盤中還隱藏著一個強大的工具,有助于我們仔細調節程序的運行環節。
應用程序兼容工具包
Windows XP光盤中的SupportTools目錄中,有一個“應用程序兼容性工具”(ACT)。今年4月份,微軟公司又推出了升級版本(2.5版),用戶可以從www.microsoft.com/windows/appexperience下載。ACT中包括4個改進程序兼容性的工具。
Application Verifier和PageHeap這二款工具是面向軟件開發人員的,軟件開發人員可以與調試程序一塊兒配套使用它們,對在Windows XP中運行可能引起問題的部份進行測試。但另外二個軟件:QFixApp和Compatibility Administrator有助于調整程序的運行環境,使較早的應用程序能夠順利運行。
QFixApp能夠使我們對特定的應用程序進行許多低級調整。在這里我們不對199個可供應用的調整項進行詳細的討論,下面我們將討論一些發現能夠使程序順利運行的特定的調整項。
打開QFixApp,選擇要進行調整的程序。點擊“層”標簽,選擇一個層。QFixApp中的層對應著前面在程序的“屬性”對話框中的兼容性,選擇一個層,例如Win95,然后選擇“調整”。我們能夠看到Win95兼容性模式是預定義的54個調整項(圖1),但根據是否安裝了最新的調整項,這一數字可能有變化。
在這里,我們可以添加或刪除一些調整項。例如,如果應用程序改變了屏幕的顯示模式,在程序退出時系統仍然還處于該狀態,向下滾動下拉列表并嘗試ForceTemporaryModeChange。當選擇一個調整項時,其功能的描述會出現在下面的面板中,點擊“運行”按鈕可以測試這些變化對程序的影響。當關閉QFixApp時,對環境的變化將會存儲在可執行文件中。當然,我們可以根據自己的需求選擇或放棄調整選項。
瀏覽預定義的調整項
我們無需通過多次試驗查找調整項,微軟公司提供了許多調整項,我們可以對這些調整項進行瀏覽。
打開Compatibility Administrator工具(圖2),擴展“系統數據庫 應用程序”,調整程序運行環境的第一步是在數據庫中發現一個相似的程序。例如,我們要調整102 Dalmatians系列中的程序,從該系列中選擇一個微軟公司已經調整好的程序,再參考QFixApp,我們會發現,EmulateHeap和EmulateMissingEXE二個調整項已經包含在Win95兼容模式中,但IgnoreAltTab調整項沒有,我們就可以在QFixApp中選擇該調整項,運行程序
需要注意的是,Windows XP既為應用程序的設置程序也為程序本身提供了預定義的調整項,我們可以將與一個程序相關的調整項組合到一個包中。
在需要支持以前的程序的企業IT部門,Compatibility Administrator就變得更重要了。一旦已經決定需要使用哪些調整項,點擊“新”按鈕,就會在“定制數據庫”項下建立一個新的數據庫。選中新建的數據庫后,點擊“調整”按鈕打開一個向導,指導我們為該數據庫建立一套程序調整項集。根據提示選擇一個兼容模式,并設置在運行QFixApp測試時確定的需要的其他調整項,最后,將與該程序相關的文件組合在一起。當點擊“自動生成”按鈕時,Windows XP會為我們自動尋找這些文件。使用“文件 保存”,將定制數據庫保存到一個能夠傳送給其他計算機的SDB文件中。
如果有許多以前的程序需要相似的調整項集,我們可以在定制數據庫中創建一種新的兼容模式。高亮度顯示該數據庫后,點擊“模式”按鈕,我們可以將該模式命名為Legacy,當選擇該模式時,相關的調整項集合主會被選中。一旦數據庫被保存和安裝后,我們就可以通過簡單地選擇Legacy兼容模式,對新的程序使用該模式中所有的調整項。要將該模式添加到其他系統上,可以將SDB文件拷貝到其他計算機上,并運行Sdbinst.exe進行安裝。
Windows NT平臺素有不能很好地運行老應用程序的惡名,但通過Windows XP中提供的新工具,我們就能夠更好地運行以前的應用程序。