星期三, 9月 03, 2008

[舊文整理][教學]U3平台軟體製作~

前言:
U3是在可攜帶式儲存媒體中可執行應用程式的一個啟動程式管理介面,目前支援的隨身碟廠商中有Sandisk、Kingston等等......,我是買Sandisk Micrso 2G白色塑膠殼,質感還
不錯,聽說有鈦合金2G的,下面這段影片中老兄還用一般隨身碟跟鈦合金2G用車子來實驗壓壓看,相當有趣。

http://video.google.com/videoplay?docid=-649321726399031633&sourceid=docidfeed&hl=undefined

目前U3平台(應該還稱不上啦!只是簡單的啟動程式管理)只內建在隨身碟當中,而製作U3軟體的廠商也不是很多,所以興起了瞭解的念頭。

這裡有些U3軟體已經製作好,可以DOWNLOAD。

http://software.u3.com

u3p其實是一個zip壓縮檔,更名成zip副檔名後用WinRAR開啟後會依據程式不同發現如下目錄結構,

data/
device/
Host/
manifest/

其中Host/是程式執行檔所在的位置並放置相關的dll檔案,manifest/目錄裡有兩個檔案,manifest.u3i跟xxxxxx.ico,manifest.u3i是用xml語法來描述程式版本,廠商、執行路徑等等......,xxxxxx.ico是出現在u3選單裡的圖示,

一個manifest.u3i範例


以下說明幾個標籤意義,略過沒提有興趣的,請自行尋找相關資料。
uuid是一組用來識別特定事物的16進位號碼,通常是用Microsoft的GUID來實作,這組號碼是唯一的,是用來代表程式。在manifest\目錄放好icon檔,標籤指定好該程式的icon檔名,u3選單會自己抓到路徑並顯示圖示。

標籤說明軟體廠商,url是其內可設定的屬性值,標籤則是敘述說明,可填可不填。最重要的標籤是裡面的子元素標籤,是用來說明程式執行的所在路徑,這裡一定要對,否則程式就不能執行,則是當按下隨身碟u3選單裡的"Eject"時,u3會結束還在執行中的程式,以便安全地退出。

PS:但有些自己製作的軟體,可能不能完全退出,會產生錯誤訊息。

u3p程式安裝完後的會將data/再產生一份並copy至壓縮檔外,目的是用來將一些會修改到的檔案,如ini等能夠儲存。

device/的作用目前我只知可以放hlp,chm等文件檔。

data/跟device/因還需在manifest.u3i中輸入另外語法,才能讓程式找到相關檔案位置,所以如果為了方便的話,全部檔案copy到Host/也可以。不過這樣只是力求可以執行,許多情況還沒有考慮到。

示範PieTTY封裝成u3p檔案
01. http://www.eure.ca/
請Download PackageFactory,如圖所示,該軟體作用為封裝成U3P格式,屬於非官方的程式故未對封裝後的U3P做最佳化,但已屬堪用地步,安裝很簡單,點兩下開始安裝,按next即可,相信應該不用教這個吧!


02. 按兩下執行PackageFactory,然後按 Drop EXE Here or Click to Add。


03. 尋找PieTTY執行檔位置。


04. 按Advanced Mode...。


05. 點Host Folder,再點Add File...。


06. 按Shift將剩餘的檔案選起來。


07. 按Wizard Mode...。


08. 按中間大大的"Create!"按鈕。


09. 選擇檔案的儲存位置。


u3p安裝步驟

01. 請按照如圖步驟。


02. 找到PieTTY.u3p檔案位置。


03. 按Next。


04. 安裝完成後,按Done。


05. 執行看看。


06. 可以執行。


後記:
如果打開packagefactory封裝的PieTTY.u3p,你會發現執行檔等檔通通都放在Data/底下,然後檢查安裝後的容量,你會發現多了一倍,這時你應該知道原因吧!因為PieTTY.u3p壓縮檔內的data/又被Copy出來一次。如何解決?將u3p副檔名更名成zip,然後將所有檔案通通Copy到Host/下,接著將內的App_Data_Path屬性換成HOST_EXEC_PATH,再更名回u3p副檔名。

這裡有很多關於可攜式軟體的資訊
http://www.pczone.com.tw/vbb3/showthread.php?t=126587


沒有留言:

張貼留言