<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 297,  comments - 1618,  trackbacks - 0

    原文出處:http://www.xdowns.com/article/170/Article_938.html
    如何使用:


    文檔約定 
    創(chuàng)建安裝程序 
    創(chuàng)建腳本 
    段內(nèi)參數(shù) 
    一些常量 
    公共參數(shù) 
    安裝腳本段 
    [Setup] 段 
    [Dirs] 段 
    [Files] 段 
    [Icons] 段 
    [INI] 段 
    [InstallDelete] 段 
    [Messages] 段 
    [Registry] 段 
    [Run] 段 
    [UninstallDelete] 段 
    [UninstallRun] 段 
    其它問題: 

    其它注意事項(xiàng) 
    在命令行執(zhí)行編譯器 
    安裝命令行參數(shù) 
    文檔約定 

    "Windows 95/NT 4+"
    這是 Windows 95, 98, NT 4.0, 2000 以及更高版本的簡稱。

    "Windows 98/NT 4+"
    這是 Windows 98, NT 4.0, 2000 以及更高版本的簡稱。

    "Windows NT"
    無論何時(shí)提及 Windows NT,除非有其他說明,他總是包括 Windows 2000(亦即 NT 5.0)。

    等寬字體
    當(dāng)你看見文檔里的等寬字體,說明他是腳本文件的引用。 

    創(chuàng)建安裝程序 

    安裝程序是以腳本(script)的方式來創(chuàng)建的。(不要一看見“腳本”這個(gè)術(shù)語就害怕,你只需要花上幾分鐘的時(shí)間就可以掌握它的要領(lǐng)!) 

    該腳本文件的擴(kuò)展名是“.iss”(意思是 Inno Setup Script)。腳本文件控制了安裝程序的每一個(gè)外觀界面。它指定了哪些文件要被復(fù)制及其位置,創(chuàng)建什么應(yīng)用程序圖標(biāo)和為它們命名等等。 

    腳本文件通常可以用安裝編譯程序內(nèi)建的編輯器來創(chuàng)建和編輯,完成以后寫入腳本文件,下一步也是最后一步是在安裝編譯器的菜單里選擇“編譯”(Compile)。創(chuàng)建完成以后該干什么呢?準(zhǔn)備運(yùn)行這個(gè)基于該腳本的安裝程序吧!默認(rèn)情況下,這個(gè)文件被創(chuàng)建在腳本文件所在文件夾的“OUTPUT”子文件夾下。

    要了解腳本文件是如何工作的,運(yùn)行安裝編譯器,單擊“文件\打開”選擇一個(gè)位于 Inno Setup 文件夾的 Samples 子文件夾下的示例腳本文件。(用這些示例文件作為你自己的腳本文件的模板可能示非常有用處的。) 

    參見 
    創(chuàng)建腳本 

    創(chuàng)建腳本 

    一個(gè) Inno Setup 腳本是一個(gè)簡單的 ASCII 文本文件。它的格式非常類似于 .INI 文件,如果你有這方面的經(jīng)驗(yàn)?zāi)憔蜁l(fā)現(xiàn)學(xué)習(xí)起來有多么的容易。 
    就象下面的示例所顯示的,腳本文件包括“段”(sections)和“項(xiàng)”(entries)。段名的兩邊始終有一對中括號“[]”,在 [Setup] 段中的每一項(xiàng)包括一個(gè)關(guān)鍵字和他的值,關(guān)鍵字和值用等于號“=”連接在一起。下面的這個(gè)示例說明了腳本文件是如何被組織的:

    [在這里添加段名,例如 Setup] 
    這是一個(gè)關(guān)鍵字=這是一個(gè)值 
    這是其它的關(guān)鍵字=這是其它的值

    [在這里添加段名,例如 Files] 
    Source: "MYPROG.EXE"; DestDir: "{app}"

    你也可以在你的腳本文件中加上注釋(這些注釋將會被安裝編譯器忽略),方法是在每一行注釋的行首加上一個(gè)分號“;”,例如: 

    ; 這是一行注釋,我可以在這里寫上提醒我的內(nèi)容...

    參見 
    段內(nèi)參數(shù) 
    一些常量 
    [Setup] 段 
    [Dirs] 段 
    [Files] 段 
    [Icons] 段 
    [INI] 段 
    [InstallDelete] 段 
    [Messages] 段 
    [Registry] 段 
    [Run] 段 
    [UninstallDelete] 段 
    [UninstallRun] 段 

    段內(nèi)參數(shù) 

    腳本文件中的所有的段,除了[Setup],都是以行位單位,每行分為若干個(gè)參數(shù)。下面是一個(gè) [Files] 段的示例: 

    [Files] 
    Source: "MYPROG.EXE"; DestDir: "{app}" 
    Source: "MYPROG.HLP"; DestDir: "{app}" 
    Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme

    每一個(gè)參數(shù)都有一個(gè)名稱,后面緊跟一個(gè)冒號,然后是它的值。除非有其它的說明,參數(shù)是可選的,如果參數(shù)沒有指定則取它們的默認(rèn)值。如果一行內(nèi)有多個(gè)參數(shù)則用分號將其分開 (還可以加一個(gè)空格符),他們可以按任何順序排列出來。 
    參數(shù)的值多數(shù)情況下是用引號擴(kuò)起來("),但使用引號也是可選的。然而如果這個(gè)參數(shù)的值里面的前導(dǎo)符號或者后綴符號是空格的話就必須加上引號了。另外需要說明的是使用內(nèi)嵌的分號和引號,要插入一個(gè)引號則使用兩個(gè)連續(xù)的引號來代替。例如,下面的示例: 

    "This "" contains "" embedded "" quotes" 

    """"

    安裝程序編譯器將會視為: 

    This " contains " embedded " quotes 

    "

    一些常量 

    多數(shù)的腳本項(xiàng)都可以在它們的內(nèi)部嵌入“常量(constants)”,它們總是被一對大括號({ })擴(kuò)起來的。當(dāng)安裝程序被啟動的時(shí)候,這些常量將被轉(zhuǎn)換成其真實(shí)的值,這依賴于用戶的選擇和系統(tǒng)配置,例如,{win} 這個(gè)常量在絕大多數(shù)的系統(tǒng)當(dāng)中將被轉(zhuǎn)換成“C:\WINDOWS”。 

    字符“{”被視為一個(gè)常量的起始標(biāo)記,如果你想獲得的是它的真實(shí)字符,那么你必須使用兩個(gè)連續(xù)的“{”字符。 

    如果一個(gè)常量的后面緊跟著一個(gè)反斜杠,而此時(shí)這個(gè)常量被轉(zhuǎn)換成其真實(shí)值的結(jié)尾也是一個(gè)反斜杠時(shí),Inno Setup 會自動的刪除一個(gè)反斜杠,這樣處理的明顯的好處是如果這個(gè)常量指向了“C:\”,{常量名}\file 就會被正確的轉(zhuǎn)換成“C:\file”而不是“C:\\file”。然而如果你想要防止這種事情的發(fā)生,那么就要將反斜杠用大括號括起來,象這樣:{app}{\}. 

    下面所列出的是目前已經(jīng)被支持的常量。 

    目錄常量 

    {app}
    應(yīng)用程序目錄,這是用戶在安裝向?qū)У倪x擇安裝目錄頁里面所選擇的。 
    例如:如果你使用了 {app}\MYPROG.EXE 作為一項(xiàng)并且用戶選擇了“C:\MYPROG”作為應(yīng)用程序的目錄,那么安裝程序就會將它轉(zhuǎn)換成“C:\MYPROG\MYPROG.EXE”。 
    {win}
    系統(tǒng)的 Windows 目錄。 例如:如果你使用了 {win}\MYPROG.INI 作為一項(xiàng)并且系統(tǒng)的 Windows 目錄是“C:\WINDOWS”,那么安裝程序就會將它轉(zhuǎn)換成“C:\WINDOWS\MYPROG.INI”。 
    {sys}
    系統(tǒng)的 Windows 系統(tǒng)(System)目錄(在 Windows NT/2000 下是 System32)。 例如:如果你使用了 {sys}\CTL3D32.DLL 作為一項(xiàng)并且系統(tǒng)的 Windows 系統(tǒng)目錄是“C:\WINDOWS\SYSTEM”,那么安裝程序就會將它轉(zhuǎn)換成“C:\WINDOWS\SYSTEM\CTL3D32.DLL”。 
    {src}
    這個(gè)文件夾指向安裝程序所在的位置。 
    例如:如果你使用了 {src}\MYPROG.EXE 作為一項(xiàng)并且用戶是從“S:\ ”安裝的,那么安裝程序就會將它轉(zhuǎn)換成“S:\MYPROG.EXE”。 
    {sd}
    系統(tǒng)驅(qū)動器,它是指 Windows 被安裝到的那個(gè)驅(qū)動器,典型的是“C:”,對于 Windows NT/2000,這個(gè)常量同系統(tǒng)的環(huán)境變量“SystemDrive”是等效的。 
    {pf}
    程序文件夾(Program Files),這個(gè)路徑是系統(tǒng)的 Program Files 目錄,典型的是“C:\Program Files”。 
    {cf}
    公共文件夾(Common Files),這個(gè)路徑是系統(tǒng)的 Common Files 文件夾,典型的是“C:\Program Files\Common Files”。 
    {tmp}
    臨時(shí)目錄,這個(gè)目錄并不是用戶的 TEMP 環(huán)境變量指向的目錄,而是安裝程序在啟動時(shí)在用戶的臨時(shí)目錄下建立的一個(gè)子目錄(它有一個(gè)類似于“
    C:\WINDOWS\TEMP\IS-xxxxx.tmp”這樣的名字),在安裝程序退出時(shí)所有的文件和子目錄將會被刪除。對于在 [Run] 段里面要被執(zhí)行且在安裝以后又不需要的程序文件來說這個(gè)功能是非常有用的。 
    {fonts}
    字體目錄,在 Windows 95/NT 4+ 下有一個(gè)專門為字體設(shè)立的目錄(通常這個(gè)目錄在 Windows 目錄下且被命名為“FONTS”),這個(gè)常量就指向這個(gè)目錄。對于 Windows NT 3.51,這個(gè)常量是和 {sys} 等效的,因?yàn)楫?dāng)時(shí)還沒有字體目錄。 
    {dao}
    DAO 目錄,當(dāng)安裝程序運(yùn)行在 Windows 95/NT 4+ 上時(shí),它被等效為 {
    cf}\Microsoft Shared\DAO,當(dāng)運(yùn)行于 Windows NT 3.51 時(shí),它被等效為 {
    win}\MSAPPS\DAO. 
    外殼(Shell)文件夾常量 

    Inno Setup 還支持另外一套目錄常量,這就是涉及到的外殼(shell)文件夾常量,它們具有和其它的目錄常量相同的使用方法。然而,如果在腳本的 [Setup] 段里面放入了 MinVersion=4,3.51 這一行來表示允許支持 NT 3.51,那么將只有 {group} 這個(gè)外殼文件夾常量能被使用,并簽只能用在 [Icons] 段。 

    下面的包含了“user”的常量涉及到當(dāng)前登陸的用戶私人文檔(profile),而帶有“
    common”的常量會涉及到全部用戶(All Users)的私人文檔(profile)。當(dāng)安裝程序運(yùn)行在 Windows NT/2000 操作系統(tǒng)下并且用戶不具有管理員的權(quán)限時(shí),所有的帶有“common”的常量會強(qiáng)迫同帶有“user”的常量等效。 

    * 標(biāo)記表示帶有“common”的常量在 Windows 9x 操作系統(tǒng)下同帶有“user”的常量等效。 

    {group} 
    程序組的路徑,取決于用戶在安裝程序向?qū)У?#8220;選擇程序組”頁的選擇。對于 Windows NT,這個(gè)文件夾始終被建立在所有用戶的私人文檔(All Users profile),除非用戶正在安裝的這個(gè)應(yīng)用程序不具有管理員的權(quán)限,那么在這種情況下它將被建立在用戶的私人文檔中(profile). 
    {sendto} 
    當(dāng)前用戶的“發(fā)送”的路徑。(沒有公共的“發(fā)送”文件夾。) 
    {userappdata} & {commonappdata} 
    應(yīng)用程序數(shù)據(jù)(Application Data)文件夾的路徑。 
    {userdesktop} & {commondesktop} * 
    桌面文件夾的路徑,推薦桌面快捷方式使用 {userdesktop}. 
    {userdocs} & {commondocs} 
    “我的文檔”文件夾的路徑(或者對于 NT 4.0,是指私人文件夾). 
    {userfavorites} & {commonfavorites} 
    “收藏夾”的路徑,這個(gè)常量的使用方法是需要 MinVersion 的設(shè)置至少為“4.1, 4”,目前只有 Windows 2000 支持 {commonfavorites},如果使用的是在這之前的版本的 Windows,那么它將會被轉(zhuǎn)換成和{userfavorites} 相同的目錄。 
    {userprograms} & {commonprograms} * 
    在開始菜單里面的程序文件夾的路徑。 
    {userstartmenu} & {commonstartmenu} * 
    開始菜單的定級路徑。 
    {userstartup} & {commonstartup} * 
    開始菜單里面的啟動文件夾的路徑。 
    {usertemplates} & {commontemplates} 
    模板(Templates)文件夾的路徑,目前只有 Windows 2000 支持 {
    commontemplates},如果使用的是在這之前的版本的 Windows ,它將會被轉(zhuǎn)換成和 {usertemplates} 相同的目錄。 
    其他的常量 

    {\} 
    一個(gè)反斜杠字符,請參見本頁前面提到的關(guān)于常量 {\} 和單字符 \ 在使用上有何不同的說明。 
    {%NAME} 
    內(nèi)嵌一個(gè)環(huán)境變量,這個(gè) NAME 是要使用的環(huán)境變量的名字。如果在用戶的系統(tǒng)當(dāng)中指定的環(huán)境變量不存在,這個(gè)常量就會被一個(gè)空的字符串所替代。 
    {computername} 
    安裝程序正在運(yùn)行的計(jì)算機(jī)的名稱(就是“GetComputerName”函數(shù)的返回值)。 
    {groupname} 
    用戶在安裝程序向?qū)У倪x擇程序組頁選擇的程序組的名稱,這個(gè)是不同于 {group} 的,它不包括路徑。 
    {hwnd} 
    (專門用途)傳送安裝程序背景窗口的窗口句柄。 
    {reg:HKxx\SubkeyName,ValueName|DefaultValue} 
    內(nèi)嵌一個(gè)注冊表值。 
    HKxx 指定根鍵(root key),參見 [Registry] 段 文檔所列出的根鍵。 
    SubkeyName 指定要讀取的子鍵的名稱。 
    ValueName 指定要讀取的值的名稱,要讀取一個(gè)鍵的默認(rèn)值就讓 ValueName 為空。 
    DefaultValue 如果指定的注冊表值不存在或者它不是一個(gè)字符串類型(REG_SZ 或者 REG_EXPAND_SZ),則嵌入這個(gè)值。 
    如果你希望包括一個(gè)逗號,豎線(字符“|”)或大括號閉弧“}”在常量里面,你必須通過“%-編碼” 形式用“%”后緊跟一個(gè)兩位的16進(jìn)制代碼轉(zhuǎn)譯后替換原來的字符,一個(gè)逗號是“%2c”,一個(gè)豎線符是“%7c”,一個(gè)大括號閉弧是“%7d”。 
    DefaultValue 可以包括常量,然而,如上所訴內(nèi)嵌的常量的大括號的閉弧 
    (“}”) 必須被改成“%7d”才可以。 
    {srcexe}
    安裝程序的文件名全稱(包括全程路徑和文件名),例如“C:\SETUP.EXE”。 
    {username} 
    運(yùn)行安裝程序的用戶的名稱(函數(shù) GetUserName 的返回值)。 
    公共參數(shù) 

    有倆個(gè)可選的參數(shù)可以在所有的段里面的任何項(xiàng)中使用,它們是: 

    MinVersion 

    說明: 
    該項(xiàng)處理所需的分別最低的 Windows 版本和 Windows NT 版本. 如果將某個(gè)版本號指定為 0 那么在該平臺上就再也不會處理這項(xiàng)了,版本創(chuàng)建編號(Build numbers)和(或)服務(wù)包級別(Service pack levels)也可以被包括在版本號當(dāng)中。這個(gè)參數(shù)將會覆蓋位于 [Setup] 段當(dāng)中的 MinVersion 關(guān)鍵字。 

    示例: 
    MinVersion: 4.0,4.0 

    OnlyBelowVersion 

    說明: 
    基本上是和 MinVersion 相反,該項(xiàng)所指定的最低的 Windows 版本 和 Windows NT 
    版本將不會被處理,例如:如果你指定了 4.1,5.0 并且用戶運(yùn)行在 Windows 95 或 NT 4.0 下,那么該項(xiàng)將會被處理,但是如果用戶運(yùn)行在 Windows 98 (報(bào)告的版本信息是 4.1)或 Windows 2000 (報(bào)告的版本信息是 NT 5.0),則該項(xiàng)就不會被處理。使用“0”表示該版本號上限的限制。版本創(chuàng)建編號(Build numbers)和(或)服務(wù)包級別(Service pack levels) 也可以包括在版本號當(dāng)中。這個(gè)參數(shù)將會覆蓋位于 [Setup] 段當(dāng)中的 OnlyBelowVersion 關(guān)鍵字。 

    示例: 
    OnlyBelowVersion: 4.1,5.0 

    其它注意事項(xiàng) 

    安裝程序是按照段內(nèi)的排列順序來處理所有的項(xiàng)的,[UninstallRun] 段是個(gè)例外,卸載時(shí)處理所有項(xiàng)的順序是與安裝程序相反的。 

    在這個(gè)示例中: 

    [INI] 
    Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Flags: uninsdeletesectionifempty 
    Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Key: "InstallPath"; String: "{app}"; Flags: uninsdeleteentry

    安裝程序首先記錄下第一項(xiàng)的數(shù)據(jù) uninsdeletesectionifempty 標(biāo)記到卸載記錄中。創(chuàng)建第二項(xiàng)的鍵,然后記錄下 uninsdeleteentry 標(biāo)記的數(shù)據(jù)到卸載記錄中,當(dāng)程序被卸載時(shí),卸載程序?qū)⑹紫忍幚?nbsp;uninsdeleteentry 標(biāo)記,刪除該項(xiàng),然后才是 uninsdeletesectionifempty 標(biāo)記。 

    如果安裝程序在用戶的系統(tǒng)中檢測到一個(gè) Windows 共享版本,Windows 系統(tǒng)目錄是寫保護(hù)的,{sys} 目錄常量將會被轉(zhuǎn)變?yōu)橛脩舻?nbsp;Windows 目錄替代系統(tǒng)目錄。 
    在命令行執(zhí)行編譯器 

    腳本文件也可以在命令行被安裝編譯器編譯。命令行的使用方法如下:

    compiler /cc <腳本文件> 
    示例: 
    compil16 /cc c:\isetup\sample16\sample16.iss 
    compil32 /cc "c:\isetup\sample32\my script.iss" 

    在上面列出的例子中,帶有空格的文件名必須用引號括起來。 
    在命令行運(yùn)行安裝編譯器不支持正常的進(jìn)程顯示或任何錯誤消息。如果編譯成功安裝編譯器將會返回一個(gè)退出代碼 0,如果是 1 則表示有無效的命令行參數(shù), 2 則表明編譯失敗。

    安裝命令行參數(shù) 

    安裝程序本身接受三個(gè)不同的可選的命令行參數(shù),這些參數(shù)能被用于系統(tǒng)管理員和其他程序調(diào)用安裝程序。 

    /SP- 

    在安裝程序開始時(shí)禁止“即將安裝 ... ,繼續(xù)嗎?”的提示,當(dāng)然,它將使 [Setup] 段的 DisableStartupPrompt 關(guān)鍵字設(shè)置為 yes 無效 

    /DIR="x:\dirname" 

    替換在“選擇目標(biāo)文件夾”向?qū)ы擄@示的默認(rèn)的目錄名,必需要指定一個(gè)全程路徑名。如果 [Setup] 段的 DisableDirPage 關(guān)鍵字被設(shè)置為 yes, 那么該命令行參數(shù)將被忽略。 

    /GROUP="group name" 

    替換在“選擇程序組”向?qū)ы擄@示的默認(rèn)的程序組名,如果 [Setup] 段的 DisableProgramGroupPage 關(guān)鍵字被設(shè)置為 yes, 那么該命令行參數(shù)將被忽略。 

      
     
    安裝腳本段
     
    安裝腳本段 
    [Setup] 段 
    [Dirs] 段 
    [Files] 段 
    [Icons] 段 
    [INI] 段 
    [InstallDelete] 段 
    [Messages] 段 
    [Registry] 段 
    [Run] 段 
    [UninstallDelete] 段 
    [UninstallRun] 段 
    其它問題: 

    其它注意事項(xiàng) 
    在命令行執(zhí)行編譯器 
    安裝命令行參數(shù) 
     
     
    [Setup] 段 
    這個(gè)段包括了安裝和卸載程序所使用的全局設(shè)置,并且有些關(guān)鍵字在你建立的安裝程序中是必須要用到的。這個(gè)是 [Setup] 段的一個(gè)示例: 
    [Setup]
    AppName=My Program
    AppVerName=My Program version 1.4
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program 
    下面的這些關(guān)鍵字可以被放進(jìn) [Setup] 段中去:

    (粗體字 表示是必需的)

    編譯器相關(guān) 

    CompressLevel 
    DiskClusterSize 
    DiskSize 
    DiskSpanning 
    DontMergeDuplicateFilesOutputBaseFilename 
    OutputDir 
    ReserveBytes 
    SourceDir 
    UseSetupLdr 
    安裝程序相關(guān)
    功能關(guān)鍵字: 這些關(guān)鍵字影響到安裝程序的操作,或是保存起來以備將來卸載時(shí)所用到。 

    AdminPrivilegesRequired 
    AllowNoIcons 
    AllowRootDirectory 
    AlwaysCreateUninstallIcon 
    AlwaysRestart 
    AlwaysUsePersonalGroup 
    AppName 
    AppId 
    AppMutex 
    AppPublisher 
    AppPublisherURL 
    AppSupportURL 
    AppUpdatesURL 
    AppVersion 
    AppVerName 
    ChangesAssociations 
    CreateAppDir 
    CreateUninstallRegKey 
    DefaultDirName 
    DefaultGroupName 
    DirExistsWarning 
    DisableAppendDir 
    DisableDirPage 
    DisableFinishedPage 
    DisableProgramGroupPage 
    DisableStartupPrompt 
    EnableDirDoesntExistWarning 
    ExtraDiskSpaceRequired 
    InfoAfterFile 
    InfoBeforeFile 
    LicenseFile 
    MessagesFile 
    MinVersion 
    OnlyBelowVersion 
    Password 
    Uninstallable 
    UninstallDisplayIcon 
    UninstallDisplayName 
    UninstallFilesDir 
    UninstallIconName 
    UninstallLogMode 
    UpdateUninstallAppName 
    UsePreviousAppDir 
    UsePreviousGroup 
    外觀界面關(guān)鍵字:這些關(guān)鍵字決定了安裝程序的外觀樣式。 

    AppCopyright 
    BackColor 
    BackColor2 
    BackColorDirection 
    BackSolid 
    WindowShowCaption 
    WindowStartMaximized 
    WindowResizable 
    WindowVisible 
    WizardImageBackColor 
    WizardImageFile 
    廢棄的 

    Bits 
    DisableDirExistsWarning 
    OverwriteUninstRegEntries 
     
    [Dirs] 段 
    這個(gè)段是可選的,而且通常對于大多數(shù)簡單的應(yīng)用程序來書不是必需的。這個(gè)段是用來創(chuàng)建除用戶選擇的應(yīng)用程序目錄以外的其它的附加的目錄,它是被自動創(chuàng)建的。這個(gè)段所創(chuàng)建的子目錄是可以脫離主應(yīng)用程序而共同使用的目錄。當(dāng)然在 [Files] 段里面的文件被復(fù)制到某個(gè)目錄之前你并不一定要創(chuàng)建它,然而在卸載程序的時(shí)候在 [Dirs] 和 [UninstallDelete] 段里面沒有指定的目錄就不會被刪除。 
    這是一個(gè) [Dirs] 段的示例: 

    [Dirs] 
    Name: "{app}\data"
    Name: "{app}\bin" 
    上面的示例演示了在安裝程序的應(yīng)用程序目錄被創(chuàng)建之后,在應(yīng)用程序的下面建立兩個(gè)子目錄。

    下面列出了支持的參數(shù):

    Name (必需的) 

    說明: 
    要被建立的目錄的名稱,通常它以一個(gè)目錄常數(shù)開始。

    示例: 
    Name: "{app}\MyDir" 
    Flags 

    說明: 
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng):

    deleteafterinstall
    告訴安裝程序象平常一樣建立目錄,但是當(dāng)安裝程序結(jié)束(或被中止)之后這個(gè)目錄是空的情況下將這個(gè)目錄刪除。如果釋放腳本的 [Run] 段所執(zhí)行的程序所需要的臨時(shí)的數(shù)據(jù)時(shí)這個(gè)選項(xiàng)是很有用的。

    uninsalwaysuninstall
    告訴卸載程序試圖刪除這個(gè)目錄而不管它是不是空的。通常卸載程序只會嘗試刪除在安裝之前不存在的目錄。 

    uninsneveruninstall
    告訴卸載程序不要去刪除這個(gè)目錄。在默認(rèn)情況下,在 [Dirs] 段里面指定的目錄如果是空的卸載程序就會嘗試將其刪除。 

    示例: 
    Flags: uninsneveruninstall 
    公共參數(shù)
     
    [Files] 段 
    這個(gè)段是可選的,但對于大多數(shù)安裝程序來說是必不可少的。在這里定義了安裝程序需要復(fù)制到用戶的系統(tǒng)當(dāng)中的全部文件。 
    在安裝期間,卸載程序和數(shù)據(jù)被自動的復(fù)制到應(yīng)用程序的目錄當(dāng)中去,因此你不必手工的將它們添加到 [Files] 段。 

    這是一個(gè) [Files] 段的示例: 

    [Files] 
    Source: "CTL3DV2.DLL"; DestDir: "{sys}"; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall 
    Source: "MYPROG.EXE"; DestDir: "{app}" 
    Source: "MYPROG.HLP"; DestDir: "{app}" 
    Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme 
    下面列出了支持的參數(shù): 

    Source (必需的) 

    說明:
    “源文件”的名稱,如果沒有提供全程路徑時(shí)編譯器會根據(jù)安裝程序的源目錄的路徑預(yù)先設(shè)定號路徑。

    允許通配符,根據(jù)通配符可以在一項(xiàng)里面簡單的指定一組文件。當(dāng)使用了通配符的時(shí)候,所有匹配的文件使用相同的可選項(xiàng)。

    當(dāng)標(biāo)記(flag) external 被指定的時(shí)候,Source 必須是一個(gè)在發(fā)布介質(zhì)或用戶的系統(tǒng)中已經(jīng)存在的文件(或帶有通配符)的全程路徑。(例如“{src}\license.ini”).

    示例:
    Source: "MYPROG.EXE" 
    DestDir (必需的) 

    說明:
    這個(gè)是文件將要被安裝到用戶的系統(tǒng)當(dāng)中去的目錄。它幾乎總是以一個(gè)目錄常量開始的。如果指定的路徑不存在于用戶的系統(tǒng)中,它將會被自動的創(chuàng)建。

    示例: 
    DestDir: "{app}" 
    DestName 

    說明: 
    這個(gè)常數(shù)為將要安裝到用戶的系統(tǒng)中的文件指定一個(gè)新的名字。在默認(rèn)的情況下,安裝程序使用的是同 Source 參數(shù)一樣的文件名,因此在多數(shù)情況下不需要指定該參數(shù)。 

    示例: 
    DestName: "MYPROG2.EXE" 
    CopyMode 

    默認(rèn): 
    normal 

    說明: 
    “復(fù)制模式”,指定文件復(fù)制的規(guī)則,必須是下列規(guī)則之一。

    normal
    這是最常使用的選項(xiàng)。如果文件已經(jīng)存在于用戶的系統(tǒng)當(dāng)中并且比要復(fù)制的文件的版本更新時(shí)(由文件的版本信息決定),安裝程序?qū)蛴脩籼岢鲈儐柺欠褚鎿Q掉已經(jīng)存在的文件。如果已經(jīng)存在的文件不包含文件的版本信息,它將會被覆蓋而不會向用戶詢問。

    參見這個(gè)標(biāo)題下面的注意中關(guān)于版本檢查的重要說明。

    onlyifdoesntexist
    只有當(dāng)用戶的系統(tǒng)中的文件不存在時(shí)才復(fù)制文件。

    alwaysoverwrite
    總是覆蓋已經(jīng)存在的文件,甚至如果已經(jīng)存在的文件比被安裝的文件的版本更新的情況下也是如此。對于共享的系統(tǒng)文件永遠(yuǎn)也不要這樣做! 

    alwaysskipifsameorolder 
    類似于 normal, 不同之處是如果遇到已經(jīng)存在的文件不會向用戶提出詢問。當(dāng)這個(gè)模式被使用時(shí),更新的一經(jīng)存在的文件時(shí)從來不會被替換的。 

    示例: 
    CopyMode: normal 
    Attribs 

    說明:
    為文件指定附加的“屬性”,它可以包括一個(gè)或多個(gè)屬性,它們是:readonly, hidden, system. 如果沒有指定這個(gè)參數(shù),安裝程序不會給文件指派任何特殊的屬性。

    示例: 
    Attribs: hidden system 
    FontInstall 

    說明:
    告訴安裝程序需要被安裝的文件是一個(gè)字體文件,該值是被保存到注冊表或 WIN.INI 文件中的字體名稱,這個(gè)名稱必須嚴(yán)格地和在資源管理器中雙擊字體文件看到的名稱相對應(yīng)。注意,安裝程序會自動的在字體名稱的末尾加上“(TrueType)”。

    如果這個(gè)字體文件不是一個(gè) TrueType 字體,你必須在 Flags 參數(shù)中指定 fontisnttruetype 標(biāo)記。

    建議在安裝字體到 {fonts} 目錄的時(shí)候使用復(fù)制模式參數(shù) onlyifdoesntexist 和標(biāo)記(flag)參數(shù) uninsneveruninstall.

    示例: 
    Source: "OZHANDIN.TTF"; DestDir: "{fonts}"; FontInstall: "Oz Handicraft BT"; CopyMode: onlyifdoesntexist; Flags: uninsneveruninstall 
    Flags 

    說明: 
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng):

    comparetimestampalso
    (專門用途) 如果要被復(fù)制到用戶系統(tǒng)的文件已經(jīng)存在于用戶的系統(tǒng)當(dāng)中并且它們具有相同的版本信息,告訴安裝程序進(jìn)行時(shí)間戳(文件的日期時(shí)間屬性)的比較。 在正常情況下安裝程序不會覆蓋已經(jīng)存在的文件,但是當(dāng)使用了這個(gè)標(biāo)記的時(shí)候, 如果已存在的文件的時(shí)間戳比它的版本信息還要舊,安裝程序在安裝文件時(shí)就會覆蓋它。當(dāng)復(fù)制模式不是 normal 或 alwaysskipifsameorolder 這兩者之一時(shí)該標(biāo)記不起作用。

    confirmoverwrite
    當(dāng)文件已經(jīng)存在每個(gè)文件在復(fù)制之前始終向用戶提出詢問。

    deleteafterinstall
    告訴安裝程序象平常一樣復(fù)制文件,但是當(dāng)安裝程序結(jié)束(或被中止)之后將這個(gè)文件刪除。如果釋放腳本的 [Run] 段所執(zhí)行的程序所需要的臨時(shí)的數(shù)據(jù)時(shí)這個(gè)選項(xiàng)是很有用的。

    此標(biāo)記不能和下列標(biāo)記在一起組合使用: isreadme, regserver, regtypelib, restartreplace, sharedfile, uninsneveruninstall.

    external
    此標(biāo)記告訴 Inno Setup 不要將由 Source 參數(shù)指定的文件編譯進(jìn)安裝程序文件中,在復(fù)制文件的時(shí)候由發(fā)布介質(zhì)或用戶的系統(tǒng)中已經(jīng)存在文件代替。要獲得更多詳細(xì)的信息請參見 Source 參數(shù)的說明。

    fontisnttruetype
    如果 FontInstall 參數(shù)指定的是一個(gè) 非 TrueType 字體則使用此標(biāo)記。

    isreadme
    該文件是“自述(README)”文件,安裝程序中只有一個(gè)文件能夠使用此參數(shù)。當(dāng)有一個(gè)文件使用了這個(gè)參數(shù)時(shí),用戶將被詢問是否愿意在安裝程序結(jié)束時(shí)查看自述文件,如果選擇了是,安裝程序?qū)鶕?jù)文件的類型用默認(rèn)的程序打開這個(gè)文件,基于這個(gè)原因,自述文件應(yīng)該具有象 .txt, .wri 或 .doc. 這樣的擴(kuò)展名。

    注意如果安裝程序要重新啟動用戶的計(jì)算機(jī)(比如安裝了一個(gè)帶有 restartreplace 參數(shù)的文件或在 [Setup] 段中的 AlwaysRestart 
    關(guān)鍵字的值為 yes),安裝程序就不會向用戶詢問是否要查看自述文件。

    overwritereadonly
    始終覆蓋一個(gè)只讀 (read-only) 文件,如果沒有這個(gè)參數(shù),當(dāng)一個(gè)已存在的只讀文件要被覆蓋時(shí)安裝程序?qū)儐栍脩簟?

    regserver
    注冊 OLE 服務(wù)器 (或稱作 ActiveX 控件)。如果設(shè)置了此標(biāo)記,安裝程序?qū)⒉檎也?zhí)行 DLL/OCX 的 DllRegisterServer 輸出,卸載程序調(diào)用 DllUnregisterServer. 當(dāng)結(jié)合 sharedfile 標(biāo)記一起使用,只有參照技術(shù)器的值歸零時(shí) DLL/OCX 才可能百取消登記 (unregistered). 

    要獲得更多的詳細(xì)信息請參見此標(biāo)題最后的 注意。

    regtypelib
    注冊類型庫 (.tlb). 卸載程序?qū)∠灶愋蛶?nbsp;(除非指定了 uninsneveruninstall 標(biāo)記). 就像 regserver 標(biāo)記那樣,如果結(jié)合 sharedfile 標(biāo)記一起使用,這個(gè)文件只有參照計(jì)數(shù)器的值歸零時(shí)才可能被卸載。

    要獲得更多的詳細(xì)信息請參見此標(biāo)題最后的 注意。

    restartreplace
    此標(biāo)記通常用于替換系統(tǒng)核心文件。如果文件已經(jīng)預(yù)先存在并發(fā)現(xiàn)它已經(jīng)被鎖定結(jié)果導(dǎo)致安裝程序無法替換該文件,安裝程序就會注冊此文件(對于 Windows 和 Windows NT 分別使用 WININIT.INI 和函數(shù) MoveFileEx)在下次啟動系統(tǒng)時(shí)被替換。當(dāng)遇到這種情況,在安裝過程結(jié)束時(shí)用戶將被提示重新啟動計(jì)算機(jī)。

    要保持 Windows95/98 和 3.1 的兼容性,使用了此標(biāo)記的項(xiàng)不應(yīng)該使用長文件名,只能支持“8.3”格式的文件名。(Windows NT 和 2000 則沒有此限制。) 

    重要提示:在 Windows NT/2000 下只有當(dāng)用戶具有管理員權(quán)限時(shí)使用 restartreplace 標(biāo)記才可以成功的替換使用中的文件。如果用戶沒有管理員權(quán)限,將會顯示如下的信息:“RestartReplace failed: MoveFileEx failed; code 5.”,因此,當(dāng)使用 restartreplace 標(biāo)記時(shí)強(qiáng)烈建議讓你的安裝程序需要管理員權(quán)限,在 [Setup] 段里面設(shè)置 "AdminPrivilegesRequired=1"。

    sharedfile
    (僅 Windows 95/NT 4+) 使用 Windows 的共享文件計(jì)數(shù)功能 (位于注冊表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs). 這樣會使應(yīng)用程序之間能夠共享一個(gè)文件,不用擔(dān)心在不注意的情況下會刪除文件。在每次安裝共享文件的時(shí)候,與這個(gè)文件相對應(yīng)的“參照計(jì)數(shù)器”的值就會加一,而每次應(yīng)用程序被卸載的時(shí)候,參照計(jì)數(shù)器的值就會減一,如果參照計(jì)數(shù)器的值歸零的時(shí)候,該共享文件就會被刪除(在用戶確認(rèn)的情況下)。 

    絕大多數(shù)被安裝到 Windows 系統(tǒng)目錄下的文件都應(yīng)當(dāng)使用這個(gè)標(biāo)記,包括 .OCX 和 .DPL (Delphi 3 package) 文件。不使用這個(gè)標(biāo)記的僅有的一個(gè)例外是 MFC DLLs. 作為替代,應(yīng)該在復(fù)制模式中使用 onlyifdoesntexist ,并結(jié)合 uninsneveruninstall 標(biāo)記,或者是如果安裝單獨(dú)發(fā)布的 MFC DLL 的最近的版本,則使用復(fù)制模式 alwaysskipifsameorolder ,并結(jié)合使用標(biāo)記 uninsneveruninstall 和 restartreplace. 

    當(dāng)安裝程序被運(yùn)行在一個(gè) NT 3.51 系統(tǒng)時(shí),被安裝的帶有此標(biāo)記的文件就再也不會被刪除了。

    skipifsourcedoesntexist
    只有當(dāng) external 標(biāo)記也使用了的時(shí)候這個(gè)標(biāo)記才會有用。它會告訴安裝程序如果源文件不存在的話則無任何提示的(靜靜的)跳過該項(xiàng),如果沒有使用這個(gè)標(biāo)記則會顯示一個(gè)錯誤消息。

    uninsneveruninstall
    從來不會卸載這個(gè)文件。此標(biāo)記應(yīng)當(dāng)被保守地使用,而且通常它是和復(fù)制模式 onlyifdoesntexist 在一起結(jié)合使用。意思是用于安裝一個(gè)特別公共的共享文件,就像 CTL3DV2.DLL 或者一個(gè) MFC DLL, 你不應(yīng)該用卸載程序去刪除這個(gè)文件的原因是以后其它的應(yīng)用程序也要使用到它。

    示例:
    Flags: isreadme 
    公共參數(shù)

    注意

    如果安裝程序正在安裝一個(gè)已經(jīng)存在于用戶的系統(tǒng)當(dāng)中的 16 位的 DLL 或者 EXE 文件,兩個(gè)文件的版本信息是不會相比較的,已存在的文件將始終被覆蓋(除非當(dāng)復(fù)制模式的參數(shù)是 onlyifdoesntexist),這是由一個(gè) Windows 的限制決定的,32 位的程序就像 Inno Setup 只能讀取 32 位可執(zhí)行文件的版本信息。

    在安裝程序的最后一步安裝程序會注冊所有的帶有 regserver 或 regtypelib 標(biāo)記的文件。然而,如果 [Setup] 段關(guān)鍵字 AlwaysRestart 的值是 yes, 或如果有文件帶有 restartreplace 標(biāo)記,全部的文件將會在下次啟動的時(shí)候注冊(在 Windows 注冊表的 RunOnce 創(chuàng)建一項(xiàng))。 

    當(dāng)帶有 .HLP 擴(kuò)展名(Windows 的幫助文件)的文件被卸載的時(shí)候,其對應(yīng)的 .GID 和 .FTS 文件同樣會被自動刪除。
     
    [Icons] 段 
    這個(gè)段是可選的,但對于大多數(shù)安裝程序來說是必不可少的。它定義了所有的安裝程序要在用戶系統(tǒng)中創(chuàng)建的程序管理器/開始菜單的圖標(biāo)。它也能被用來在其它的位置創(chuàng)建應(yīng)用程序圖標(biāo)(快捷方式),比如就像桌面。 
    卸載圖標(biāo)是由安裝程序內(nèi)部創(chuàng)建的,這樣一來你就不需要在 [Icons] 段里面手工的添加它。默認(rèn)情況下,安裝程序運(yùn)行在 Windows 95/NT 4+ 的時(shí)候是不創(chuàng)建卸載圖標(biāo)的 ――除了安裝程序運(yùn)行于 Windows NT 3.51 的時(shí)候。 要強(qiáng)制創(chuàng)建一個(gè)卸載圖標(biāo),請使用 [Setup] 段里面的 AlwaysCreateUninstallIcon 關(guān)鍵字。

    這是 [Icons] 段的一個(gè)示例: 

    [Icons] 
    Name: "{group}\My Program"; Filename: "{app}\MYPROG.EXE"; WorkingDir: "{app}" 
    下面列出了支持的參數(shù):

    Name (必需的) 

    說明:
    要創(chuàng)建的應(yīng)用程序圖標(biāo)的名稱和位置。此參數(shù)可以使用任何任何“外殼文件夾常量”和“目錄常量”。

    注意: 記住 Windows 95/NT 4+ 的應(yīng)用程序圖標(biāo)是作為文件直接存儲的,這樣一來普通文件所不允許使用的字符都不能用來作為應(yīng)用程序圖標(biāo)的名稱。

    示例:
    Name: "{group}\My Program" 
    Name: "{group}\Subfolder\My Program" 
    Name: "{userdesktop}\My Program" 
    Name: "{commonprograms}\My Program" 
    Filename (必需的) 

    說明:
    應(yīng)用程序圖標(biāo)的命令行文件名,它通常以一個(gè)目錄常量開始。

    示例:
    Filename: "{app}\MYPROG.EXE" 
    Parameters 

    說明:
    應(yīng)用程序圖標(biāo)的可選的命令行參數(shù),可以包括常量,在 Windows 95/NT 4+ 下運(yùn)行時(shí)才可以包括引號。

    示例:
    Parameters: "/play filename.mid" 
    WorkingDir 

    說明: 
    應(yīng)用程序圖標(biāo)的工作目錄,應(yīng)用程序啟動的那個(gè)目錄,如果沒有指定該參數(shù)或該參數(shù)是空的,Windows 將使用一個(gè)默認(rèn)的路徑,它隨著 Windows 的版本的不同而改變。這個(gè)參數(shù)可以包括常量。

    示例:
    WorkingDir: "{app}" 
    Comment 

    說明:
    指定快捷方式的“注釋”(或“描述”)欄的內(nèi)容,它決定了在 Windows 2000 下的彈出信息,早期的 Windows 版本忽略這個(gè)注釋。

    示例: 
    Comment: "This is my program" 
    IconFilename 

    說明:
    要被顯示的一個(gè)自定義的應(yīng)用程序圖標(biāo)(位于用戶的系統(tǒng)中)的文件名。它可以是一個(gè)包含圖標(biāo)的可執(zhí)行文件映像 (.exe, .dll) 或一個(gè) .ico 文件。如果沒有指定該參數(shù)或該參速是空的,Windows 將會使用文件的默認(rèn)圖標(biāo)。這個(gè)參數(shù)可以包括常量。

    示例:
    IconFilename: "{app}\myicon.ico" 
    IconIndex 

    默認(rèn):


    說明:
    由 IconFilename 指定的文件的以零開始的圖標(biāo)索引。 

    示例:
    IconIndex: 0 
    Flags 

    說明:
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng):

    closeonexit
    當(dāng)設(shè)置了此標(biāo)記時(shí),安裝程序?qū)⒃O(shè)置快捷方式的“退出時(shí)關(guān)閉”屬性。這個(gè)標(biāo)記僅對基于 MS-DOS 的應(yīng)用程序有效 (具體說就是是否具有 .pif 擴(kuò)展名)。如果這個(gè)標(biāo)記和 dontcloseonexit 標(biāo)記都沒有指定,安裝程序就不會去改變“退出時(shí)關(guān)閉”的屬性。

    createonlyiffileexists
    當(dāng)設(shè)置了此標(biāo)記時(shí),安裝程序只創(chuàng)建已存在的由 Filename 參數(shù)指定的文件的應(yīng)用程序圖標(biāo)。

    dontcloseonexit
    類似于 closeonexit, 只是會導(dǎo)致安裝程序不選定“退出時(shí)關(guān)閉”屬性。

    runmaximized
    當(dāng)設(shè)置了此標(biāo)記時(shí),安裝程序?qū)?yīng)用程序圖標(biāo)的“運(yùn)行方式”設(shè)置為“最大化”,這樣當(dāng)程序被啟動時(shí)以最大化的模式初始化。當(dāng)安裝在 Windows NT 3.51 上時(shí)該標(biāo)記不起作用。

    runminimized
    當(dāng)設(shè)置了此標(biāo)記時(shí),安裝程序?qū)?yīng)用程序圖標(biāo)的“運(yùn)行方式”設(shè)置為“最小化”,這樣當(dāng)程序被啟動時(shí)以最小化的模式初始化。

    uninsneveruninstall
    告訴卸載程序不要刪除這個(gè)應(yīng)用程序圖標(biāo)。

    useapppaths
    當(dāng)設(shè)置了此標(biāo)記時(shí),在 Filename 參數(shù)里僅指定沒有路徑的文件名,以后安裝程序?qū)淖员淼?nbsp;"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths" 鍵里面自動得到預(yù)先設(shè)定好的對應(yīng)該文件名的路徑名。

    示例:
    Flags: runminimized 
    公共參數(shù)
     
    [INI] 段 
    此段時(shí)可選的,它定義了一些 .INI 文件項(xiàng),在文件被復(fù)制以后安裝程序在用戶的系統(tǒng)中的設(shè)定。 
    這是 [INI] 段的一個(gè)示例: 

    [INI] 
    Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Flags: uninsdeletesection 
    Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Key: "InstallPath"; String: "{app}" 
    下面列出了支持的參數(shù):

    Filename (必需的) 

    說明:
    你想要安裝程序修改的 .INI 文件的文件名,它可以包括常量。如果這個(gè)參數(shù)時(shí)空的,它將寫入系統(tǒng)的 Windows 目錄的 WIN.INI 文件。

    示例:
    Filename: "{win}\MYPROG.INI" 
    Section (必需的) 

    說明:
    要被創(chuàng)建的段的名稱,可以包括常量。

    示例:
    Section: "Settings" 
    Key 

    說明:
    要被設(shè)定的鍵的名稱,可以包括常量。如果沒有指定這個(gè)參數(shù)或這個(gè)參數(shù)是空的就不會創(chuàng)建任何鍵。

    示例: 
    Key: "Version" 
    String 

    說明:
    賦給鍵的值,可以使用常量。如果沒有指定該參數(shù)不會創(chuàng)建該鍵。

    示例:
    String: "1.0" 
    Flags 

    說明:
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng): 

    createkeyifdoesntexist 
    只有該鍵不存在是才能給改建賦值。

    uninsdeleteentry 
    程序被卸載時(shí)刪除該項(xiàng),它可以結(jié)合 uninsdeletesectionifempty 標(biāo)記一起使用。 

    uninsdeletesection 
    當(dāng)程序被卸載時(shí),刪除該項(xiàng)所在的整個(gè)段。對于由 Windows 本身使用的段(例如一些在 WIN.INI 中的段)來說這明顯不是一個(gè)好的主意,你應(yīng)當(dāng)將它用到自己的應(yīng)用程序中的段。 

    uninsdeletesectionifempty 
    類似于 uninsdeletesection, 但是只能在該段中沒有了鍵的時(shí)候才能刪除。它可以結(jié)合 uninsdeleteentry 標(biāo)記一起使用。 

    示例: 
    Flags: uninsdeleteentry 
    公共參數(shù)
     
    [InstallDelete] 段 
    它使用的是和 [UninstallDelete] 段相同的格式,不同的是它是在安裝程序的第一步被處理的。  
    [Messages] 段 
    [Messages] 段是用于定義安裝程序和卸載程序所顯示的消息。通常你不需要在你的腳本文件里面創(chuàng)建 [Messages] 段,默認(rèn)情況下所有的顯示消息都由 Inno Setup 包含的文件 Default.isl 定義。 (或由 [Setup] 段的關(guān)鍵字 MessagesFile 指定的任何文件). 
    然而,單獨(dú)的消息可以被你的腳本中創(chuàng)建的 [Messages] 段覆蓋。要這么做,首先你需要知道你要改變的消息的標(biāo)識 (ID),在搜索 Default.isl 文件時(shí)能很容易的發(fā)現(xiàn)。例如,你想要改變安裝向?qū)У陌粹o “下一步(&N)” 為 “向前(&F)”,該消息的標(biāo)識為“ButtonNext”,那么你應(yīng)該象這樣創(chuàng)建 [Messages] 段:

    [Messages] 
    ButtonNext=&Forward >

    有些消息帶有象 %1 和 %2 這樣的參數(shù),你可以重新排列參數(shù)的順序(例如將 %2 移到 %1 的前面)并且如果需要的話可以重復(fù)使用參數(shù)(例如“
    %1 ... %1 %2”)。在帶有參數(shù)的消息中,使用兩個(gè)連續(xù)的“%”代替一個(gè)嵌入的“%”,“%n”創(chuàng)建一個(gè)換行。

    如果你希望將 Inno Setup 的文本翻譯成其他語言修改并替換文件 Default.isl 或在你創(chuàng)建的腳本里面覆蓋每個(gè)消息,做一個(gè) Default.isl 的副本并另起一個(gè)名字就像 MyTranslation.isl. 在你要使用 MyTranslation.isl 的任何安裝程序中,簡單的將 [Setup] 段中的關(guān)鍵字 MessagesFile 指向該文件。

    特殊用途的標(biāo)識
    有幾個(gè) [Messages] 段的項(xiàng)實(shí)際上不是用于在屏幕上顯示的,它們是用于在安裝程序中指定所使用的字體和字型號的。這些可選項(xiàng)中的每一個(gè)都有一個(gè)前導(dǎo)下劃線字符 (“_”) 開始,請參閱 Default.isl 文件頭部的注釋的使用方法示例。 
     
    [Registry] 段 
    這個(gè)段是可選的,他定義了一些注冊表項(xiàng),用于在復(fù)制完文件之后創(chuàng)建在用戶的系統(tǒng)中。 
    下面是 [Registry] 段的一個(gè)示例。 

    [Registry] 
    Root: HKCU; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty 
    Root: HKCU; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey 
    Root: HKLM; Subkey: "Software\My Company"; Flags: uninsdeletekeyifempty 
    Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey 
    Root: HKLM; Subkey: "Software\My Company\My Program"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}" 
    下面列出了支持的參數(shù): 

    Root (必需的) 

    說明: 
    根鍵,必須是下列各項(xiàng)之一: 
    HKCR (HKEY_CLASSES_ROOT) 
    HKCU (HKEY_CURRENT_USER) 
    HKLM (HKEY_LOCAL_MACHINE) 
    HKU (HKEY_USERS) 
    HKCC (HKEY_CURRENT_CONFIG) 

    示例: 
    Root: HKCU 
    Subkey (必需的) 

    說明: 
    子鍵名稱,可以包括常量。 

    示例: 
    Subkey: "Software\My Company\My Program" 
    ValueType 

    說明: 
    鍵值的數(shù)據(jù)類型,必須是下列各項(xiàng)之一: 
    none 
    string 
    expandsz 
    multisz 
    dword 
    binary 
    如果指定了 none (默認(rèn)設(shè)置),安裝程序?qū)?chuàng)建一個(gè)沒有鍵值的鍵,在這種情況下將忽略 ValueName 和 ValueData 參數(shù)。 
    如果指定了 string,安裝程序?qū)?chuàng)建一個(gè)字符串 (REG_SZ) 值。 
    如果指定了 expandsz,安裝程序?qū)?chuàng)建一個(gè)擴(kuò)展字符串 (REG_EXPAND_SZ) 值。這種數(shù)據(jù)類型主要用在 Windows NT 上,但是也支持 Windows 95/98. 
    如果指定了 multisz,安裝程序?qū)?chuàng)建一個(gè)多行文本 (REG_MULTI_SZ) 值。 
    如果指定了 dword,安裝程序?qū)?chuàng)建一個(gè)整數(shù) (REG_DWORD) 值。 
    如果指定了 binary,安裝程序?qū)?chuàng)建一個(gè)二進(jìn)制 (REG_BINARY) 值。 

    示例: 
    ValueType: string 
    ValueName 

    說明: 
    要創(chuàng)建的鍵值的名稱,可以包含常量。如果它是空的,將會寫入“默認(rèn)”(Default)值中。如果ValueType 參數(shù)被設(shè)置為 none, 該參數(shù)將被忽略。 

    示例: 
    ValueName: "Version" 
    ValueData 

    說明:
    鍵值的數(shù)據(jù)。如果 ValueType 參數(shù)是 string, expandsz 或 multisz, 該參數(shù)是一個(gè)可以包含常量的字符串。如果數(shù)據(jù)類型是 dword, 該參數(shù)可以是一個(gè)十進(jìn)制整數(shù)(例如“123”)或者是一個(gè)十六進(jìn)制整數(shù)(例如“$7B”)。如果數(shù)據(jù)類型是 binary, 這是一個(gè)十六進(jìn)制字節(jié)序列的形式:“00 ff 12 34”。如果數(shù)據(jù)類型是 none, 該參數(shù)被忽略。

    對于一個(gè) string, expandsz 或者 multisz 類型的鍵值,在這個(gè)參數(shù)中你可以使用一個(gè)特殊的叫做 {olddata} 的常量。{olddata} 常量代表的是注冊表鍵值原來的數(shù)據(jù)。如果你想要添加一個(gè)字符串到一個(gè)已經(jīng)存在的鍵值時(shí) {olddata} 常量時(shí)很有用的,例如,{olddata};{app}.如果該鍵值并不存在或者不是一個(gè)字符串類型,這時(shí) {olddata} 常量會被默默地刪除。如果正要被創(chuàng)建的鍵值是 multisz 類型,但是已經(jīng)存在的鍵值并不是多行文本 (例如它是 REG_SZ 或 REG_EXPAND_SZ )類型,這時(shí) {olddata} 常量也會被默默地刪除,反之亦然。

    對于一個(gè) multisz 類型的鍵值,在這個(gè)參數(shù)中你可以使用一個(gè)特殊的叫做 {break} 的常量來嵌入換行(nulls)。

    示例: 
    ValueData: "1.0" 
    Flags 

    說明: 
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng): 

    createvalueifdoesntexist 
    當(dāng)指定了此標(biāo)記時(shí),只有當(dāng)相同名稱的鍵值不存在時(shí)安裝程序才會創(chuàng)建該鍵值。如果數(shù)據(jù)類型是 none ,或者同時(shí)指定了 deletevalue 標(biāo)記將忽略該標(biāo)記。 

    deletekey 
    當(dāng)指定了此標(biāo)記時(shí),如果該項(xiàng)已存在,安裝程序會首先嘗試去刪除它,包括其中的鍵值和子鍵,然后如果 ValueType 不是 none 的話它將創(chuàng)建一個(gè)新的鍵和鍵值。 

    deletevalue 
    當(dāng)指定了此標(biāo)記時(shí),如果該鍵值已存在,安裝程序會首先嘗試刪除該鍵值。然后如果 ValueType 不是 none ,并且該鍵不存在時(shí)它將創(chuàng)建該鍵和新的鍵值。 

    dontcreatekey 
    當(dāng)指定了此標(biāo)記時(shí),如果該鍵不存在于用戶的系統(tǒng)中安裝程序?qū)⒉粫噲D創(chuàng)建該鍵或任何鍵值。如果改建不存在將不顯示錯誤消息。 

    典型地該標(biāo)記同 uninsdeletekey 標(biāo)記結(jié)合使用,以便在安裝時(shí)沒有創(chuàng)建該鍵時(shí)確保在卸載期間刪除該鍵。 

    noerror 
    如果安裝程序在創(chuàng)建鍵或鍵值時(shí)無論什么原因失敗不顯示錯誤消息。 

    preservestringtype 
    該標(biāo)記只用于 ValueType 參數(shù)為 string 或 expandsz 時(shí)。當(dāng)指定了此標(biāo)記并且該鍵值不存在或者已存在的鍵值不是字符串類型 (REG_SZ 或 REG_EXPAND_SZ) 時(shí),該項(xiàng)將由 ValueType 指定的類型創(chuàng)建,如果該鍵值存在并且是一個(gè)字符串類型,該項(xiàng)將由與預(yù)先存在的鍵值相同的鍵值類型替代。 

    uninsclearvalue 
    當(dāng)程序被卸載時(shí),將設(shè)置該鍵值的數(shù)據(jù)為空的字符串 (類型 REG_SZ). 該標(biāo)記不能同 uninsdeletekey 標(biāo)記一起使用。 

    uninsdeletekey 
    當(dāng)程序被卸載時(shí),刪除整個(gè)鍵,包括其下全部的鍵值和子鍵。對于由 Windows 自身使用的鍵來說使用該標(biāo)記明顯不是一個(gè)好的主意,你應(yīng)當(dāng)將該標(biāo)記應(yīng)用到你自己的應(yīng)用程序鍵中。 

    uninsdeletekeyifempty 
    當(dāng)程序被卸載時(shí),如果該鍵下沒有其它鍵值和子鍵則將其刪除。該標(biāo)記可以結(jié)合 uninsdeletevalue 標(biāo)記一起使用。 

    uninsdeletevalue 
    當(dāng)程序卸載時(shí)刪除該鍵值,該標(biāo)記可以結(jié)合 uninsdeletekeyifempty 標(biāo)記一起使用。 

    注意:對于 Inno Setup 1.1 之前的版本,你可以與 none 數(shù)據(jù)類型一起使用該標(biāo)記則將會成為 “delete key if empty” (如為空則刪除該鍵)功能的標(biāo)記。這個(gè)技巧現(xiàn)在已經(jīng)不在被支持,你必須使用 uninsdeletekeyifempty 標(biāo)記來實(shí)現(xiàn)該功能。 

    示例: 
    Flags: uninsdeletevalue 
    公共參數(shù)
     
    [Run] & [UninstallRun] 段 
    [Run] 段是可選的,指定任意數(shù)量的程序在成功安裝程序以后及顯示結(jié)束對話框之前被執(zhí)行。同樣 [UninstallRun] 段也是可選的,指定任意數(shù)量的程序在“卸載程序”的第一步時(shí)被執(zhí)行。除非下面有其它說明,兩個(gè)段共有相同的語法。 
    每個(gè)程序按照你的腳本編排的順序被執(zhí)行,當(dāng)出路 [Run]/[UninstallRun] 的項(xiàng)時(shí),安裝程序?qū)鹊疆?dāng)前的程序終止之后才處理下一個(gè),當(dāng)然除非使用了 nowait 標(biāo)記。

    這是一個(gè) [Run] 段的示例。 

    [Run] 
    Filename: "{app}\INIT.EXE"; Parameters: "/x" 
    下面列出了支持的參數(shù):

    Filename (必需的) 

    說明: 
    要被執(zhí)行的程序,或要被打開的文件/文件夾。如果 Filename 不是一個(gè) .exe 或 .com 文件,你必須在該項(xiàng)中使用 shellexec 標(biāo)記。該參數(shù)可以包含常量。 

    示例: 
    Filename: "{app}\INIT.EXE" 
    Parameters 

    說明: 
    程序可選的命令行參數(shù),該參數(shù)可以包含常量。 

    示例: 
    Parameters: "/x" 
    WorkingDir 

    說明:
    程序起始位置的目錄。如果沒有指定該參數(shù)或該參數(shù)是空的,將不會改變?nèi)魏翁厥獾哪夸洝T搮?shù)可以包含常量。 

    示例: 
    WorkingDir: "{app}" 
    RunOnceId 

    說明: 
    只在 [UninstallRun] 段里面有效。如果相同的應(yīng)用程序被安裝超過了一次,“run”項(xiàng)將會重復(fù)出現(xiàn)在卸載記錄文件里面。通過將一個(gè)字符串賦值給 RunOnceId, 你可以確保一個(gè)獨(dú)特的 [UninstallRun] 項(xiàng)在卸載期間只被執(zhí)行一次。例如,如果在卸載記錄中的“run”中有兩個(gè)或者更多的帶有 RunOnceId 參數(shù)并被設(shè)置為“DelService”的項(xiàng),則只有最后一個(gè)帶有一個(gè) RunOnceId 參數(shù)并被設(shè)置為“DelService”的項(xiàng)會被執(zhí)行。其余的將被忽略。注意 RunOnceId 參數(shù)是大小寫敏感的。 

    示例: 
    RunOnceId: "DelService" 
    Flags 

    說明:
    “標(biāo)記”,這個(gè)參數(shù)是一個(gè)附加的選項(xiàng)集合,可以多個(gè)選項(xiàng)共同使用,使用空格分開多個(gè)選項(xiàng)。下面列出了被支持的選項(xiàng): 

    nowait 
    如果指定了該標(biāo)記,將不會等待該項(xiàng)處理被結(jié)束運(yùn)行之前就進(jìn)行到下一個(gè) [Run] 項(xiàng),或者結(jié)束安裝程序。不能結(jié)合 waituntilidle 
    標(biāo)記一起使用。 

    shellexec 
    如果 Filename 不是一個(gè)可以直接執(zhí)行的文件(一個(gè) .exe 或 .com 文件)則該標(biāo)記是必需的。當(dāng)設(shè)置了該標(biāo)記時(shí),F(xiàn)ilename 可以是一個(gè)文件夾或者任何已注冊的文件類型 ―― 包括 .hlp, .doc 等等。文件將會被用戶系統(tǒng)中的與該文件類型相關(guān)聯(lián)的應(yīng)用程序打開,就像用戶在資源管理器中用鼠標(biāo)雙擊該文件一樣。 

    當(dāng)在 Filename 中使用一個(gè)文件夾名稱時(shí),建議在后面加上一個(gè)反斜杠字符(例如“{group}\”),以確保可能有相同名稱的程序不會被執(zhí)行。同樣要注意文件夾只能在 Windows 95/NT 4+ 上被打開,因?yàn)閺哪菚r(shí)起使用了一個(gè)新的資源管理器的外殼。

    使用 shellexec 標(biāo)記有一個(gè)缺點(diǎn),那就是無法等待該過程結(jié)束,因此,它始終就像被指定了 nowait 標(biāo)記一樣操作。 

    skipifdoesntexist 
    如果指定了該標(biāo)記,如果 Filename 不存在安裝程序?qū)⒉粫@示錯誤消息。它只適用于 [Run] 段,因?yàn)樾遁d程序從來不顯示錯誤消息在 [UninstallRun] 項(xiàng)執(zhí)行失敗時(shí)。 

    runmaximized
    如果指定了該標(biāo)記,將會在一個(gè)最大化的窗口啟動程序或文檔。

    runminimized 
    如果指定了該標(biāo)記,將會在一個(gè)最小化的窗口啟動程序或文檔。 

    waituntilidle
    如果指定了該標(biāo)記,它將暫停直到該過程正在等待用戶的輸入并且沒有未決的輸入時(shí),取而代之的是等待該過程的結(jié)束。(該標(biāo)記調(diào)用 WaitForInputIdle Win32 函數(shù).) 不能結(jié)核 nowait 一起使用。 

    示例:
    Flags: nowait 
    公共參數(shù)
     
    [UninstallDelete] 段 
    該段是可選的。該段是用來定義一些附加的除了那些被安裝的應(yīng)用程序之外的要被卸載程序刪除的文件或目錄。使用該段來刪除由你的應(yīng)用程序創(chuàng)建的 .INI 文件是一個(gè)常用的辦法。卸載程序在卸載過程的最后一步處理這些項(xiàng)。 
    這是一個(gè) [UninstallDelete] 段的示例: 

    [UninstallDelete] 
    Type: files; Name: "{win}\MYPROG.INI" 
    下面列出了支持的參數(shù): 

    Type (必需的) 

    說明: 
    指出要被卸載程序刪除的是什么。必須是下列之一: 

    files 
    Name 參數(shù)指定的是一個(gè)具體的文件的名稱,或者是一個(gè)帶有通配符的文件名。 

    filesandordirs 
    功能上類似于 files ,但是它還可以匹配目錄名稱,并且任何名稱匹配的目錄包括其中所有的文件和子目錄都會被刪除。 

    dirifempty 
    當(dāng)使用它時(shí),Name 參數(shù)必須是一個(gè)目錄的名稱,但是它不能包括通配符。只有在不包含任何文件和子目錄的情況下該目錄才能被刪除。 

    示例: 
    Type: files 
    Name (必需的) 

    說明: 
    要被刪除的文件或目錄的名稱。 

    注意:不要試圖通過在這里使用通配符去刪除 {app} 目錄下的全部文件,我強(qiáng)烈建議你不要這樣做的原因由兩個(gè),首先,用戶通常不會意識到可能還有他們放進(jìn)應(yīng)用程序目錄中的數(shù)據(jù)文件將要被刪除而不會得到警告(例如他們可能卸載應(yīng)用程序只是為了要將它轉(zhuǎn)移到一個(gè)不同的驅(qū)動器)。最好是將其保留一直到最后用戶想要刪除時(shí)用手工的方法刪除;還有,如果由于用戶的失誤碰巧將程序安裝到了一個(gè)錯誤的目錄當(dāng)中(例如 C:\WINDOWS)而這時(shí)去卸載它勢必結(jié)果會損失慘重。再次聲明,千萬不要這么做! 

    示例: 
    Name: "{win}\MYPROG.INI" 
    公共參數(shù)

     
     
     
    編譯器相關(guān)
     
    [Setup]: Bits 
    有效值: 32 

    說明: 
    1.3 版本以后已廢棄。 1.3 以前的版本的 Inno Setup 有一個(gè) 16 位的版本,編譯器將檢查 Bits 關(guān)鍵字以判斷是否使用了正確的編譯器來編譯腳本。以后 Inno Setup 的更新的版本只有 32 位的版本可用,你將不再需要設(shè)置該關(guān)鍵字。無論什么時(shí)候如果 Bits 被設(shè)置為“16”,編譯器都將會失敗并提示一個(gè)錯誤消息。 
    [Setup]: UseSetupLdr 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    告訴安裝程序編譯器要創(chuàng)建的安裝程序的類型,如果是 yes, 將把所有的安裝程序數(shù)據(jù)編譯成一個(gè)單獨(dú)的 SETUP.EXE (如果你愿意也可以重新命名為任何名稱)。如果是 no, 將把安裝程序數(shù)據(jù)編譯成至少三個(gè)文件:SETUP.EXE, SETUP.0 和 SETUP.1. 你想使用 no 的僅有的理由大概是為了調(diào)試的目的。 

    注意:不要在一個(gè)使用了多磁盤生成(DiskSpanning=yes)的安裝程序中使用 UseSetupLdr=no,當(dāng) UseSetupLdr 是 yes 時(shí),安裝程序被復(fù)制到用戶的臨時(shí) (TEMP) 目錄并在那里運(yùn)行,這不會發(fā)生在 UseSetupLdr 是 no 的情況下,如果 Windows 試圖去在磁盤上尋找 setup.exe 文件卻不能找到,因?yàn)樵隍?qū)動器中的是一個(gè)不同的磁盤,所以會產(chǎn)生錯誤的結(jié)果。
     
    [Setup]: BackColor, BackColor2 
    有效值: 一個(gè)值形如 $bbggrr, 這里的 rr, gg 和 bb 指定了兩位的亮度值(以十六進(jìn)制表示)分別為紅色,綠色和藍(lán)色。或者也可以是下列預(yù)定義的顏色名稱之一:clBlack(黑色),clMaroon(暗紅),clGreen(綠色),clOlive(橄欖綠),clNavy(深藍(lán)),clPurple(紫色),clTeal(深青),clGray(灰色),clSilver(淺灰),clRed(紅色),clLime(淺綠),clYellow(黃色),clBlue(藍(lán)色),clFuchsia(紫紅),clAqua(青綠),clWhite(白色)。  
      
    默認(rèn)值: BackColor 為 clBlue, 
    BackColor2 為 clBlack  

    說明: 
    BackColor 關(guān)鍵字自定的顏色被用在安裝程序窗口背景漸變色的上面(或左面,如果 BackColorDirection=lefttoright),BackColor2 指定的顏色被用在下面(或右面)。 

    如果 BackSolid=yes 則 BackColor2 的設(shè)置被忽略。

    示例:

    BackColor=clBlue 
    BackColor2=clBlack 
    BackColor=$FF0000 
    BackColor2=$000000
     
    [Setup]: BackColorDirection 
    有效值: toptobottom 或 lefttoright 
    默認(rèn)值: toptobottom 

    說明: 
    決定了安裝程序窗口的背景漸變色的漸變方向,如果 BackColorDirection 是 toptobottom, 將自上而下繪出,如果是 lefttoright, 將從左到右繪出。
     
    [Setup]: BackSolid 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    它決定了安裝程序窗口的背景色是使用單一顏色還是漸變色,如果是 yes, 背景色會是一單一顏色(顏色由 BackColor 指定,忽略 BackColor2)。
     
    [Setup]: AppName 
    說明: 
    這個(gè)必需的關(guān)鍵字指定了你正在安裝的應(yīng)用程序的標(biāo)題。不要包含版本號,那樣應(yīng)該使用 AppVerName 關(guān)鍵字。AppName 在安裝程序的全部過程始終被顯示,位于安裝程序屏幕的左上角和向?qū)е小?nbsp;
    示例: AppName=My Program 
     
    [Setup]: AppVerName 
    說明: 
    這個(gè)必需的關(guān)鍵字的值應(yīng)該和 AppName 的值相同(或相似),但是它還應(yīng)當(dāng)包含程序的版本號。 
    示例: AppVerName=My Program version 3.0 
     
    [Setup]: AppId 
    默認(rèn)值: 如果沒有指定 AppId 或者它是空值,編譯器將會把 AppName 的值作為 AppId 來使用。 

    說明: 
    AppId 的值是被存儲在卸載記錄文件 (unins???.dat) 里面的,以便隨后的安裝程序檢查后決定是否可以被添加到一個(gè)特定的已存在的卸載記錄,安裝程序只有在已存在的卸載記錄中的 AppId 和當(dāng)前的安裝程序的 AppId 相同是才能添加到卸載記錄。舉一個(gè)實(shí)際的例子,比方說你右兩個(gè)安裝程序,一個(gè)叫做《我的程序》而另外一個(gè)叫做《我的程序 1.1 升級版》,要想把《我的程序 1.1 升級版》添加到《我的程序》的卸載記錄中,你應(yīng)該設(shè)置兩個(gè)安裝程序的 AppId 為相同的值。 

    AppId 還決定了卸載注冊表鍵的實(shí)際名稱,被 Inno Setup 在其末尾附加上“_is1”(因此,如果 AppId 是 “MyProgram”,那么這個(gè)鍵將會被命名為“MyProgram_is1”)。Inno Setup 的早于 1.3 的版本的鍵的名稱是基于 AppVerName 的值的。 

    無論什么時(shí)候 AppId 都不會被顯示出來,因此你要求非常隱諱的感覺很輕松。 

    示例: AppId=MyProgram 
     
    [Setup]: AppMutex 
    說明: 
    如果用戶要為當(dāng)前的應(yīng)用程序升級為新的版本,然而當(dāng)前的應(yīng)用程序正在運(yùn)行,該關(guān)鍵字就是用來防止這類事情的發(fā)生的,而且它也可以防止用戶卸載正在運(yùn)行的應(yīng)用程序。它指定了一個(gè)或多個(gè)同名互斥體的名稱(多個(gè)互斥體用逗號隔開),安裝程序和卸載程序?qū)趩訒r(shí)檢查,如果存在,安裝程序/卸載程序?qū)@示如下的信息:“[安裝程序或卸載程序] 檢測到 [應(yīng)用程序] 現(xiàn)在正在運(yùn)行。請立即關(guān)閉它的全部實(shí)例,然后單機(jī)‘確定’繼續(xù),或者‘取消’退出。” 
    如果你要使用這個(gè)關(guān)鍵字就必須在你的應(yīng)用程序中以該關(guān)鍵字指定的名稱添加一個(gè)同名的互斥體。例如在 Delphi 和 C 中創(chuàng)建如下顯示的同名互斥體,該代碼應(yīng)該在應(yīng)用程序啟動是被執(zhí)行。 

    Delphi: 
    CreateMutex(nil, False, ’MyProgramsMutexName’); 

    C: 
    CreateMutex(NULL, FALSE, "MyProgramsMutexName"); 

    并不是必需在應(yīng)用程序被結(jié)束之前顯示的銷毀同名互斥體對象,系統(tǒng)會自動完成此功能,也不推薦你這樣做,因?yàn)槔硐霠顟B(tài)下同名互斥體對象必須存在直到進(jìn)程被完全終止。 

    注意在 Windows 下同名互斥體是大小寫敏感的。 

    要想獲得有關(guān)同名互斥體的更多信息請參閱 MS SDK 幫助的 CreateMutex 主題。 

    示例: AppMutex=MyProgramsMutexName 
     
    [Setup]: AppCopyright 
    說明: 
    可選的,它只是用來在安裝程序屏幕的右下角顯示一個(gè)版權(quán)消息。 
    示例: AppCopyright=Copyright ? 1997 My Company, Inc. 
     
    [Setup]: AppPublisher, AppPublisherURL, AppSupportURL, AppUpdatesURL, AppVersion 
    說明: 
    所有這些關(guān)鍵字都是用來在 Windows 2000 的控制面板“添加/刪除程序”的“支持”對話框中顯示一些信息。這些設(shè)置是可選的,并且在早期的 Windows 版本中是沒有作用的。 
    示例:
    AppPublisher=My Company, Inc. 
    AppPublisherURL=http://www.mycompany.com/ 
    AppVersion=1.5
     
    [Setup]: DefaultDirName 
    說明: 
    這是個(gè)必需的關(guān)鍵字,該值是默認(rèn)的目錄名稱,用于“選擇目錄頁”向?qū)АMǔK幸粋€(gè)目錄常量前綴。 
    如果 UsePreviousAppDir 是 yes (默認(rèn)值)并且安裝程序發(fā)現(xiàn)已經(jīng)安裝了一個(gè)相同應(yīng)用程序的早期版本,它將用先前選擇的目錄代替默認(rèn)的目錄名稱。 

    示例:

    如果你使用: 
    DefaultDirName={sd}\MYPROG 
    在 Setup 中,典型地應(yīng)有如下顯示: 
    C:\MYPROG 

    如果你使用: 
    DefaultDirName={pf}\My Program 
    在 Setup 中,典型地應(yīng)有如下顯示: 
    C:\Program Files\My Program 
     
    [Setup]: Uninstallable 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    它決定了 Inno Setup 的自動卸載程序是否被包含在安裝程序中。如果是 yes 將包含卸載程序,如果是 no 將不會包括可卸載支持,最終用戶只能用手工的方法刪除屬于你的應(yīng)用程序的文件。 
     
    [Setup]: MinVersion 
    格式: a.bb,c.dd, 這里的 a.bb 是表示 Windows 的版本,c.dd 是表示 Windows NT 的版本。 
    默認(rèn)值: 4,4 

    說明: 
    該關(guān)鍵字讓你指定運(yùn)行你的軟件所需要的最低的 Windows 或 Windows NT 的版本,默認(rèn)值是“4,4”,實(shí)際上它也可以被設(shè)置為“4,3.51”來支持 NT 3.51 . 要防止你的程序被運(yùn)行在 Windows 或 Windows NT 上,指定“0”為其中之一的最低版本。版本創(chuàng)建編號(Build numbers)和(或)服務(wù)包級別(Service pack levels)可以被包括在版本號中。 

    如果用戶的系統(tǒng)不適合所要求的最低版本,安裝程序?qū)⒔o出一個(gè)錯誤消息然后退出。
     
    [Setup]: OnlyBelowVersion 
    格式: a.bb,c.dd, 這里的 a.bb 是表示 Windows 的版本,c.dd 是表示 Windows NT 的版本。 
    默認(rèn): 0,0 

    說明: 
    該關(guān)鍵字讓你指定不能運(yùn)行你的軟件的最低的 Windows 或 Windows NT 的版本(亦即高于此版本則無法運(yùn)行)。指定 0 為其中之一的版本的意思是沒有版本上限。版本創(chuàng)建編號(Build numbers)和(或)服務(wù)包級別(service pack levels)可以被包括在版本號中。 

    該關(guān)鍵字實(shí)際上是和 MinVersion 恰好相反。 
     
    [Setup]: AdminPrivilegesRequired 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果設(shè)置為 yes, 而且用戶沒有管理員的權(quán)限,那么安裝程序在啟動的時(shí)候?qū)⒔o出一個(gè)錯誤消息(“安裝這個(gè)程序時(shí)你必須以管理員的身份登錄。”)。它只適用于 Windows NT/2000.
     
    [Setup]: DisableAppendDir 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    當(dāng)設(shè)置為 yes 時(shí),安裝程序不會自動的添加上次組件的路徑從 DefaultDirName 到用戶在“選擇目錄”向?qū)ы撋想p擊鼠標(biāo)選擇的目錄。此外,它設(shè)置目錄列表框的初始目錄為 DefaultDirName (如果該目錄存在)而不是上一級。
     
    [Setup]: EnableDirDoesntExistWarning 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    當(dāng)設(shè)置為 yes 時(shí),如果用戶選擇的文件夾不存在安裝程序?qū)@示一個(gè)消息框。當(dāng)這項(xiàng)為 yes 時(shí)通常你還應(yīng)該設(shè)置 DirExistsWarning=no。 
     
    [Setup]: AlwaysCreateUninstallIcon 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果該項(xiàng)為 yes, 除了在控制面板的添加/刪除程序中添加一項(xiàng)之外安裝程序還將創(chuàng)建一個(gè) “卸載 ...” 應(yīng)用程序圖標(biāo)。 

    在 NT 3.51 上安裝程序?qū)冀K創(chuàng)建這個(gè)應(yīng)用程序圖標(biāo)不管該項(xiàng)的設(shè)置,因?yàn)樗鼪]有包含“添加/刪除程序”的部件。
     
    [Setup]: ExtraDiskSpaceRequired 
    默認(rèn)值: 0 
    說明: 
    正常情況下,磁盤空間的需求是依照 [Files] 段中的所有文件的合計(jì)值計(jì)算出來并在向?qū)е斜伙@示的。如果不管什么原因你想要增加顯示的磁盤空間,以字節(jié)為單位設(shè)置 ExtraDiskSpaceRequired 的數(shù)值你想要合計(jì)該數(shù)字。 (1048576 字節(jié) = 1 兆字節(jié))
     
    [Setup]: CompressLevel 
    有效值: 0 到 9 
    默認(rèn)值: 7 

    說明: 
    這是一個(gè)從 1 到 9 的數(shù)字,它指定了要給文件使用多大的壓縮率,0 表示不壓縮,9 表示最大限度的壓縮。數(shù)字越大處理的就越慢,使用高于默認(rèn)值 7 的數(shù)字來壓縮并沒有多大的改善。
     
    [Setup]: CreateAppDir 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果該值設(shè)置位 no, 將不會創(chuàng)建應(yīng)用程序的目錄,也不會顯示“選擇目的文件夾”向?qū)ы摚⑶?nbsp;{app} 目錄常量會等效為 {win} 目錄常量。當(dāng) CreateAppDir 是 no 時(shí)如果卸載功能是允許的,卸載數(shù)據(jù)文件將會被創(chuàng)建于系統(tǒng)的 Windows 目錄。
     
    [Setup]: CreateUninstallRegKey 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果該值設(shè)置為 no, 安裝程序?qū)⒉粫诳刂泼姘宓?#8220;添加/刪除程序”中創(chuàng)建一項(xiàng)。這個(gè)可以用于你的應(yīng)用程序只是更新一個(gè)已經(jīng)存在的應(yīng)用程序而不想創(chuàng)建其它的項(xiàng),但是請不要完全的禁止卸載功能(通過 Uninstallable=no)。 

    當(dāng)這個(gè)關(guān)鍵字設(shè)置為 no 時(shí),UpdateUninstallAppName 通常也設(shè)置為 no .
     
    [Setup]: OverwriteUninstRegEntries 
    說明: 
    1.3 版本以后已廢棄。該關(guān)鍵字已經(jīng)不再被支持并且被忽略。在 Inno Setup 1.3.6 及以后的版本中,它的功能作為如果設(shè)置為 1 優(yōu)先版本的 OverwriteUninstRegEntries 關(guān)鍵字(這是默認(rèn)的設(shè)置)。 
    [Setup]: DirExistsWarning 
    有效值: auto, yes 或 no 
    默認(rèn)值: auto 

    說明: 
    當(dāng)設(shè)置為 auto 時(shí),即默認(rèn)的設(shè)置,如果用戶在選擇目標(biāo)文件夾向?qū)ы撝羞x擇了一個(gè)已經(jīng)存在的文件夾,安裝程序?qū)@示“文件夾: … 已經(jīng)存在,以愿意將程序安裝到這個(gè)文件夾下面嗎?”的消息,除非有相同的應(yīng)用程序的其它版本已經(jīng)安裝并且也選擇了和上次安裝時(shí)相同的目錄(僅如果 UsePreviousAppDir 是 yes ,即默認(rèn)設(shè)置)。 

    當(dāng)設(shè)置為 yes 時(shí),如果用戶選擇了已存在的目錄安裝程序?qū)⑹冀K顯示“目錄已存在的消息”。 

    當(dāng)設(shè)置為 no 時(shí),安裝程序決不會顯示“目錄已存在的消息”。 
     
    [Setup]: DisableDirExistsWarning 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    到版本 1.3.6 時(shí)已經(jīng)廢棄。使用 DirExistsWarning 代替。 

    編譯器仍然承認(rèn) DisableDirExistsWarning,但是如果 DisableDirExistsWarning=no 它將被轉(zhuǎn)換成 DirExistsWarning=auto, 而且 DisableDirExistsWarning=yes 被轉(zhuǎn)換成 DirExistsWarning=no. 如果同時(shí)指定了 DisableDirExistsWarning 和 DirExistsWarning 關(guān)鍵字,則優(yōu)先處理 DirExistsWarning.
     
    [Setup]: DisableDirPage 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果該項(xiàng)設(shè)置為 yes, 安裝程序?qū)⒉粫@示“選擇目標(biāo)文件夾”向?qū)ы摗T谶@種情況下,它將始終使用默認(rèn)的目錄名。
     
    [Setup]: DisableFinishedPage 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果該項(xiàng)設(shè)置為 yes, 安裝程序?qū)⒉粫@示“安裝完成”向?qū)ы摚⑶以谝淮伟惭b過程結(jié)束后會立即關(guān)閉安裝程序。如果在 [Run] 段里面有一個(gè)要被執(zhí)行的程序使用了 nowait 標(biāo)記,并且你不希望在該程序被啟動之候安裝完成窗口還逗留在后臺,此時(shí)該項(xiàng)是有用的。

    注意安裝程序認(rèn)為要重新啟動計(jì)算機(jī),或如果指派了一個(gè)文件給 [Setup] 段的 InfoAfterFile 關(guān)鍵字,都將忽略 DisableFinishedPage 關(guān)鍵字。象這些情況,仍然會顯示“安裝完成”向?qū)ы摗?
     
    [Setup]: DisableProgramGroupPage 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果該項(xiàng)設(shè)置為 yes, 安裝程序?qū)⒉粫@示“選擇程序組”向?qū)ы摗T谶@種情況下,它將使用由 [Setup] 段的 DefaultGroupName 關(guān)鍵字指定的組名,或者“(Default)”如果沒有指定組名的話。
     
    [Setup]: AlwaysUsePersonalGroup 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    通常對于 Windows NT/2000, 如果用戶具有管理員權(quán)限,Inno Setup 的 {group} 常量被指向全部用戶(All Users)的開始菜單。如果該項(xiàng)被設(shè)置為 yes, 它將始終使用當(dāng)前用戶的私人文檔(Profile)。
     
    [Setup]: OutputBaseFilename 
    默認(rèn)值: setup 
    說明: 
    這個(gè)關(guān)鍵字允許你為輸出的安裝程序文件指定一個(gè)不同的名字,這樣一來你就不用在運(yùn)行完安裝編譯器以后手工為它們改名。 

    注意:如果 UseSetupLdr 被設(shè)置為 no, 輸出文件 SETUP.0 和 SETUP.MSG 的名字是不會被改變的,因?yàn)樗鼈兪菑?qiáng)制編碼(hard-coded)的名字。 

    示例: OutputBaseFilename=MyProg100 
     
    [Setup]: UninstallFilesDir 
    默認(rèn)值: {app} 
    說明: 
    指定存放卸載程序文件“unins*.*”的目錄。 

    注意:對于同一個(gè)應(yīng)用程序的更新版本不應(yīng)該將它賦一個(gè)不同的值,這樣一來安裝程序就不能在以前的版本中找到卸載記錄,因此就不能添加到該應(yīng)用程序。 

    示例: UninstallFilesDir={app}\uninst 
     
    [Setup]: UninstallDisplayIcon 
    說明: 
    讓你指定一個(gè)確定的圖標(biāo)文件(可以是一個(gè)可執(zhí)行文件或者一個(gè) .ico 文件)來顯示在 Windows 2000 控制面板的“添加刪除程序”的卸載項(xiàng)當(dāng)中,文件名通常以一個(gè)目錄常量開始。 
    如果指定的文件包含多個(gè)圖標(biāo),你可以加上“,n”后綴以指定一個(gè)圖標(biāo)索引,這里的 n 是以零為基數(shù)的索引數(shù)值。 

    如果沒有指定該關(guān)鍵字或者該關(guān)鍵字為空,Windows 將自己選擇一個(gè)圖標(biāo),當(dāng)然這個(gè)可能是你不太喜歡的圖標(biāo)。 

    示例:
    UninstallDisplayIcon={app}\MyProg.exe 
    UninstallDisplayIcon={app}\MyProg.exe,1
     
    [Setup]: UninstallDisplayName 
    說明: 
    讓你為控制面板的“添加/刪除程序”中的程序項(xiàng)指定一個(gè)制定的名字。如果未指定該關(guān)鍵字或該關(guān)鍵字為空,安裝程序?qū)⑹褂?nbsp;[Setup] 段中的 AppVerName 關(guān)鍵字的名字(就像老版本的 Inno Setup 一樣)。 
    由于 Windows 9x 的控制面板的“添加/刪除程序”項(xiàng)的限制,UninstallDisplayName 不能超過 63 個(gè)字符。 

    示例: 
    UninstallDisplayName=My Program
     
    [Setup]: UninstallIconName 
    說明: 
    你能夠使用該關(guān)鍵字給安裝程序創(chuàng)建的卸載圖標(biāo)指定一個(gè)制定的名字(參見AlwaysCreateUninstallIcon)。如果該關(guān)鍵字為空或沒有指定,安裝程序?qū)⑵涿麨?#8220;卸載 App-Name”,這里的“App-Name”是由 [Setup] 段的關(guān)鍵字 AppName 指定的。 
    注意: 記住 Windows 95/NT 4+ 的應(yīng)用程序圖標(biāo)是作為文件直接存儲的,這樣一來普通文件所不允許使用的字符都不能用來作為應(yīng)用程序圖標(biāo)的名稱。 

    示例: UninstallIconName=Uninstall My Program 
     
    [Setup]: UninstallLogMode 
    有效值: append, new 或 overwrite 
    默認(rèn)值: append 

    說明: 
    append, 默認(rèn)設(shè)置,如果可能,通知安裝程序添加到一個(gè)已存在的卸載記錄。 

    new, 同 Inno Setup 1.3 版本以前的版本的行為是一致的,通知安裝程序始終創(chuàng)建一個(gè)新的卸載記錄。 

    overwrite 通知安裝程序要覆蓋相同的應(yīng)用程序的任何已存在的卸載記錄而不是添加(這是不被推薦的)。相同的規(guī)則添加到已存在的記錄應(yīng)用于覆蓋已存在的記錄。 

    示例: UninstallLogMode=append 
     
    [Setup]: UpdateUninstallAppName 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果為 yes, 當(dāng)添加到一個(gè)已存在的卸載記錄時(shí),安裝程序?qū)⒁援?dāng)前的安裝程序的 AppName 替換在卸載記錄中的 AppName. 卸載記錄中的 AppName 決定了卸載程序顯示的標(biāo)題。如果你的安裝程序只是一個(gè)升級或附加到一個(gè)已存在的程序,并且你不想改變卸載程序的標(biāo)題,那么你可以設(shè)置該值為 no.
     
    [Setup]: DefaultGroupName 
    說明: 
    該關(guān)鍵字的值是默認(rèn)的“程序管理器/開始菜單”程序組的名稱,它被“選擇程序組”向?qū)ы撌褂谩H绻撽P(guān)鍵字為空或沒有指定的話,它將會使用“(默認(rèn))”作為其名稱。 
    注意: 記住 Windows 95/NT 4+ 的應(yīng)用程序圖標(biāo)是作為文件直接存儲的,這樣一來普通文件所不允許使用的字符都不能用來作為應(yīng)用程序圖標(biāo)的名稱。 

    示例: DefaultGroupName=My Program 
     
    [Setup]: DisableStartupPrompt 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    如果該值被設(shè)為 yes, 安裝程序?qū)⒉粫@示“準(zhǔn)備安裝…,你希望繼續(xù)嗎?”的提示。 

    如果 UseSetupLdr 被設(shè)置為 no 該值將不會產(chǎn)生作用。 
     
    [Setup]: DiskSpanning 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    決定編譯器是創(chuàng)建一個(gè)單獨(dú)的 SETUP.EXE, 還是把它分割成為幾個(gè)文件以適合于放到分開的軟磁盤上。當(dāng)這個(gè)關(guān)鍵字被設(shè)置為 yes, 磁盤生成是允許的,將輸出文件 SETUP.EXE 和 SETUP.1 復(fù)制到第一個(gè)磁盤上,SETUP.2 復(fù)制到第二個(gè)磁盤上,等等。 
     
    [Setup]: DiskSize 
    默認(rèn)值: 1457664 (一個(gè) 1.44MB 軟磁盤的大小) 
    說明: 
    指定了一個(gè)磁盤的可用空間統(tǒng)計(jì)數(shù)值的字節(jié)值。 

    如果 [Setup] 段的關(guān)鍵字 DiskSpanning 沒有允許磁盤輸出則這個(gè)關(guān)鍵字就會被忽略。
     
    [Setup]: DiskClusterSize 
    默認(rèn)值: 512 (軟磁盤的標(biāo)準(zhǔn)的簇的大小) 
    說明: 
    它指定了磁盤介質(zhì)的簇的大小。安裝編譯器需要知道該值為了適當(dāng)?shù)奶畛涿恳粋€(gè)磁盤的容量。 

    如果 [Setup] 段的關(guān)鍵字 DiskSpanning 沒有允許磁盤輸出則這個(gè)關(guān)鍵字就會被忽略。
     
    [Setup]: ReserveBytes 
    默認(rèn)值: 0 
    說明: 
    指定了應(yīng)該在第一張磁盤上保留的最小空閑字節(jié)數(shù),這樣可以用于將其它的不是安裝程序部分的文件復(fù)制到第一張磁盤上,比如說一個(gè)自述文檔。 

    安裝編譯器將把這個(gè)數(shù)值取整為最接近的簇。 

    如果 [Setup] 段的關(guān)鍵字 DiskSpanning 沒有允許磁盤輸出則這個(gè)關(guān)鍵字就會被忽略。
     
    [Setup]: DontMergeDuplicateFiles 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    通常兩個(gè)具有相同的源文件的項(xiàng)將只會被存儲和壓縮一次。如果你的安裝程序中有一組相同的文件,在腳本中使他們只想相同的源文件,這樣你的安裝程序的能夠明顯縮小。如果由于某些原因你希望禁止這個(gè)功能,設(shè)置該關(guān)鍵字為 yes . 
     
    [Setup]: AllowNoIcons 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    這個(gè)用于決定安裝程序是否顯示一個(gè)“不創(chuàng)建任何圖標(biāo)”的復(fù)選框,這樣使用戶能夠跳過創(chuàng)建程序圖標(biāo)的過程。如果該項(xiàng)為 no 將不會顯示復(fù)選框,如果為 yes 則將被顯示。 

    如果安裝程序運(yùn)行在 NT 3.51 上時(shí)選擇了“不創(chuàng)建任何圖標(biāo)”的復(fù)選框,那么用戶能夠徹底卸載應(yīng)用程序的辦法只有執(zhí)行應(yīng)用程序目錄下面的 unins???.exe 文件。因?yàn)檫@個(gè)原因,我們推薦你保留 AllowNoIcons 設(shè)置為 no.
     
    [Setup]: AllowRootDirectory 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    當(dāng)設(shè)置為 no 時(shí),即默認(rèn)的,用戶將不能被允許在“選擇目錄頁”向?qū)е休斎胍粋€(gè)根目錄(就像“C:\”)。
     
    [Setup]: AlwaysRestart 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    當(dāng)設(shè)置為 yes, 安裝程序始終會在一次成功的安裝過程結(jié)束后提示用戶重新啟動系統(tǒng),而不管這是不是必須的(因?yàn)樵?nbsp;[Files] 段的一些項(xiàng)當(dāng)中帶有 restartreplace 標(biāo)記)。
     
    [Setup]: MessagesFile 
    默認(rèn)值: compiler:DEFAULT.ISL 
    說明: 
    指定要讀取的默認(rèn)信息的文件的名稱。運(yùn)行安裝編譯器時(shí)該文件必須位于你的安裝程序的源目錄中,除非指定了一個(gè)全程路徑名稱,或者路徑名是以“compiler:”作為其前綴,這樣它會在編譯器的目錄當(dāng)中查找該文件。 

    當(dāng)指定了多個(gè)文件時(shí),它們時(shí)按照它們所排列的順序被讀取的,因而最后的消息文件中的消息就會覆蓋其先前的消息文件。 

    請參見 [Messages] 段幫助主題關(guān)于 .isl 文件格式的詳細(xì)資料。

    示例: MessagesFile=compiler:czech.isl 
    MessagesFile=compiler:default.isl,compiler:mymessages.isl  
     
    [Setup]: LicenseFile 
    說明: 
    指定一個(gè)可選的許可協(xié)議文件的名稱,為 .txt 或 .rtf (豐富文本)格式,它在用戶選擇程序的目標(biāo)文件夾之前被顯示。運(yùn)行安裝編譯器時(shí)該文件必須位于你的安裝程序的源目錄中,除非指定了一個(gè)全程路徑名稱,或者路徑名是以“compiler:”作為其前綴,這樣它會在編譯器的目錄當(dāng)中查找該文件。 
    示例: LicenseFile=license.txt 
     
    [Setup]: InfoBeforeFile 
    說明: 
    指定一個(gè)可選的自述文檔(Readme)的名稱,為 .txt 或 .rtf (豐富文本)格式,它在用戶選擇程序的目標(biāo)文件夾之前被顯示。運(yùn)行安裝編譯器時(shí)該文件必須位于你的安裝程序的源目錄中,除非指定了一個(gè)全程路徑名稱,或者路徑名是以“compiler:”作為其前綴,這樣它會在編譯器的目錄當(dāng)中查找該文件。 
    示例: InfoBeforeFile=infobefore.txt 
     
    [Setup]: InfoAfterFile 
    說明: 
    指定一個(gè)可選的自述文檔(Readme)的名稱,為 .txt 或 .rtf (豐富文本)格式,它會在安裝成功以后被顯示。運(yùn)行安裝編譯器時(shí)該文件必須位于你的安裝程序的源目錄中,除非指定了一個(gè)全程路徑名稱,或者路徑名是以“compiler:”作為其前綴,這樣它會在編譯器的目錄當(dāng)中查找該文件。 
    這個(gè)不同于代有 isreadme 標(biāo)記的文件項(xiàng),它的文本是作為向?qū)У囊豁摫伙@示的,而后者顯示于一個(gè)單獨(dú)的記事本窗口。 

    示例: InfoAfterFile=infoafter.txt 
     
    [Setup]: ChangesAssociations 
    有效值: yes 或 no 
    默認(rèn)值: no 

    說明: 
    當(dāng)設(shè)置為 yes 時(shí),安裝程序會在其安裝過程結(jié)束時(shí)告訴資源管理器要刷新它的文件關(guān)聯(lián)信息,并且卸載程序在其卸載過程結(jié)束時(shí)也會去這樣作。如果安裝程序運(yùn)行在 Windows NT 3.51 上時(shí)這個(gè)關(guān)鍵字時(shí)不起作用的。 

    如果你的安裝程序創(chuàng)建了一個(gè)文件關(guān)聯(lián)但是沒有將 ChangesAssociations 設(shè)置為 yes, 該文件類型的正確的圖標(biāo)很可能不會被顯示知道用戶注銷或者重新啟動計(jì)算機(jī)。 
     
    [Setup]: UsePreviousAppDir 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    當(dāng)該關(guān)鍵字被設(shè)置為 yes 時(shí),即默認(rèn)值,再安裝程序啟動時(shí)將會在注冊表中查找看是否有相同的應(yīng)用程序已經(jīng)被安裝,如果是這樣,它將使用先前的安裝程序的目錄作為默認(rèn)的目錄提供給用戶的向?qū)А?nbsp;

    注意只有 Inno Setup 1.3.1 和其后續(xù)版本才會在注冊表中保存安裝的目錄,就是說安裝程序不會“看見”老版本的 Inno Setup 安裝的應(yīng)用程序。
     
    [Setup]: UsePreviousGroup 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    當(dāng)該關(guān)鍵字被設(shè)置為 yes 時(shí),即默認(rèn)值,再安裝程序啟動時(shí)將會在注冊表中查找看是否有相同的應(yīng)用程序已經(jīng)被安裝,如果是這樣,它將使用先前的安裝程序的開始菜單組作為默認(rèn)的開始菜單組提供給用戶的向?qū)А?nbsp;

    注意只有 Inno Setup 1.3.1 和其后續(xù)版本才會在注冊表中保存安裝的目錄,就是說安裝程序不會“看見”老版本的 Inno Setup 安裝的應(yīng)用程序。
     
    [Setup]: Password 
    說明: 
    指定一個(gè)口令,在安裝過程開始時(shí)提示用戶輸入。 
    如果使用了一個(gè)口令,重要的是要緊記并沒有加密技術(shù)被使用,并且 Inno Setup 的源代碼是完全開放的,對于一個(gè)個(gè)別的富有經(jīng)驗(yàn)的人來說從安裝程序中移去口令的保護(hù)不是十分困難的。使用口令僅僅起到一個(gè)阻止那些沒有得到授權(quán)的人使用你的安裝程序。
     
    [Setup]: WizardImageFile 
    默認(rèn)值: compiler:WIZIMAGE.BMP 
    說明: 
    指定要在安裝程序向?qū)ё髠?cè)顯示的位圖文件的名稱。運(yùn)行安裝編譯器時(shí)該文件必須位于你的安裝程序的源目錄中,除非指定了一個(gè)全程路徑名稱,或者路徑名是以“compiler:”作為其前綴,這樣它會在編譯器的目錄當(dāng)中查找該文件。 

    當(dāng)前還不支持 256 色位圖,因?yàn)樯形词褂谜{(diào)色板句柄。位圖的最大尺寸是 117x231 象素。

    示例: WizardImageFile=myimage.bmp 
     
    [Setup]: WindowShowCaption 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果設(shè)置為 no, 安裝程序?qū)钦嬲?#8220;全屏幕” ―― 它沒有標(biāo)題欄和邊框,并且會位于任務(wù)欄的前面。
     
    [Setup]: WindowStartMaximized 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果設(shè)置為 no, 安裝程序啟動時(shí)不會初始為最大化,這樣會導(dǎo)致藏起任務(wù)欄。
     
    [Setup]: WindowResizable 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果設(shè)置為 no, 在安裝程序背景窗口不是最大化狀態(tài)時(shí)用戶將不能調(diào)整其大小。
     
    [Setup]: WindowVisible 
    有效值: yes 或 no 
    默認(rèn)值: yes 

    說明: 
    如果設(shè)置為 no, 安裝程序背景窗口將是不可見的 ―― 只有向?qū)Ш桶惭b過程窗口。
     
    [Setup]: WizardImageBackColor 
    有效值: 一個(gè)值形如 $bbggrr, 這里的 rr, gg 和 bb 指定了兩位的亮度值(以十六進(jìn)制表示)分別為紅色,綠色和藍(lán)色。或者也可以是下列預(yù)定義的顏色名稱之一:clBlack(黑色),clMaroon(暗紅),clGreen(綠色),clOlive(橄欖綠),clNavy(深藍(lán)),clPurple(紫色),clTeal(深青),clGray(灰色),clSilver(淺灰),clRed(紅色),clLime(淺綠),clYellow(黃色),clBlue(藍(lán)色),clFuchsia(紫紅),clAqua(青綠),clWhite(白色)。  
      
    默認(rèn)值: clTeal  

    說明: 
    該關(guān)鍵字指定了用于填充向?qū)粓D(由 WizardImageFile 指定)周圍的未使用區(qū)域的背景顏色。
     
    [Setup]: SourceDir 
    說明: 
    給腳本指定一個(gè)新的源目錄sourcedirectorynotes。 
    示例: SourceDir=c:\files 
     
    [Setup]: OutputDir 
    說明: 
    給腳本指定一個(gè)新的輸出目錄,這是安裝編譯器放置輸出的 SETUP.* 文件的地方。默認(rèn)情況下它在含有腳本文件的目錄下創(chuàng)建一個(gè)“OUTPUT”子目錄。 
    示例: OutputDir=c:\output 

      
     
    其它
     
    關(guān)于 Program Files 目錄的說明 
    Program Files 目錄歷來就只被 Windows 95/NT 4+ 支持。在 NT 3.51 上一個(gè)“模擬的” Program Files 目錄被創(chuàng)建于系統(tǒng)驅(qū)動器目錄下硬代碼名稱“\Program Files”。 
    源目錄 
    默認(rèn)情況下,如果沒有包含全程路徑名,安裝編譯器期望在與腳本文件相同的目錄中找到在腳本中 [Files] 段引用的 Source 參數(shù)的文件和 [Setup] 段引用的文件。要指定一個(gè)不同的源目錄,在腳本的 [Setup] 段中創(chuàng)建一個(gè) SourceDir 關(guān)鍵字。 
    使用版本創(chuàng)建編號和(或)服務(wù)包級別 
    在 MinVersion 和 OnlyBelowVersion 中的版本號能夠包含版本創(chuàng)建編號(Build numbers)和(或)服務(wù)包級別(service pack levels) 例如:5.0.2195, 5.0sp1, 5.0.2195sp1。如果一個(gè)版本創(chuàng)建編號沒有被指定或者為零,安裝程序?qū)⒉粫z查版本創(chuàng)建編號。如果一個(gè)服務(wù)包級別沒有被指定或者為零,安裝程序會將其解釋為“沒有服務(wù)包”。注意安裝程序只能在 NT 4.0 及其后續(xù)版本中檢查服務(wù)包級別,所以指定“3.51sp5”去檢查NT 3.51 SP5 將不會工作。 
    關(guān)于"yes" 和 "no" 的說明 
    為了保持和舊版本 Inno Setup 的兼容性,1 和 0 可以分別的代替 yes 和 no 使用。 
    另外,它也允許 true 和 false 代替 yes 和 no 使用。
     
    相同的應(yīng)用程序 
    “相同的應(yīng)用程序” 涉及到兩個(gè)分開的安裝程序共享一個(gè)相同的 AppId 設(shè)置 (或者如果 AppId 沒有設(shè)置,那么有相同的 AppName 設(shè)置). 
    添加到已存在的卸載記錄 
    當(dāng)一個(gè)新版本的應(yīng)用程序被安裝并覆蓋一個(gè)已存在的版本時(shí),并不創(chuàng)建一個(gè)新的卸載記錄文件(unins???.dat),安裝程序會在默認(rèn)的情況下尋找并添加到一個(gè)已存在的屬于相同的應(yīng)用程序并在相同的目錄中的卸載記錄文件中,這樣,當(dāng)應(yīng)用程序被卸載時(shí),所有的不同的安裝程序所做的改變將會被撤銷(開始于最近的安裝程序)。 
    卸載程序?qū)褂米罱膽?yīng)用程序的安裝程序的消息(messages)。然而,有一個(gè)例外:如果一個(gè)安裝程序被一個(gè)舊版本的 Inno Setup 所創(chuàng)建,它包含一個(gè)比用戶系統(tǒng)中的已存在的版本還要舊的卸載程序,兩個(gè)卸載程序的消息都不會被替換,盡管在這種情況下卸載記錄仍然會被添加,因?yàn)樗奈募袷绞窍蚝蠹嫒莸摹?nbsp;

    卸載程序顯示的應(yīng)用程序的名稱將會與最近安裝程序中 [Setup] 段的關(guān)鍵字 AppName 的值相同,除非 UpdateUninstallAppName 被設(shè)置為 no. 

    卸載記錄添加功能是不熟悉的 Inno Setup 1.3。如果你希望禁止它,設(shè)置 [Setup] 段的關(guān)鍵字 UninstallLogMode. 

    注意:安裝程序只能添加到被 Inno Setup 1.3.1 (及其后續(xù)版本)的安裝程序創(chuàng)建的卸載記錄文件中

    posted on 2007-11-23 09:10 阿蜜果 閱讀(3322) 評論(0)  編輯  收藏 所屬分類: Inno Setup

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

          生活將我們磨圓,是為了讓我們滾得更遠(yuǎn)——“圓”來如此。
          我的作品:
          玩轉(zhuǎn)Axure RP  (2015年12月出版)
          

          Power Designer系統(tǒng)分析與建模實(shí)戰(zhàn)  (2015年7月出版)
          
         Struts2+Hibernate3+Spring2   (2010年5月出版)
         

    留言簿(263)

    隨筆分類

    隨筆檔案

    文章分類

    相冊

    關(guān)注blog

    積分與排名

    • 積分 - 2294312
    • 排名 - 3

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品在线免费看| 日本免费人成视频播放| 日本免费网站在线观看| 亚洲午夜久久久久久久久久| 亚洲人妖女同在线播放| 尤物视频在线免费观看| 国产成人精品免费视| 亚洲精品第一国产综合精品99| 久久久久亚洲AV片无码下载蜜桃| 久久精品国产亚洲av品善| 久久久久久久岛国免费播放 | 香港一级毛片免费看| 无码国产精品一区二区免费模式 | 国产亚洲精品观看91在线| 中文字幕乱码亚洲无线三区 | 亚洲一级免费毛片| 免费A级毛片在线播放不收费| 久久精品国产亚洲AV电影| 一区二区三区在线免费观看视频| 动漫黄网站免费永久在线观看| 精品亚洲一区二区三区在线观看| 亚洲三级在线观看| 无码日韩精品一区二区免费暖暖 | 九九九精品视频免费| 国产桃色在线成免费视频| 亚洲日韩激情无码一区| 亚洲av综合日韩| 无遮免费网站在线入口| 国产精品亚洲成在人线| 免费播放美女一级毛片| 一本岛高清v不卡免费一三区| 亚洲国产日韩在线视频| 日本一区二区在线免费观看| 免费无码AV电影在线观看| 亚洲精品天天影视综合网| a一级爱做片免费| 国产在线a不卡免费视频| 亚洲免费在线视频观看| 性色午夜视频免费男人的天堂| 亚洲情侣偷拍精品| 亚洲Av永久无码精品黑人|