這次講的就簡(jiǎn)短了,launch4j比jsmooth強(qiáng)多了,但也不是我們的研究重點(diǎn),我主要用它來(lái)生成exe,再用izpack或installjammer打包。
launch4j也是開(kāi)源軟件,所以可以上http://sourceforge.net下載。安裝好后,把C:"Program Files下你安裝jdk的java文件名改了,再打開(kāi)launch4j發(fā)現(xiàn)打不開(kāi),證明這個(gè)軟件是依賴java環(huán)境的,它本身包打得很小。改回java文件夾的名字,再打開(kāi),發(fā)現(xiàn)啟動(dòng)界面很漂亮,你的軟件也有望成這樣了。上次有一點(diǎn)沒(méi)講清楚,jsmooth加jre路徑那就是告訴jsmooth用此jre的jvm(大家都知道class的運(yùn)行靠的就是jvm),而不用再搜尋jdk等中的jvm。Jsmooth中一欄是jvm查找順序就是在不自己帶上jre的情況下搜尋客戶機(jī)的jvm的策略。這兒同樣要jre進(jìn)行同樣的動(dòng)作。好,現(xiàn)在就讓我們來(lái)生成一個(gè)不依賴客戶機(jī)java環(huán)境的exe。
前提準(zhǔn)備:
把jdk中的jre復(fù)制到你要打包的文件夾(我的是Java2D)下,要打包的jar,這兒用jdk中demo中的Java2Demo.jar,一張bmp圖片j2d.bmp,一個(gè)ico文件,如圖

你需要填寫的也很少。
1. 在basic里jar一欄找到你的jar,安照同路徑給你的exe起名字。在Icon一欄找到你的ico

2.在jre一欄寫上./jre表示當(dāng)前路徑(launch4j聰明多了,記住你的路徑)

3.在Splash一欄的Enable splash screen 打上勾,下面選出你的bmp,估計(jì)你軟件的啟動(dòng)時(shí)間,然后填上比這個(gè)時(shí)間大的時(shí)間。如下為5。這個(gè)bmp就是你的啟動(dòng)畫面

可以生成了(其實(shí)你可以不填bmp,ico就生成,軟件可還貼心)。點(diǎn)擊工具欄的齒輪圖就生成了。結(jié)果如圖

多了一個(gè)exe就是你所需。點(diǎn)擊就看到啟動(dòng)畫面,如下

下次講izpack。開(kāi)始比較有意思了。
在這之前已經(jīng)有很多人講過(guò)怎么用JSmooth了,如BeanSoft還貼了自己的視頻,網(wǎng)址是: http://download.gro.clinux.org/beansoft/JSmooth_zh_CN.swf 大家記得去參考,做的挺好的。
寫這篇文章一是為了完整性,再一個(gè)一步一步過(guò)來(lái)比較自然,先學(xué)會(huì)簡(jiǎn)單易用的,思維也容易清晰。很多的文章也免不了千篇一例,過(guò)來(lái)看看我的見(jiàn)解還是值得的,呵呵。
其實(shí)這款小軟件真是一堆一堆的漏洞,但還是勉強(qiáng)可用,作為開(kāi)源打包的入門軟件。通常都用JSmooth 0.9.9-7版本的,看看下面的圖

是我們的beansoft翻譯的,上次說(shuō)過(guò)了,有問(wèn)題可要請(qǐng)教他呀。
先別急著動(dòng)手,先說(shuō)學(xué)完咱們可以做啥,一個(gè)是你可以生成一個(gè)有exe殼的jar應(yīng)用程序,其實(shí)就是在你的包里多了一個(gè)exe文件,其他的依舊在,不要以為拿著你的exe就出去用了,脫離了你的這個(gè)jar,你的這個(gè)文件結(jié)構(gòu)就玩完了,甚至脫離了你本地機(jī)的java環(huán)境就沒(méi)戲了。你不能要求客戶都安裝jdk吧,人家不想搞研發(fā)。別灰心,看完本文你就知道怎么脫離java環(huán)境了(只是脫離本地機(jī)java環(huán)境哦,不是脫離你的那個(gè)包結(jié)構(gòu),還沒(méi)那么智能的)。雖然是很簡(jiǎn)單,可當(dāng)初我也是不了解。幾個(gè)人硬沒(méi)弄出一個(gè)脫離java環(huán)境的,加上小軟件經(jīng)不起蹂躪,然后不得不怪軟件是中文版的,還動(dòng)手用c來(lái)生成exe調(diào)用巨大的jdk,然后脫離本地機(jī)java。轉(zhuǎn)了一圈回來(lái)才理解了怎么回事。之所以說(shuō)它經(jīng)不起蹂躪就是你不要對(duì)著上面的按鈕嘩啦嘩啦的點(diǎn),一不小心,它不反應(yīng)了,你的從新打開(kāi),次數(shù)開(kāi)多了,說(shuō)不定每次都不讓你看某些界面。除非你重啟。或者正常的某個(gè)功能就是不理你了,或者生成的時(shí)候忘了敲上exe而不得不從來(lái)。所以蹂躪對(duì)軟件和你都沒(méi)好長(zhǎng)。
下面分兩部分,一部分教你用最簡(jiǎn)單的方式打出exe,體會(huì)一下成功的快樂(lè)。一部分教你加上jre脫離本地機(jī)java。
前提,你有java環(huán)境(安裝了jdk)
最簡(jiǎn)單的exe打包
其實(shí)最簡(jiǎn)單的打包只要寫三個(gè)地方就可以打了,而你可以對(duì)著一個(gè)jar文件就打成你的exe,有一點(diǎn)就是你要知道jar里的主類是誰(shuí),不知道這個(gè)概念就問(wèn)問(wèn)別人。那么開(kāi)始吧,講的算細(xì)了。
打開(kāi)綠色軟件中的jsmoothgen.exe就開(kāi)始了。這里以打Java2Demo.jar為例(在jdk的demo里有,我就不提供了),
1. 點(diǎn)擊 骨架,選擇Windowed Wrapper (表示打的是windows下的,左邊欄從上到下就一打包流程,很多都沒(méi)用上,也沒(méi)細(xì)究。移動(dòng)鼠標(biāo)到“?”,人家告訴你該做什么。別太興奮。)

2.點(diǎn)擊 可執(zhí)行文件,點(diǎn)擊紅線處的按鈕找到你的jar文件,記得換后綴為exe,如圖

3. 點(diǎn)擊 應(yīng)用程序,點(diǎn)擊classpash 那一欄右邊的加號(hào),把你的jar加進(jìn)去,然后點(diǎn)擊紅線處,彈出的框中只有一個(gè)文件夾,雙擊打開(kāi),直到找到你的主類為止,點(diǎn)擊 select 確定,如下兩幅圖所示


開(kāi)始生成吧,點(diǎn)擊工具欄里的小齒輪,彈出對(duì)話框,路徑就選在你打包的文件下(好像是必須的),寫上名稱,如圖,確定即可在你的包里看到這個(gè)exe。

打開(kāi)E:"Java2D看到

其中j2d.jsmooth是jsmooth生成的配置文件,Java2Demo.exe即你要的,點(diǎn)擊試試,看能不能用,然后把exe剪切到其他地方看能不能用,放回來(lái),把C:"Program Files下的java文件夾改名字(注意把用到java虛擬機(jī)的軟件都關(guān)了),看exe還能不能用。(別忘了改回來(lái)。)
結(jié)果清楚了exe不能和jar分離了,也不能離開(kāi)jvm環(huán)境,下面我們就讓他脫離本機(jī)java環(huán)境。這樣的exe可以為我們進(jìn)一步的打包奠定基礎(chǔ),所有它是有用的。
準(zhǔn)備條件:把你jdk下的jre考到和jar同一個(gè)目錄,要圖標(biāo)就找好一個(gè)“.ico”的文件三個(gè)放同一文件夾下
下面開(kāi)始:
1. 和剛才一樣,點(diǎn)擊 骨架,選擇Windowed Wrapper。
2. 點(diǎn)擊 可執(zhí)行文件,找到你的jar文件,記得換后綴為exe,同樣找到包里準(zhǔn)備好的ico文件如下圖
這就看到一個(gè)bug了,我選的ico它顯示為另外一個(gè)以前同名的ico,即使我改了它的名,其實(shí)還有另一點(diǎn)令人不舒服的,就是每次點(diǎn)擊找路徑都從頭找,它不幫你記下。另外注意一點(diǎn)我一來(lái)點(diǎn)了保存,把j2d.exe.jsmooth存到了e:"java2D下,所以你看到的路徑很短,

3.和剛才一樣找到jar放到classpath里,然后找到主類,(注意順序性)

4.點(diǎn)擊 jvm選項(xiàng) ,在jvm捆綁包那選上復(fù)選框,點(diǎn)紅線處找到jre路徑并確定。如圖

選擇了jre
5.開(kāi)始生成吧,點(diǎn)擊工具欄里的小齒輪,彈出對(duì)話框,路徑就選在你打包的文件下,寫上名稱,如圖,

確定生成
exe是你要的,這里要抱歉一下,它的bug所致,ico用的不是我當(dāng)前的ico,但也沒(méi)什么影響。J2d.bmp什么的是不必要的,下一節(jié)才用上,點(diǎn)擊exe看,把C:"Program Files下的java文件夾改名字再試一次,噢,可以了,呵呵。Jsmooth 的其他選項(xiàng)就考各位補(bǔ)充了,俺不太明白了,謝謝各位。下次講launch4j打包。
上次講了InstallSheild用asistant的方式,你跟著弄就打處一個(gè)包來(lái)了,驗(yàn)證一下是否符合你的設(shè)置,就是安裝一下看看。這就不多說(shuō)了。
上次的解說(shuō)你可能已經(jīng)迫不及待要看看Installation Designer的方式。別急。
很多時(shí)候我們只需要照著一個(gè)簡(jiǎn)單的示例做一次成功,就能體會(huì)到達(dá)成一間事的最簡(jiǎn)單方式。所以這次改一下結(jié)構(gòu),講解和操作分離,凡是操作的部分都寫成 “xx操作:”后面跟上本示例操作,xx表示步數(shù),其實(shí)有的步是不必要的。你要親自動(dòng)手看有此標(biāo)簽的部分就行。有多余的需求和想了解在看具體講解。用標(biāo)簽 “講解:”表示具體講解。
下面開(kāi)始
1操作:打開(kāi)InstallShield x 又看到起始頁(yè),如下圖:
講解:要是沒(méi)有,你就新建一個(gè)。要?jiǎng)h除項(xiàng)目,通常是關(guān)閉InstallShield x,然后到ism所在的文件夾刪除整個(gè)文件夾就行。

2操作:點(diǎn)擊TTPlay.ism打開(kāi)上次建的項(xiàng)目,如下圖:
講解:看到如下圖,如果看到的不是,你就點(diǎn)一下標(biāo)簽頁(yè)Installation Designer,看到這個(gè)界面,我們應(yīng)該很高興,面熟呀,這不和vc6.0的和相似么。其實(shí)用法、語(yǔ)法也很相似,紅線圈住的部分是下一步操作的

3操作:點(diǎn)擊上圖左邊樹狀目錄中紅圈中的部分,看到如下圖:
講解:左邊的目錄也是九個(gè),對(duì)應(yīng)項(xiàng)目助手的九個(gè)步驟

4操作:右擊中間目錄中的,看到如下圖:再點(diǎn)擊Make default,那么默認(rèn)就是中文了。
講解:紅勾就到了Chiness選項(xiàng),上次的問(wèn)題就解決了,再次安裝是看到的就是中文了,不信可以點(diǎn)擊編譯、鏈接,執(zhí)行試試,和vc一樣,這兩個(gè)圖中都有,自己試試。
點(diǎn)擊Project Properties,可以看到,保存配置的方式是xml,其他信息都是默認(rèn)配置或你在工程助手那填寫的。

所有東西到要安裝,不需客戶選擇,那么可以如下操作
5操作:點(diǎn)擊左邊目錄的Setup Types ,看到中間目錄,右擊Complete選項(xiàng),點(diǎn)擊Remove刪除
講解:你說(shuō)為什么不刪除Custom因?yàn)?/span>Custom里才可以讓客戶選擇安裝路徑。

6操作:點(diǎn)擊左邊目錄的Files and Folders,展開(kāi)中間部分下邊欄中的Application Target Folder目錄看到如下圖
講解:Destination computer’s folders欄里的各目錄在同上節(jié)添加文件是所看到的彈出目錄含義相同,參看上節(jié),在這兒你可以展開(kāi)source computer’s folders中我的電腦,直到找到你要打包的文件夾,拖到下邊欄中的Application Target Folder目錄就行,也是比較浪費(fèi)時(shí)間(他要搜索你的整個(gè)結(jié)構(gòu)進(jìn)去),和使用工程助手添加文件夾的效果相同,但顯然這樣感覺(jué)更方便,尤其是有多個(gè)文件夾并列時(shí)(很多時(shí)候你不想要很深的目錄,公司名文件夾下、軟件名文件夾才到你拖進(jìn)來(lái)的文件夾,可能你的好幾個(gè)文件夾都只想做公司名文件夾下的子文件夾,那么想上次講的你可以不寫軟件名,然后再這多次拖動(dòng)并列的這幾個(gè)文件夾。)。在具體的,有少量文件變動(dòng)你可以點(diǎn)擊有文件變動(dòng)的文件夾,在最右邊上面的文件拖到下面的相應(yīng)位置。變動(dòng)比較大,建議你就吧下邊欄中Application Target Folder里的文件目錄都刪掉再重新拖進(jìn)去

7操作:點(diǎn)擊Shortcuts 展開(kāi)中間欄的ttplay目錄,展開(kāi)中間欄的Desktop目錄并點(diǎn)擊TTPlayer.exe1看到如下圖(這一步可以省去,只是看一眼就行,謹(jǐn)慎行事就在看講解)。
講解:沒(méi)有的話,你就自己在這兒建,相信你會(huì)需要這樣建而且也很方便,沒(méi)有快捷方式的話,可能你看到的只有Programs Menu 那么你就右擊Programs Menu點(diǎn)New Folder新建文件夾(就是在開(kāi)始菜單中的文件夾,一個(gè)文件夾中有可若干個(gè)選項(xiàng)調(diào)用不同的exe),然后對(duì)文件夾起名字(最好用你的公司名,要是改名,按F2就行了)然后右鍵點(diǎn)擊這個(gè)剛建的文件夾,點(diǎn)擊New Shortcut 新建你的快捷方式并起上名(也是彈出一個(gè)框,你找到你的exe,但名字是要自己給的)。要注意的就是起好名字后點(diǎn)擊這個(gè)快捷方式,在最右邊的wording Directory填上你的工作目錄,要不產(chǎn)生的快捷方式找不到你的exe,如果是Desktop就填上<DesktopFolder>,如果是Start Manu就復(fù)制Target中的目錄不到xxx.exe,而是它的上層目錄。如<TARGETDIR>"TTPlayer"TTPlayer.exe就只復(fù)制<TARGETDIR>"TTPlayer貼到Working Directory,把Display name改為你的軟件名,這個(gè)名字將顯示在快捷方式里,如這兒改成TTPlayer

8操作:點(diǎn)擊Registry,如下圖(只一步也可省去)
講解:和Files and Folders一樣,中間一欄上面是本機(jī)的,下面是對(duì)應(yīng)的,要注冊(cè)什么在本機(jī)上新建了,拖到下面就行了,也都點(diǎn)右鍵新建同名文件夾直到最下層,拖動(dòng)你剛建的名值對(duì)就完了。

講解:Server Configuration中的兩項(xiàng)是iis和SQL Server2000,我們都不用,也都很簡(jiǎn)單。跳過(guò)。
9操作:點(diǎn)擊InstallScript 看到如下圖

講解:這是重點(diǎn),這里可以添加代碼來(lái)修改環(huán)境變量、添加驗(yàn)證、添加調(diào)用等。這兒只會(huì)講到添加環(huán)境變量,添加調(diào)用會(huì)在講開(kāi)源軟件是講。具體語(yǔ)法講解只有InstallSheild 5的,從哪個(gè)網(wǎng)站下,忘了,剛搜了一下,感覺(jué)這個(gè)網(wǎng)站應(yīng)該能下:http://cio.ccw.com.cn/qtzl/htm2008/20081018_523911.shtml 不行你就到google 輸入 “installshield 丁有和”。
復(fù)制其中的部分代碼如下:
Dlg_Start:
nResult = 0;
Dlg_SdWelcome:
szTitle = "";
szMsg = "";
//{{IS_SCRIPT_TAG(Dlg_SdWelcome)
nResult = SdWelcome( szTitle, szMsg );
//}}IS_SCRIPT_TAG(Dlg_SdWelcome)
if (nResult = BACK) goto Dlg_Start;
Dlg_SdLicense2:
很顯示它的語(yǔ)法挺簡(jiǎn)單,大致你也能猜到,這兒是三個(gè)對(duì)話框,都是用標(biāo)簽的方式,說(shuō)明我們要跳來(lái)跳去,不錯(cuò),if (nResult = BACK) goto Dlg_Start;就是通過(guò)一個(gè)判斷調(diào)回上一個(gè)對(duì)話框。Dlg_Start即開(kāi)始對(duì)話框,Dlg_SdWelcome即歡迎對(duì)話框。nResult,szTitle等都是變量,并非弱類型的變量,前邊有定義。
廢話不多說(shuō),我們要加上一個(gè)環(huán)境變量,
10操作:對(duì)著有代碼那一欄拖動(dòng)滾動(dòng)條到最下面看到最后一個(gè)end為止,在它的下一行粘貼如下代碼:
function OnEnd()
string mypath, szKey, szEnv;
POINTER pEnv;
begin
mypath=TARGETDIR;
szKey="Environment";
RegDBSetDefaultRoot(HKEY_CURRENT_USER);
RegDBSetKeyValueEx(szKey,"mypath",REGDB_STRING,mypath,-1);
szEnv = "Environment";
pEnv = &szEnv;
SendMessage (0xffff, 0x001A , 0, pEnv );
// MessageBox("設(shè)置了環(huán)境變量mypath ",0);
end;
講解:要調(diào)用函數(shù)就的在那些對(duì)話框中找個(gè)位置插入這個(gè)函數(shù),這兒就找“Dlg_SetupType2:”標(biāo)簽
11操作: 找到“Dlg_SetupType2:”標(biāo)簽,在其后新加一行 OnEnd();
講解:此時(shí)應(yīng)該點(diǎn)一下Complile,編譯一下(和用vc一樣來(lái)使用),若有錯(cuò)會(huì)和vc一樣在下面報(bào)出,雙擊錯(cuò)誤到出錯(cuò)行,如果你是復(fù)制代碼過(guò)去的,很可能是字符編碼不一致的問(wèn)題。特別是中文和空格,那么去掉每行前面的空格可能就去了大部分的錯(cuò)誤,有中文的行最好去了,自己再敲一次,實(shí)在不好解決的就全去了再全部敲一遍。
注釋方式和c,java的一樣,這兒把后面那個(gè)注釋去了,運(yùn)行到那時(shí)就會(huì)那個(gè)彈出對(duì)話框。內(nèi)部函數(shù)查幫助,語(yǔ)法和常用函數(shù)看我剛才介紹下載的講解。
這里邊還有調(diào)試運(yùn)行,好像不能加斷點(diǎn),全都是從頭至尾的走。但同樣有跳出函數(shù),停止調(diào)試等常規(guī)操作。
12操作:點(diǎn)擊Dialogs(可以省去),看到如下圖:

講解:在Skin里有多種風(fēng)格的皮膚,通過(guò)右鍵點(diǎn)擊來(lái)選取。All Dialogs里有從開(kāi)始安裝到結(jié)束安裝的各種可能用上的對(duì)話框,通過(guò)雙擊可以在這里改變這些對(duì)話框的結(jié)構(gòu)。當(dāng)然標(biāo)志installshied可不好去,最好也別去,誰(shuí)叫你用人家的產(chǎn)品。這些對(duì)話框的引用可以在前面的InstallScript代碼來(lái)引用。如Welcome對(duì)話框就用“Dlg_SdWelcome:”標(biāo)簽來(lái)引用。
13操作:點(diǎn)擊編譯。(與vc一樣)
講解:ok,本次操作結(jié)束。到你創(chuàng)建的目錄下就能找到setup.exe點(diǎn)擊安裝試試,或者點(diǎn)InstallSheild x里的運(yùn)行。也行。

如果加了環(huán)境變量,就能找到,如我這兒添加了mypath= C:"Program Files"JoinusRip,看看你的。有問(wèn)題提問(wèn)。
這次一個(gè)13個(gè)操作(可能還不要或者更多一點(diǎn))你就用InstallSheild x打包好一個(gè)軟件,不到兩分鐘。你可能急了,說(shuō)我只幫你解決了添加環(huán)境變量的問(wèn)題,你還有很多要求,要求調(diào)用其他軟件先安裝呀什么的。其實(shí)大部分情況這些已經(jīng)差不多了。你的問(wèn)題也許可以換種方式,要不你自己正是很不輕松,盡管你及其勤奮。要先安裝其他軟件,你可以通過(guò)選擇安裝對(duì)話框加說(shuō)明讓用戶先安裝你要求的。這種對(duì)話框你可以通過(guò)另外的打包軟件處理,要不去記InstallSheild的一堆語(yǔ)法,不一定吃得消。我也不敢講一堆,更主要的原因是,這可不是免費(fèi)的軟件,你用了說(shuō)不定哪天律師就來(lái)找你了,所有你僅僅體驗(yàn)一下明白打包的一個(gè)大體過(guò)程就可以了,學(xué)問(wèn)有相似之處,再學(xué)其他的也就不那么難了。除非你公司買了InstallSheild,否則你就先把它扔一邊吧,我們有更好的開(kāi)源軟件,雖然一下子講不到最好的。
提醒一下,如果你運(yùn)行了剛打好的包,或打開(kāi)了包所在的文件夾,此時(shí)編譯會(huì)過(guò)不去,總提醒一個(gè)錯(cuò)誤,還有InstallSheild x有很多bug,不行了,你就刪除從來(lái)。有人翻譯了InstallSheild2008的部分,當(dāng)然幫助沒(méi)翻譯,你可以下來(lái)看看都什么意思,但想使用好像不是很現(xiàn)實(shí)。當(dāng)然要學(xué)好就得看英文的,很多人都習(xí)慣了看英文的幫助,但一下子要看明白并操作許多也還是花點(diǎn)時(shí)間的。另外所有的部分都是用例子來(lái)講,不會(huì)面面俱到,要深入必須再花時(shí)間看幫助,相信有了例子,再看幫助的時(shí)候理解的就多了。
下次進(jìn)入開(kāi)源,最簡(jiǎn)單的jsmooth,中文版翻譯是劉長(zhǎng)炯,這次我慘了。希望他沒(méi)寫相關(guān)的,要不撞車了。
經(jīng)簡(jiǎn)紹說(shuō)installsheild不錯(cuò),打包方便快捷,于是要來(lái)軟件,安裝的是InstallSheild x英文版。
如下圖,這是打開(kāi)的見(jiàn)面,紅線是我畫上的,點(diǎn)擊這條語(yǔ)句就開(kāi)始新建工程了。

彈出對(duì)話框中默認(rèn)的InstallScript Project(如下圖) 正是我們所需(以Script的方式來(lái)完成更多任務(wù))。填入你要打包的項(xiàng)目名,和要釋放的位置(打成的包要放的位置),(什么?你說(shuō)我打的怎么是TTplay,不好意思,TTplay確實(shí)是別人的,要先試驗(yàn)再動(dòng)真格的,要不就元?dú)獯髠恕0寻惭b了的TTplay打成包不是很簡(jiǎn)單的試驗(yàn)方式么。一來(lái)就把你幾百兆的軟件拿過(guò)來(lái)打,又慢風(fēng)險(xiǎn)又大。你也不知道剛用的軟件會(huì)發(fā)生些什么事故,保險(xiǎn)起見(jiàn),把安裝在你電腦里的整個(gè)TTplay的文件夾考到一個(gè)地方備用。才2點(diǎn)幾兆,盡情試驗(yàn)吧)。點(diǎn)擊Ok進(jìn)入下一步。

于是你就見(jiàn)到了Project Assistant和install Designer.如下圖所示
我們就叫Project Assistant為工程助理吧,用工程助理就可以完成一般的打包工作,只要點(diǎn)擊最下排圖標(biāo),從左至右來(lái)按向?qū)顚懢托校W(wǎng)上應(yīng)該有簡(jiǎn)紹的,但我還是要嘮叨,好像這兒會(huì)更有特色。你也完全可以在install Designer里全部完成,但通常都是結(jié)合著用。

Project Assistant共九步形成一個(gè)安裝流程。
點(diǎn)擊第一個(gè)Application Files,如下圖
以此是公司名稱、應(yīng)用軟件名稱、版本、公司首頁(yè)。最后的選項(xiàng)是是否自動(dòng)提醒更新。
生成的軟件安裝后會(huì)以你的公司名為文件夾,應(yīng)用軟件名稱為其子文件夾,接著是你的放進(jìn)去的文件夾(后面會(huì)講到),很多時(shí)候你可能不需要這么多文件夾嵌套,像我打包的文件夾就不要應(yīng)用軟件名稱,否則,所設(shè)置的環(huán)境變量就不好處理了,但這的試驗(yàn)就不用管了,后面具體講。你要根據(jù)你所需的文件結(jié)構(gòu)來(lái)決定。

點(diǎn)擊installation Architecture,如下圖,只有一個(gè)選擇項(xiàng),問(wèn)你是否要個(gè)性化安裝,意思就是可以選擇部分安裝,我們就不管了,我們都是要全裝的,哈,而且這兒也很簡(jiǎn)單。(還是說(shuō)說(shuō)吧,點(diǎn)選yes,點(diǎn)擊New,添加文件夾,取個(gè)名字,Set Default來(lái)設(shè)計(jì)你選定要做默認(rèn)安裝的,下一步驟是選定你要打包的文件,其中All Application下拉框選項(xiàng)就會(huì)發(fā)現(xiàn)剛才你new的文件,選定誰(shuí),當(dāng)前放進(jìn)的包就屬于它了,好像有點(diǎn)抽象,看看想想就應(yīng)該明白了)

點(diǎn)擊Application Files看到如下圖
我們要全安裝所以用All Application Data,下面的Destination Computer中的重點(diǎn)文件夾是Application Target Folder,其意義就是客戶所選路徑+公司名+軟件名這樣一個(gè)路徑。
Program Files 是絕對(duì)路徑“C:"Program Files”群里有哥們?yōu)橐乓恍┪募竭@個(gè)絕對(duì)路徑,問(wèn)了幾天人,告他用Indesigner中的Program Files,他沒(méi)明白,效果和項(xiàng)目助手的一樣。
Windows也是絕對(duì)路徑,“C:"WINDOWS”下屬分別為“C:"WINDOWS"Fonts”和“C:"WINDOWS"system32”

這兒還沒(méi)操作呢,開(kāi)始操作,點(diǎn)選Application Target Folder,點(diǎn)擊Add Folders 選定你打包的文件夾,確定就會(huì)在Application Target Folder里顯示你的文件結(jié)構(gòu),這可是個(gè)慢動(dòng)作,文件越多就越慢,實(shí)際它只是記錄了你的文件結(jié)構(gòu),并非復(fù)制。結(jié)果如下圖:
如果你看不到,很正常,這是它的一個(gè)bug,點(diǎn)一下其他的步驟,再點(diǎn)回來(lái)就看到了(點(diǎn)回來(lái)有時(shí)也要你一些時(shí)間,bug呀)

點(diǎn)擊下一個(gè)步驟Application Redistributables,如下圖:
就是問(wèn)你用不用ODBC、sql Server 2000 等等的,都不管了,我們喜歡用開(kāi)源的。

點(diǎn)擊下一步驟Application Shortcuts,即應(yīng)用程序快捷方式,如下圖

它自動(dòng)幫你提起你所給文件夾下的exe,你的軟件要沒(méi)exe就先生成exe,以后會(huì)講到
你的問(wèn)題出來(lái)了,要是exe不在所給文件夾下怎么辦,你就點(diǎn)new,彈出窗口展示的是DefaultFeature里的文件分類(如下圖),文件分類和前面講的一樣,Application Target Folder 是客戶所選路徑+公司名+軟件名這樣一個(gè)路徑……回憶起來(lái)俺就不廢話了。大部分情況點(diǎn)擊Application Target Folder到你提供的文件夾里找到你的exe就有了。

點(diǎn)選你的exe,然后在右邊的復(fù)選框選擇是否創(chuàng)建開(kāi)始菜單快捷方式和桌面快捷方式(看下圖)。點(diǎn)選并刪除你不用的exe。你可能覺(jué)得這樣方式真好,后面你會(huì)發(fā)現(xiàn)工程助手的方式不如Install Designer 的方式好,工程助手可能會(huì)令你反復(fù)弄來(lái)弄去。

下一步Aplication Registry,如下圖:
你就需要選擇一個(gè)根目錄,然后不斷點(diǎn)右鍵新建選項(xiàng),最后定變量—數(shù)值對(duì)就行

如下圖,新建一次后,再次新建里就可以新建各種值,或者選擇導(dǎo)入Reg的方式,具體自己研究了。也是Install Designer 的方式更好。這兒什么都不需要注冊(cè),把剛加的刪了。

下一步Installation Interview 如下圖:
共四個(gè)選項(xiàng),第一個(gè)選項(xiàng)是是否要license,是的話你要提供一個(gè)txt的license或者寫一段腳本來(lái)處理。我們選擇否。
第二個(gè)選項(xiàng)是是否填入公司名和用戶名,不用了,我們這不用那么麻煩客戶。
第三選項(xiàng)說(shuō)是否讓客戶選擇安裝目錄,默認(rèn)就行(yes)。
第四選項(xiàng)說(shuō)是否同意客戶只安裝部分。也默認(rèn)就行(yes)。

下一步驟Installation Localization 安裝本地化,如下圖:
選上簡(jiǎn)體中文。All String Data等功能和All Application Data的意義是一樣的就是看你要整個(gè)處理還是安裝某部分才這樣處理。我們用默認(rèn)的就行。

最后一步Build Installation 就是生成你的軟件了。如下圖:
三個(gè)選項(xiàng)意義就是生成單個(gè)執(zhí)行文件、網(wǎng)絡(luò)版、光盤版。
點(diǎn)擊Build Installations就開(kāi)始建造了。這個(gè)過(guò)程也有點(diǎn)慢,畢竟要把所有文件存儲(chǔ)到一個(gè)dat文件里。

結(jié)果如下圖:

點(diǎn)擊setup.exe就可以安裝了。
當(dāng)然這樣的效果可能不如你想象的好,例如點(diǎn)開(kāi)可能是英文的,你就急了,不是本地化了嗎?你忘了看,同時(shí)選中的English上有個(gè)紅勾,表示它是默認(rèn)語(yǔ)言,要么你把英語(yǔ)的去掉,要么你上Install Designer處理。
如果你已經(jīng)安裝過(guò)這個(gè)setup.exe,再次點(diǎn)擊時(shí)它就會(huì)提醒你是要修改、修復(fù)還是卸載,如下圖:

這就是InstallSheild用向?qū)Т虬浖暮?jiǎn)單過(guò)程。你應(yīng)該知道有exe的軟件怎么打包了,下次講InstallSheild用install Designer的方式,它能滿足你更多的需求。能解決你在工程助手這令人抓狂的問(wèn)題。
錯(cuò)漏之處,謝謝指正。
這里將講述一些打包軟件的使用,以最簡(jiǎn)單的方式一步一步完成簡(jiǎn)單的打包,并能從中感受到樂(lè)趣。能深入的地方也會(huì)漸漸深入,總之,本專題目的是讓你在很有樂(lè)趣的同時(shí)學(xué)到一點(diǎn)異樣的東西。
從第三方軟件到開(kāi)源軟件,當(dāng)然重點(diǎn)是開(kāi)源軟件,開(kāi)源軟件給了我們?cè)S多有用的資源,而我們總是由于語(yǔ)言等種種原因而不能很好的利用,查查izpack,中文資料極少,查查installjammer,中文資料都是只有個(gè)標(biāo)題,或說(shuō)自己用過(guò)覺(jué)得不錯(cuò)的。installjammer是日本人寫,傳到美國(guó)然后才傳開(kāi)來(lái)的,是一款極強(qiáng)的開(kāi)源軟件,后面具體講述。
下篇從installshied開(kāi)始正式進(jìn)入主題。(這篇文章很短,也許影響了你的情緒,不好意思,哈,希望下篇不會(huì)令你失望)
今天開(kāi)始寫我的專業(yè)blog吧,作為一種交往,一種興趣愛(ài)好和一種斗志吧。好像寫打包的人挺少,我打算先寫打包的專題,然后再寫各種各樣我感興趣的專題,當(dāng)然,算法、策略、架構(gòu)會(huì)更有意思。希望我會(huì)寫下去。希望大家多多指點(diǎn),相比各位寫的,我的就算飯后休息的閑書了,但閑書有閑書的好處,通俗易懂、放松打腦。能為語(yǔ)言做一點(diǎn)貢獻(xiàn),其實(shí)就足。
請(qǐng)看下篇,打包安排。