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