上次講了InstallSheild用asistant的方式,你跟著弄就打處一個包來了,驗證一下是否符合你的設(shè)置,就是安裝一下看看。這就不多說了。
上次的解說你可能已經(jīng)迫不及待要看看Installation Designer的方式。別急。
很多時候我們只需要照著一個簡單的示例做一次成功,就能體會到達成一間事的最簡單方式。所以這次改一下結(jié)構(gòu),講解和操作分離,凡是操作的部分都寫成 “xx操作:”后面跟上本示例操作,xx表示步數(shù),其實有的步是不必要的。你要親自動手看有此標簽的部分就行。有多余的需求和想了解在看具體講解。用標簽 “講解:”表示具體講解。
下面開始
1操作:打開InstallShield x 又看到起始頁,如下圖:
講解:要是沒有,你就新建一個。要刪除項目,通常是關(guān)閉InstallShield x,然后到ism所在的文件夾刪除整個文件夾就行。

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

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

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

所有東西到要安裝,不需客戶選擇,那么可以如下操作
5操作:點擊左邊目錄的Setup Types ,看到中間目錄,右擊Complete選項,點擊Remove刪除
講解:你說為什么不刪除Custom因為Custom里才可以讓客戶選擇安裝路徑。

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

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

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

講解:Server Configuration中的兩項是iis和SQL Server2000,我們都不用,也都很簡單。跳過。
9操作:點擊InstallScript 看到如下圖

講解:這是重點,這里可以添加代碼來修改環(huán)境變量、添加驗證、添加調(diào)用等。這兒只會講到添加環(huán)境變量,添加調(diào)用會在講開源軟件是講。具體語法講解只有InstallSheild 5的,從哪個網(wǎng)站下,忘了,剛搜了一下,感覺這個網(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:
很顯示它的語法挺簡單,大致你也能猜到,這兒是三個對話框,都是用標簽的方式,說明我們要跳來跳去,不錯,if (nResult = BACK) goto Dlg_Start;就是通過一個判斷調(diào)回上一個對話框。Dlg_Start即開始對話框,Dlg_SdWelcome即歡迎對話框。nResult,szTitle等都是變量,并非弱類型的變量,前邊有定義。
廢話不多說,我們要加上一個環(huán)境變量,
10操作:對著有代碼那一欄拖動滾動條到最下面看到最后一個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ù)就的在那些對話框中找個位置插入這個函數(shù),這兒就找“Dlg_SetupType2:”標簽
11操作: 找到“Dlg_SetupType2:”標簽,在其后新加一行 OnEnd();
講解:此時應(yīng)該點一下Complile,編譯一下(和用vc一樣來使用),若有錯會和vc一樣在下面報出,雙擊錯誤到出錯行,如果你是復(fù)制代碼過去的,很可能是字符編碼不一致的問題。特別是中文和空格,那么去掉每行前面的空格可能就去了大部分的錯誤,有中文的行最好去了,自己再敲一次,實在不好解決的就全去了再全部敲一遍。
注釋方式和c,java的一樣,這兒把后面那個注釋去了,運行到那時就會那個彈出對話框。內(nèi)部函數(shù)查幫助,語法和常用函數(shù)看我剛才介紹下載的講解。
這里邊還有調(diào)試運行,好像不能加斷點,全都是從頭至尾的走。但同樣有跳出函數(shù),停止調(diào)試等常規(guī)操作。
12操作:點擊Dialogs(可以省去),看到如下圖:

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

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