我們在用VB等語言編寫並編譯成程式後,往往會希望製作一個精美的安裝程式來發布自己的軟體。在這裡推薦使用Setup Factory 7.0,這是一款強大的安裝程式製作工具。該軟體提供了安裝製作嚮導介面,即使你對安裝製作不瞭解,也可以產生專業性質的安裝程式。可建立捷徑,也可直接在 Windows 系統的註冊表加入內容,還能在 Win.ini 和 System.ini 內加入設定值,更可以建立反安裝選項等等。它內附的嚮導可以一步步的帶領您做出漂亮又專業的安裝程式。目前該軟體的最新版本為7.0.1,可在網上下載到,或訪問該軟體的漢化網站http://www.hanzify.org進行下載。
我在這裡簡單介紹一下如何使用Setup Factory 7.0來製作一個安裝程式。
開啟軟體後,預設會跳出一個工程嚮導的介面,如。
此時可點建立來建立一個工程,或是按Esc鍵退出工程嚮導。由於在首次安裝完Setup Factory 7.0後,預設語言為英文(可能會根據軟體版本而不同),這樣在製作安裝程式時很不方便,因此需要先將預設語言改為中文簡體。所以在這裡我們先按Esc鍵退出工程嚮導,直接進入軟體主介面。如。
在主介面菜單的編輯中選擇“參數選擇”,在出現的視窗中開啟Document並點擊Languages,然後在視窗右側選中Chinese (Simplified),再點擊下方的“設為預設”,最後確定即可。如。
現在我們可以開始製作安裝程式了。先要添加安裝檔案。在菜單的工程中選擇“添加檔案”,或在主介面左側的檔案中選擇“添加檔案”。如所示,如果添加多個檔案,則可選擇“此檔案夾中的所有檔案”,如果有子檔案夾,則選第三項“此檔案夾及其子檔案夾中的所有檔案”。然後點擊添加按鈕。
檔案加入後,即如所示。
用滑鼠右鍵單擊某一檔案(也可選中多個檔案對其編輯),選擇“檔案屬性”,可修改相應設定。如所示,目標中預設為%AppFolder%,該變數表示安裝路徑,可以修改成其他內建變數或自訂變數。
如果該檔案為可執行檔(如EXE檔案等),那麼預設會在開始菜單建立相應的捷徑。點擊中的捷徑,即可出現相關設定。如果不需要捷徑,可取消相關項目的選擇。如。
檔案加入後,我們需要設定安裝程式的相關資訊,如變數定義、軟體卸載等。
在左側設定中點擊“會話變數”,如所示,這些變數是Setup Factory 7.0內建的變數,在此處定義或在代碼中定義後,即可在安裝過程中使用。
建立安裝程式預設會建立卸載,如果你的軟體不需要卸載,那麼點擊主介面左側卸載中的“設定”,可關閉“建立卸載”。如。
下面我們就要開始製作安裝過程中的螢幕了。螢幕分三部分,安裝前、安裝中、安裝後。點擊主介面左側螢幕中的工程主題,在跳出的視窗下方選擇工程主題可改變安裝螢幕的樣式。
點擊的“安裝之前”,可在視窗左側添加或刪除相應的螢幕。如。
選中某一螢幕後,點視窗下方的編輯按鈕,即可對該螢幕進行編輯。如。
在“屬性”中則可修改螢幕標題和按鈕等。如。
在“操作”中則可對該螢幕事件進行編程。如。通過視窗底部的“添加操作”和“添加代碼”,可加入相應的代碼來實現所需功能。
在“安裝之時”螢幕中,取消“安裝期間顯示進程螢幕”的選擇,該螢幕在安裝時將不再出現。如。
如果只是想在安裝過程中不顯示複製的檔案名稱及其路徑,那麼點擊“編輯”按鈕,並取消“顯示狀態文本一”的選擇。如。
在“安裝之後”中可編輯安裝完畢後的螢幕介面。如。
上述過程完成後,一個簡單的安裝程式就發行就緒了。點擊菜單發布中的構建,如所示,預設選擇“Web(單個檔案)”即可,再點擊下一步。
確定輸出安裝程式的檔案夾及安裝程式檔案名稱,如。然後點擊“構建”按鈕。
現在我們就可以測試做好的安裝程式了。別忘了將剛剛的Setup Factory 7.0工程儲存到電腦上。
http://www.onegreen.net/Article_Show2.asp?ArticleID=682
進階篇
在基礎篇裡面,我們簡單地講了一下安裝程式的製作過程,但是如果碰到一個稍微複雜點的安裝程式,比如需要對註冊表進行編輯,或是安裝過程中需要執行外部檔案等,那麼又該如何處理呢?大家不要著急,看完進階篇後你就知道怎麼辦了。
既然要處理各種複雜的事件,那當然是離不開編程。Setup Factory 7.0也提供了自己的語言來編寫代碼,主要是在“螢幕”和“操作”中。我們先來看一下主介面左側的“操作”,共有4項:啟動時、預先安裝時、進行安裝時、關機時。如。
點擊“啟動時”,即可編寫安裝程式啟動時需要處理的事件代碼。如。
點擊視窗下方的“添加操作”,可以加入Setup Factory 7.0所提供的事件代碼。如。
比如想添加一個要求輸入密碼的對話方塊,則可選擇Dialog類別中的Input操作,如。
點擊下一步後,在該操作的各項目中輸入相應資料,如。
點擊完成後,該操作就以代碼的形式出現在視窗中了,如。
接著可以添加條件陳述式來判斷密碼是否有效。點擊視窗下方的“添加代碼”,並選擇“if語句(不相等)”。如。
添加後,在視窗中多了幾段代碼,如。
這時,需要按它提供的格式進行修改這些代碼。如。
我們需要在if語句內加入密碼無效後的操作,即提示密碼出錯和退出安裝程式。點擊“添加操作”後,選擇Dialog類別中的Message操作以及Application類別中的Exit操作,完成後代碼如所示。
這樣就實現了一個簡單的密碼登入功能,稍微有些缺陷的是密碼輸入時是以明文顯示。不過我們這裡講述的是如何通過添加操作和代碼來實現相應功能,否則我們完全可以在安裝之前的螢幕中通過添加驗證序號來實現此功能。
那麼如何?驗證序號的功能呢?首先我們要產生屬於安裝程式的序號。在菜單工程中點擊序號,出現如所示視窗。
選中列表List 1,點擊編輯,並選擇命令中的產生。如。
然後輸入需要的序號數量以及格式,如。
確定後,即可產生所需的序號,如。可將這些序號全選後匯出到一個文字檔中。
確定後,再到安裝之前的螢幕中添加驗證序號螢幕。如。這樣,安裝過程中驗證序號的功能就實現了。
在菜單的工程中點擊到期,並啟用相關設定後,安裝程式還能具備使用到期功能。如。
按中的設定製作的安裝程式,如果執行安裝程式的電腦上日期不在此範圍之內,那麼就會提示如下畫面。不過,到期功能並不太實用,因為只要將電腦上的日期改成安裝程式製作日期就能繼續使用了。
有時候在安裝過程中或安裝後需要執行其中一個程式,比如PJ程式、漢化程式,或是一個驅動什麼的東東,而這個程式可能不需要安裝到電腦中,只需要在安裝中被執行一次就OK了。那麼我們就可以這麼做。
由於該程式不需要隨著其他檔案一起安裝到電腦中,所以不能通過添加檔案來加入到安裝包中,而是點擊主介面左側“資源”中的“原始檔案”來添加,如。這樣在安裝程式執行時,該檔案就被解壓縮到臨時目錄下,並在安裝程式正常關閉後自動刪除。
然後,我們就可以在某個螢幕中去添加相應代碼。比如需要在安裝之後但結束螢幕還未顯示之前執行該程式,那麼就可以在該螢幕的“On Preload”操作中加入Shell.Execute。注意臨時目錄的變數為%TempLaunchFolder%,假設該程式檔案名稱為“Setup.exe”,那麼可以寫成“_TempLaunchFolder.."//Setup.exe"”。即某個字元型變數與字串組合可以用“_變數名..字串”的格式來書寫。僅僅添加這一條代碼還不夠,我們還要判斷該程式是否執行完畢,才能繼續下一步,比如再執行下一個外部程式什麼的。這樣就得用到迴圈語句,通過添加代碼中的“repeat …until迴圈”來得到一個迴圈語句,再在迴圈內加入操作File.IsInUse,並將值賦給一個自訂變數,最後修改迴圈條件。如。
還有一種情況需要重點講述一下,就是安裝程式不需要手動選擇安裝目錄,而是固定安裝在電腦中的某個目錄下,比如外掛程式、漢化、PJ等。那麼這個目錄的取得可能就是要讀取註冊表內某個軟體的安裝路徑來重新定義了。下面就講一下如何製作。
首先我們要從註冊表內取得安裝路徑,這個取得過程應該是安裝程式啟動時就需要執行了。點擊主介面左側“操作”中的“啟動時”,添加操作Registry.GetValue,並將值賦給一個自訂變數,Registry.GetValue的寫法中,注意SubKey子鍵名稱中子鍵串連符是“//”,如。
此時,中的變數ProductPath就得到了一個安裝路徑,稍做處理後就可以作為本安裝程式的安裝路徑。但是由於該變數是在代碼中定義的,不能用在安裝包內檔案屬性中的“目標”中。“目標”中的變數必須是會話變數,因此我們可將變數ProductPath再賦給某個會話變數。會話變數可以是Setup Factory 7.0內建的,也可以自訂。點擊主介面左側“設定”中的“會話變數”,再點擊視窗下方的“添加”可添加自訂會話變數。如。
然後再到代碼中將剛剛的變數ProductPath賦給會話變數,注意必須使用操作SessionVar.Set來給會話變數賦值,例如SessionVar.Set("%AppFolder%", ProductPath)。如。
如果安裝程式需要將安裝包內的檔案分別安裝到不同目錄下,那麼就必須將這些檔案屬性中的“目標”修改成不同的會話變數才可實現。
Setup Factory 7.0的常用功能差不多就這些,主要是看你怎麼合理利用它內建的操作,再結合控制碼,就能編寫出功能強大的安裝程式了。
http://apps.hi.baidu.com/share/detail/729350