dotNET 程式奔向Window XP,體驗絢麗的外表? (轉)

gugu99發表於2008-03-07
dotNET 程式奔向Window XP,體驗絢麗的外表? (轉)[@more@]

奔向Window XP,體驗絢麗的外表?

:namespace prefix = o ns = "urn:schemas--com::office" />

小氣的神 2001-09-16

我的朋友中終於有忍不住開始 XP了,感覺是被華麗的介面誘惑。好像最近網上流傳的一個Windows 2600的版本十分穩定而且不用啟用(所以安裝的人漸漸又多起來了haha)。由於要幫他安裝一些外設,我也才可以做這樣的實驗,開始考慮將自己原來的一些dotNET程式向XP上遷移,特別是一些的程式,因為我想自己的程式也可以利用XP的華麗UI。

 

有關XP的版本有很多說法,有的說已經預裝了dotNet Beta2,有的說沒有裝,我想這主要是dotnet執行庫沒有Release前所必須考慮的,從Beta1到Beta2的變化就很大,這樣對於操作的穩定性一定是有直接影響的。(這點也可以粉碎了一些人對和dotnet之間的遐想,他們總認為XP的某一部分是用dotnet寫的) 事實上,我手上的這個零售版的也沒有安裝Framework Beta2執行庫,當我把程式直接Copy過去時,是不能執行的。至於這個執行庫有兩種辦法可以來解決(當然應該有無數種方法):

1.  在你的.NET Beta2 的的那張CD中有一個dotNetFramework目錄裡面有一個Setup.exe(17.3M)的,去XP下執行,然後再執行你的dotNET程式就可以了。

2.  大型或複雜一點的程式,你可以使用VS.NET 帶的Setup and deployment功能來完全的做一個Setup程式來完成這個工作。具體的你可以:

1.  開啟你要部署的dotnet程式.

2.  File->New-Project... 在開啟的New Project對話方塊中

3.  左邊選中Setup and Deployment Project 右邊一欄選中 Setup Wizard 注意下面的路徑和選項,選中加入目前你的專案中,而不是關閉。

4.  然後會有一個Wizard 出現從1 To 5 完後新的Project自動加入你的Sln中。(如果不是選擇 Setup Wizard而選擇 Setup Project那麼可以在VS.NET右邊的Sln Explorer View中點選 Project 然後在樹狀View中的Application Folder 右鍵選 Add Project Output...這樣會彈出一個對話方塊中選Primary Output和Localized Re兩項表明你需要打包你的執行檔案和一些資原始檔)

5.  OK後重新編譯你所有的Project 你可以在你Setup Project的De或Release輸出目錄中發現一個MSI檔案。去XP中安裝就可以了。

 

老實說第二種方法很破,抽取了幾乎整個dotNET的執行庫檔案,所以尺寸奇大,一般都是15M以上。當然除此之外你還可以安裝Framework Beta2 SDK或VS.NET 等方法來使XP帶有DotNET的執行庫。

之後我開始一些有意思的實驗,將自己的WinForm程式帶上XP的樣子。前幾天我在CSDN上看到有人講述VC環境下如何適應XP的環境。我想DotNET也是可以的,甚至VB的程式也可以。總的感覺還可以,幾乎說是很順利。我要感謝。因為我是參照下面這篇文章來完成的。

orms/Themes.x">

 

上面有具體的步驟和一些說明,我說一些具體的步驟吧:

 

1.  把你的WinForm中所有有FlatStyle屬性的的值都設定成 System ,沒有的就算了。

2.  編譯你的程式成EXE檔案

3.  如果你XP已有dotNET的執行庫,copy你的EXE程式去XP中任一地方。

4.  準備一個和你執行檔案相同的Manifest檔案和你的EXE檔案在一起, 這個檔案那裡都有, 內容也都幾乎一樣,主要是它的檔名一定要是”你的執行程式名.Manifest”,比如我的程式是ToXP.EXE,那麼這個檔案一定要起名為:Win2KToXP.EXE.manifest (這個Manifest檔案網站上有一個樣本,後面我附帶了一個我測試過的給大家,直接用網站上的那個好像有問題。)

5.  這篇文章還介紹了一種你可以將這個Manifest直接嵌入到EXE的方法,我也測試過OK的。(你可以在生成EXE來做這一步,修改時引入的型別別寫錯是:RT_MANIFEST,然後把資源型別從101改成1,儲存搞掂。感覺這是一種不錯的設計,當你決定自己的程式要在XP下執行了再做這一步,不過前提要保證你在第四步的方式中是成功的,不然修改完EXE後會導致整個程式不能執行)

總之這是一種很有趣的體驗,如果你有相同的環境你可以試一下。

我在 ADV Server SP2 EN , VS.NET SP2 EN 完成自己的dotNET程式並且編譯成EXE。確保XP已有執行庫的情況下直接copy EXE檔案去XP環境執行就可以了。

下面是螢幕的拷圖:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

下面是Manifest的檔案清單:

 

  version="1.0.0.0"

  processorArchitecture="X86"

  name="Win2KToXP.EXE"

  type=""

/>

ccBoy

 

 

  type="win32"

  name="Microsoft.Windows.Common-Controls" version="6.0.0.0"

  language="*"

  processorArchitecture="*"

  publicKeyToken="6595b64144ccf1df"

   />

 

 


特別:

以上文字涉及其他人的和個人權利,如非被授權或經本人同意,任何網站或期刊請不要刊登、轉載、轉貼或已其他形式進行傳播。以上所有文字或圖片只用於內部交流,不作任何新聞發表和商業用途。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1000518/,如需轉載,請註明出處,否則將追究法律責任。

相關文章