CreateInstall Free
最早的時候用的是CreateInstall Free,絕對傻瓜式,適合初學者使用.但缺陷也很明顯.Createinstall Free標志無法去除(花點錢注冊倒是可以),刪除時常常會報錯.
Advanced Installer
Advanced Installer的功能是沒的說的,一個字,牛,但對一些功能如對話框編輯之類的則要花點時間去琢磨琢磨.
想要搞專業點的兄弟就認準是他了.
inno
而后一個兄弟推薦使用inno.使用后發現inno的確也方便,簡潔明了,雖然沒用直接的ui選擇界面,但用教本也不錯.網上找了份inno的腳步說明(見下文),如果還不清除的自己去翻幫助文檔吧.決定適合創建一般的應用程序安裝包.
Inno Setup 安裝腳本的初級應用(from:http://hi.baidu.com/momoca/blog/item/21c24316c3214e4920a4e924.html)
1、認識腳本的格式:(詳細說明可查閱Inno Setup 的幫助文檔) Inno Setup的安裝腳本包含以下主要段落:
[Setup] 段:安裝和卸載程序的全局設置,如作者信息、安裝目錄、壓縮方式、是否卸載等。 [Types] 段:定義安裝組件的類型,如“完全安裝”、“最小安裝”、“選擇安裝”。 [Components] 段:定義可供選擇安裝的所有組件 [Tasks] 段:定義安裝期間所有由用戶定制的任務。 [Dirs] 段:定義用戶想額外創建的目錄。 [Files] 段:定義要打包到安裝程序里的文件。 [Icons] 段:定義要創建在開始菜單、桌面或任務欄等位置的快捷方式和圖標。 [INI] 段:定義向用戶系統中 .INI 文件中添加的新條目。 [InstallDelete] 段:定義要在安裝之前刪除的文件或文件夾。 [Languages] 段:定義安裝程序中可使用的語言(適用于多國語言版)。 [Registry] 段:定義安裝過程中要讀取、新建或刪除的注冊表項。 [Run] 段:定義要在安裝結束時運行的程序。 [UninstallDelete] 段:定義要在卸載時刪除的其他文件或文件夾。 [UninstallRun] 段:定義要在開始卸載前運行的程序。
以上每個段落里都有若干具體條目對安裝程序的處理功能進行詳細設置,當然,并不是每一項都用得上,還得根據實際需要選擇使用。
2、腳本范例分析: 先來看看一段用INNO SETUP腳本向導創建的基本腳本的[Setup]段:
[Setup] AppName=Premiere 6.5 漢化補丁-----------------(程序名稱) AppVerName=Premiere 6.5 漢化補丁------------(程序名稱+版本) AppPublisher=浩子工作室----------------------------(開發單位或作者) AppPublisherURL=http://www.haozi.com------(開發單位或作者網址) AppSupportURL=http://www.haozi.com-------(技術服務網址) AppUpdatesURL=http://www.haozi.com-------(更新升級網址) DefaultDirName={pf}\Adobe\Premiere 6.5-----(默認安裝路徑,{pf}就是“Program files”文件夾) DefaultGroupName=Premiere 6.5 漢化補丁----(默認添加在開始菜單中的項目名稱) AllowNoIcons=yes--------------------------------------(創建快捷方式圖標) LicenseFile=D:\漢化\許可文件.txt------------------(顯示許可協議) InfoBeforeFile=D:\漢化\漢化說明.txt-------------(顯示軟件說明) OutputDir=成品-----------------------------------------(安裝程序存放位置) OutputBaseFilename=Premiere 6.5 漢化補丁--(安裝程序名稱) SetupIconFile=漢.ico----------------------------------(安裝程序圖標) Compression=lzma-------------------------------------(壓縮器:Lzma) SolidCompression=yes--------------------------------(壓縮方式:一次性壓縮)
括號里內容是筆者添加的注釋,我想大家應該能夠理解。不過,作為漢化補丁,一般不需要創建開始菜單項目,不需要創建快捷方式圖標,不需要卸載功能,而要求具有自動尋找原程序安裝位置的功能,這樣可使補丁安裝更方便快捷, 因此作了如下修改: (1)去掉以下項目: DefaultGroupName=Premiere 6.5 漢化補丁----(默認添加在開始菜單中的項目名稱) AllowNoIcons=yes--------------------------------(創建快捷方式圖標) (2)增加以下項目: DisableDirPage=yes-------------------------------(不用指定安裝路徑) DisableProgramGroupPage=yes---------------(不要添加開始菜單項目) DirExistsWarning=no-----------------------------(不提示文件夾已存在) Uninstallable=no-----------------------------------(不要卸載程序) (3)修改以下項目: 原來的: DefaultDirName={pf}\Adobe\Premiere 6.5----(默認安裝路徑,{pf}就是“Program files”文件夾)關鍵問題是,這個路徑是死的,一旦你在安裝Premiere 6.5時更改了安裝路徑,比如有些人喜歡把大程序安裝到D盤,這么一來,原路徑就無效了,結果您還得手動指定正確的路徑。這樣的安裝程序就顯得太“笨”了。那么,如何讓補丁程序自動獲得原程序的實際安裝路徑呢?回答是:利用注冊表。 大多數應用程序安裝后都會向注冊表的特定位置寫入安裝和卸載信息,因此,只要讓安裝程序提取這些信息并轉位自己的安裝路徑,就可實現自動定位功能。Inno Setup早就支持這個功能了,現在,我們把Premiere 6.5的注冊表信息告訴它就行了,請看修改后的: DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Premiere 6.5,InstallLocation}-------------(從注冊表讀取Premiere 6.5的實際安裝路徑)
接著來看看基本腳本的[Files]段, 前面講過,這一段是用來定義要打包到安裝程序里的文件的, 因此, 要搞清楚這幾個名詞:
Source:-------------文件的存放位置(來源) DestDir:-------------文件要安裝到什么地方(目標) Flags:----------------對文件的附加處理參數(標示)
下面來看看具體內容:
[Files] Source: "D:\漢化\Preminfo.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\漢化\主程序\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "D:\漢化\插件\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
生詞注釋: {app}----------------這是個常量, 代表程序安裝路徑,只要你在[Setup]段中的DefaultDirName項中進行了設定,其他地方就可以用它來代替。可能有人會問,常量是什么?通俗地說就是固定詞匯,它們用簡單的符號分別代表操作系統中的一些固定目錄,使腳本簡潔明了。具體內容可參看Inno Setup的幫助文本里的相關說明。 Ignoreversion--------不理會文件的版本問題。 Recursesubdirs-------把主文件夾和子文件夾一塊兒打包(一鍋端)。 Createallsubdirs-----安裝時創建相應的子文件夾。 對[Files]段的修改:很多漢化補丁都是直接用漢化過的文件去替換原文件,很少在原程序目錄里創建新的文件夾,因此可以去掉 Flags 標示中的 Createallsubdirs 項。 最后來看看修改后的腳本: [Setup] AppName=Premiere 6.5 漢化補丁 AppVerName=Premiere 6.5 漢化補丁 AppPublisher=浩子工作室 AppPublisherURL=http://www.haozi.com AppSupportURL=http://www.haozi.com AppUpdatesURL=http://www.haozi.com DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Premiere 6.5,InstallLocation} DisableDirPage=yes DisableProgramGroupPage=yes DirExistsWarning=no Uninstallable=no LicenseFile=D:\漢化\許可文件.txt InfoBeforeFile=D:\漢化\漢化說明.txt OutputDir=成品 OutputBaseFilename=Premiere 6.5 漢化補丁 SetupIconFile=漢.ico Compression=lzma SolidCompression=yes
[Files] Source: "D:\漢化\Preminfo.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "D:\漢化\主程序\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs Source: "D:\漢化\插件\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
|
posted on 2007-09-30 11:09
我風 閱讀(2557)
評論(0) 編輯 收藏 引用