close

最近由於工作的關係 必須讓程式能在XP HOME版本上執行

因元件缺少或.NET Framework或系統設定的不同 還吃了不少苦頭

花了一點時間解決後,程式已能順利運作。

將問題點與解法分述如下:

1.  問題:taskkill.exe 不存在 調用時會發生錯誤 

     說明:在windows/system32/下有許多工具 其中將程式關閉的工具taskkill.exe 在Home版中不存在

     解法:將其它XP 專業版的 taskkill.exe 複製一份到該電腦下   ~解決~

2.  問題:程式使用域名,該電腦無法解析域名 (

     說明:XP Home版是無法加網域的,導至在使用域名解析DNS時無法解析域名 

              域名就是網站的英文名字 對應 IP (例如:www.pig.com  116.32.4.113)

              這台電腦沒辦法認得www.pig.com 就是 116.32.4.113 當然就連不到囉!

     解法:在C:\Windows\system32\drivers\etc 下面有一個 host 檔案

              用筆記本打開後 打入 www.pig.com  116.32.4.113 存檔 就可以囉!(這裡就是DNS本機對照區)

3.  問題:.NET Framework太舊

     說明:微軟windows的程式 大多使用微軟在.net framework裡面寫好的功能為基礎,

              在開發程式時使用.net 2.0的功能,但該電腦只有.net 1.1 所以跑程式會發生 功能在那裡?的問題

     解法:就是上微軟下載~安裝~ 就解決了

4.  問題:莫名的錯誤

     說明:經除錯發現,程式在XP HOME版裡 做一些動作時,被信任的程式較低,導至都會報錯而關閉。

     解法:*重要* 在class前加上

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]

               意思就是~完全相信我吧"FullTrust"~解決~

結論:基本上上面的動作完成後,問題就解決了。

         整體來說,微軟向前兼容性真的不是很好,像word 2003 跟 2007 就有這樣的感覺

         另外補充一個好用的東西給需要的人:

@ 欺騙系統 將 XP HOME 改為 XP Professional 請follow下面:

    1. 輸入 regedit.exe 開啟註冊表 

    2. 在HLM/SYSTEM/Controlset002/Control/ProductOp 下

    3. delete ProduteSute

    4. add Brand (Dword值) 給值 0 

    5. 重開機按 F8 -> 還原之前版本

以上邏輯就是 欺騙系統讓重開機時執行備份的鍵值 而讓系統誤認為自已是XP Professional 

這招主要是用在加入網域(公司),只要誤認後就能加網域 ( 功能本來就有,只是Home不顯示 )

前題:該電腦不適合重灌者。(如果能重灌就重灌吧!)

arrow
arrow

    小新 發表在 痞客邦 留言(0) 人氣()