Inno Setup的使用。這個(gè)是來自程序自己有使用幫助。這一部分到Setup section。這個(gè)也是東西最多的section?,F(xiàn)在都還只是翻譯,以后會(huì)增加相應(yīng)的效果。
Inno setup
用iss后綴的script(腳本)文件來制作安裝包,是.exe的。而script中,各個(gè)部分被組織在各個(gè)section里面。
雖然section有很多,但是它們都可以歸為兩類。
一類如setup section一樣是包含目的名(英文為directive name就當(dāng)作變量吧。)和它對應(yīng)的值。
e.g. AppName=My Program
一類如 files section一樣,包含了很多parameters(參數(shù))。每個(gè)parameter都由是這樣的形式“name:value”如果一行有多個(gè)parameter,用“;”來隔開。
里面非常重要的是constant(常量),可以幫助我們利用系統(tǒng)環(huán)境來簡化事情。這個(gè)具體先不說,這個(gè)可以在用到的時(shí)候再去查。
現(xiàn)在按照section來說
1、setup
這個(gè)是最主要的section,和你程序相關(guān)的大部信息在這個(gè)程序的entry(入口,其實(shí)就是那個(gè)directive name)里面設(shè)置,數(shù)目相當(dāng)多。這些entries可以分為三類。
Complier-related(和編譯器相關(guān)),就是生成你的exe文件的各種選項(xiàng)。
Compression:這個(gè)定義了生成時(shí)應(yīng)該怎樣壓縮文件,種類自查,默認(rèn)為lzma2/max
e.g. compression=lzma2/max 后面的都是這個(gè)形式,就不再舉例了
compressionThread:這個(gè)定義了是不是能用多處理器,auto是默認(rèn)項(xiàng),這個(gè)可以不用設(shè)置。
DiskClusterSize:這個(gè)是設(shè)置硬盤的一個(gè)簇的大小,默認(rèn)512。這個(gè)可以用DiskSpanning entry來忽略?,F(xiàn)在有4K硬盤了,也許是為了這個(gè)目的?
DiskSliceSize:在inno setup里面,一個(gè)slice的最大bytes數(shù)為2100000000,差不多2G,最小值為262144。如果你安裝文件相當(dāng)大,如有10G那么就要分一下了。它和SlicesPerDisk來配套使用。如果是10G,只要DiskSliceSize在范圍內(nèi),同時(shí)兩個(gè)相乘是10G就行了。
DiskSpanning:這個(gè)默認(rèn)是no,如果是yes的話就會(huì)將數(shù)據(jù)分在幾個(gè)bin文件中,這個(gè)不影響安裝。如果安裝文件超過2100000000后,這個(gè)必須yes。
Encryption:安裝文件中的東西會(huì)被加密,Password必須設(shè)置,因?yàn)榧用苁菑腜assword值來生成的。ARCFOUR encrytion。默認(rèn)是no
InternalCompressLevel:這個(gè)默認(rèn)就行,默認(rèn)是normal。也可以設(shè)成lzma 的方法。這個(gè)是對安裝文件內(nèi)部結(jié)構(gòu)進(jìn)行壓縮,一般沒有什么必要來設(shè)置。
LZMAAlgoritthm:控制lzma和lzma2的算法。這個(gè)不用設(shè)置。
LZMABlockSize:默認(rèn)是4*LZMADictionarySize,范圍是1024到262144。用默認(rèn)就好
LZMADictionarySize:這個(gè)用默認(rèn)。
LZMAMatchFinder: HC或者BT。BT壓縮慢但是比率要高一些。用默認(rèn)。
LZMANumBlockThreads:用默認(rèn),只是會(huì)在壓縮大文件的時(shí)候會(huì)慢一點(diǎn)。默認(rèn)下只會(huì)用到一個(gè)進(jìn)程,最高可以有32個(gè)進(jìn)程。
LZMANumFastBytes:用默認(rèn)。沒有什么必要,都是速度和性能的選擇,對于小程序沒有什么影響。
LZMAUseSeparateProcess:可用 的值 有yes,no或者x86。要給壓縮分大大的內(nèi)存就要設(shè)置這個(gè)。我用默認(rèn)就行了。
MergeDuplicateFiles:融合相同的文件,默認(rèn)為yes。
OutputBaseFilename:默認(rèn)是setup。這個(gè)是安裝文件的名字??梢栽谏芍笫謩?dòng)重命名,不是很重要。
OutputDir:默認(rèn)是在iss文件目錄下生成output文件夾,可以自己設(shè)置生成位置。
OutputManifestFile:這個(gè)不錯(cuò),顯示了包含的源文件。生成在OutputDir中
e.g. OutputManifestFile=Setup-Manifest.txt
ReserveBytes:指定安裝計(jì)算機(jī)上需要多預(yù)留的空間。這個(gè)是因?yàn)榘惭b包里面不可以每個(gè)都會(huì)和程序有關(guān),如readme.txt。默認(rèn)是0。
SignedUninstaller:這個(gè)用默認(rèn)就行,在SignTool里面設(shè)置。
SlicesPerDisk:1到26,默認(rèn)為1.
SignedUninstallerDir:這個(gè)不用設(shè)置,用默認(rèn)的OutputDir就行。
SignTool:用來指定安裝文件(以及卸載文件)的簽名。這個(gè)之后再補(bǔ),現(xiàn)在還不知道簽名是怎么回事。
SolidCompression:所有的文件都一次壓縮,而不是分開處理。用默認(rèn)就好,現(xiàn)在還沒有這個(gè)需求。
SourceDir:給Files section里面的source parameter 指定值。
TerminalServicesAware:這個(gè)用默認(rèn),只是為了取得真實(shí)的WINDOWS路徑。
UseSetupLdr:當(dāng)我知道這個(gè)還應(yīng)該有個(gè)調(diào)試環(huán)節(jié)的時(shí)候再來搞這個(gè)選項(xiàng)。用默認(rèn)
VersionInfoCompoany:設(shè)置安裝包的公司名……無用。用默認(rèn)是AppPublisher的值。
VersioninfoCopyright:
VersionInfo|Description:
VersionInfoProductName:
VersionInfoProductTextVersion:
VersionInfoProductVersion:
VersionInfoTextVersion:
VersionInfoVersion:0.0.0.0這個(gè)樣子的東西。
Installer-related安裝相關(guān)。影響安裝和卸載。
AllowCancelDuringInstall:默認(rèn)為yes,可以在安裝的時(shí)候取消。
AllowNetworkDrive:默認(rèn)是yes,如果是no,用戶在選擇安裝位置的時(shí)候不能選擇網(wǎng)絡(luò)位置安裝。
AllowNolcons:默認(rèn)是no,選擇yes會(huì)在安裝過程中允許用戶不在開始菜單文件夾中創(chuàng)建圖標(biāo)。和Icon section有關(guān)系。
AllowRootDirectory:默認(rèn)是no,不允許在安裝目錄選擇環(huán)節(jié)選擇任何根目錄。
AllowUNCPath:默認(rèn)是yes,如果是no,助記詞不能輸入U(xiǎn)NC path(如:\\server\share)這個(gè)和AllwoNetworkDrive相關(guān)。
AlwaysRestart:默認(rèn)是no。如果是yes,安裝完以后就會(huì)叫用戶去重啟電腦。
AlwaysShowComponentsList:默認(rèn)是yes。這個(gè)要和custom type配合,允許用戶在安裝的過程中自定義安裝。
AlwaysShowDirOnReadyPage:默認(rèn)是no。如果是yes,在安裝過程中的Ready to Install wizard頁面會(huì)顯示選擇的安裝目錄。
AlwaysShowGroupOnReadyPage:默認(rèn)是no。同上,這個(gè)顯示是開始菜單中創(chuàng)建的名字。
AlwaysUsePersonalGroup:默認(rèn)是no。一般是{group}這個(gè)常量是指向all user這個(gè)文件夾的,前提用戶是有管理員權(quán)限。如果設(shè)置了yes那么問題只用當(dāng)前用戶的。
AppendDefaultDirName:默認(rèn)是yes。就是在用戶自己改變了安裝目錄之后也會(huì)把DefaultDirName添在最后。(DefaultDirName在哪里設(shè)?)
AppendDefaultGroupName:默認(rèn)是yes。這個(gè)和上面的entry是一樣的,涉及到DefaultGroupName。
AppComments:在“刪除/改變程序面板”中的“souport”對話框中顯示,包含常量。
AppContact:同上,顯示在同一個(gè)對話框中。
AppId:這個(gè)用默認(rèn)是AppName entry的值。這個(gè)一般不用更改吧。會(huì)影響卸載。不過如果是考慮到升級(jí)后AppName會(huì)不同的話,這個(gè)AppId還是自己設(shè)置一下才行。搞明白一點(diǎn)就是,同一個(gè)程序,就算版本不一樣,這個(gè)AppId必須一樣,不然會(huì)影響卸載,不能正常卸載。
AppModifyPath:添加修改路徑,這個(gè)會(huì)在控制面板“刪除程序”中出現(xiàn)修改的選項(xiàng)。
e.g. AppModifyPath=”{app}\Setup.exe” /modify=1不知道這個(gè)/modify=1到底是什么意思
AppMutex:會(huì)阻止用戶在當(dāng)前程序還在運(yùn)行程序?qū)嵗臅r(shí)候安裝,這個(gè)需要在源代碼中的開始位置添加mutex。如C中CreateMutex(NULL, FALSE, "MyProgramsMutexName");
AppName:程序的名字,不要帶版本號(hào)。版本相關(guān)的東西可以在AppVersion或者AppVerName中設(shè)置。它是AppId,VersionIfoDescription,VersionInfoProductName的默認(rèn)值。
AppPublisher:在“刪除/改變程序面板”中的“souport”對話框中顯示,包含常量。
AppPublisherURL:同上。
AppReadmeFile:可以是一個(gè)URL。
AppSouportPhone:同上上
AppSouportURL:同上
AppUpdatesURL:同上
AppVerName:這個(gè)用默認(rèn)的就行。
AppVersion:如果這個(gè)不設(shè)置的話就要手動(dòng)設(shè)置上面的entry了。
ArchitecturesAllowed:默認(rèn)是允許所有32位的。當(dāng)然是根據(jù)你程序的代碼來最好了。可以設(shè)置多個(gè),用空格格開。如 x86 x64 ia64等等。
ArchitecturesInstallIn64BitMode:默認(rèn)是空白。作用指定64位處理器,和上一個(gè)要一樣。
ChagesAssociations:默認(rèn)是no。在安裝我卸載后會(huì)刷新程序的文件關(guān)聯(lián)。
ChangesEnvironment:默認(rèn)是no。如果程序改變了環(huán)境變量了要設(shè)置成yes。在安裝完成之后會(huì)通知其它在運(yùn)行的程序重新從注冊表中載入它們的環(huán)境變量。
CloseApplications:默認(rèn)是yes。這個(gè)關(guān)鍵是檢查Files section和InstallDelete section中的文件是不是被占用了。如果是安裝程序被指定為安靜模式,不會(huì)有提示;否則會(huì)提示用戶去關(guān)閉相應(yīng)程序。這里要搞明白slient在哪里設(shè)置
CloseApplicationFilter:設(shè)置哪些文件需要檢查,和上一個(gè)entry相關(guān)。用“,”隔開。
e.g. *.exe,*.dll
CreateAppDir:默認(rèn)是yes。No的話不會(huì)在安裝過程中讓用戶來選擇安裝目錄。程序會(huì)直接安裝到window文件夾。
CreateUnistallRegKey:默認(rèn)是yes。如果是no,在控制面板里面不會(huì)找到該程序,呵呵??梢耘浜习惭b過程中選擇移動(dòng)模式。
DefaultDialogFontName:對話框的默認(rèn)字體,如果用戶的系統(tǒng)沒有的話會(huì)用8-point的Microsoft sans serif或者M(jìn)S Sans Serif。當(dāng)然前提是在languageoption section 中沒有設(shè)置。
DefaultDirName:默認(rèn)的安裝位置。這個(gè)要和constant中的變量配合。當(dāng)然如果有老版本的話會(huì)默認(rèn)安裝在已有的目錄中。這個(gè)是因?yàn)閁sePreviousAppDir的默認(rèn)值是yes。
DefaultGroupName:默認(rèn)的開始菜單中的名字。這個(gè)要設(shè)置
DefaultUserInfoName:在用戶信息中的默認(rèn)的名字。默認(rèn)值是{sysuserinfoname}。DefaultUserInfoOrg:同上,默認(rèn)的組織。
DefaultUserInfoSerial:同上默認(rèn)的序列號(hào)?可以試試。
DirExistsWarning:默認(rèn)值是auto。這個(gè)不用管。
DisableDirPage:默認(rèn)值是no。如果是yes就不會(huì)出現(xiàn)安裝目錄選擇的頁面。呵呵。這個(gè)設(shè)置成auto也不錯(cuò)。
DisableFinishedPage:默認(rèn)值是no。如果是yes,安裝完以后自動(dòng)退出安裝對話框。如果重啟或者InfoAfterFile被設(shè)置。這個(gè)
DisableProgramGroupPage:默認(rèn)值是no。這個(gè)是顯示開始菜單頁面。這個(gè)
DisableReadyMemo:默認(rèn)值是no。這個(gè)看看就知道是個(gè)什么東西了。這個(gè)
DisableReadyPage:默認(rèn)是no。會(huì)顯示Ready to Install wizard頁面。這個(gè)要試試
DisableStarupPromptL:默認(rèn)值是yes。會(huì)在安裝前出來一個(gè)對話框讓用戶確認(rèn)安裝。這個(gè)可以被UserSetupLdr忽略掉。
DisableWelcomePage:默認(rèn)值是no。這個(gè)可以試試
EnableDirDoesntExistWarning:默認(rèn)值是no。如果是yes,在用戶輸入的文件夾不存在的時(shí)候會(huì)出來一個(gè)消息框提示。一般來說,也可以DirExistWarning=no這個(gè)可以試試
ExtraDiskSpaceRequired:默認(rèn)值是0。一般安裝向?qū)Ю锩骘@示的大小是Files里面文件的總和。如果你想顯示多一點(diǎn),不管出于什么樣的心態(tài),可以 在這里設(shè)置。單位是byte。
InfoAfterFile:這個(gè)指定了readme文件。只能是txt或者是rtf。這個(gè)在安裝完成以后顯示。如果在lanuageoption中給這個(gè)readme設(shè)置了語言,這個(gè)entry就會(huì)被忽略?!這個(gè)可以試試
InfoBeforeFile:同上,在用戶選擇安裝目錄之前顯示。
LanguageDetectionMethod:默認(rèn)值是uilanguage??蛇x還有l(wèi)ocale,none。這個(gè)用默認(rèn)就可以。不過可以看看locale是什么樣子
LicenseFile:在用戶選擇安裝目錄之前,會(huì)有一個(gè)用戶協(xié)議。必須在source directory中,不然就要用絕對路徑。這個(gè)和readme一樣,都是不能指定語言的,不過可以試試
MinVersion:默認(rèn)是5.0。格式是major.minor。指定了最低的Windows的版本。Build numbers and/or service pack levels也會(huì)用到。
OnlyBelowVersion:默認(rèn)值是0。這個(gè)和MiniVersion剛好相反,指定了不會(huì)運(yùn)行的最低的Windows版本。
Password:安裝開始輸入的密碼。這個(gè)和之前的那個(gè)encryption相關(guān)。
PrivilegesRequired:默認(rèn)值是admin。還可以選none,poweruser,lowest。這個(gè)和windows的版本有關(guān)。Vista之后要UAC,之前要是administrator group的成員。這個(gè)用默認(rèn)就好了。
RestartApplications:默認(rèn)值是yes。在設(shè)置了CloseApplicatons了以后,這個(gè)會(huì)讓關(guān)閉的程序重啟。要調(diào)用RegisterApplicationRestart API 。
RestartNeededByRun:默認(rèn)值是yes。這個(gè)現(xiàn)在還不是很懂。
SetupLogging:默認(rèn)值是no。如果是yes,安裝文件會(huì)創(chuàng)建log文件。
ShowLanguageDialog:默認(rèn)值是yes。這個(gè)和languages section配合。會(huì)出來一個(gè)對話框讓用戶能選語言。這個(gè)可以試試。
ShowUndisplayableLanguages:默認(rèn)值是no。這個(gè)用默認(rèn)就行了。
TimeStampRounding:默認(rèn)值是2。范圍是0到60。什么是Time stamp?這個(gè)還要再看看。
TimeStampsInUTC:默認(rèn)值是no。同上
TouchDate:默認(rèn)值是current。也可以是none,yyyy-mm-dd。這個(gè)和time stamp有點(diǎn)關(guān)系。用默認(rèn)就好了。
TouchTime:同上,默認(rèn)值是current。
Uninstallable:默認(rèn)是yes。也可以用bool表達(dá)式。Yes會(huì)提供自動(dòng)卸載工具。
UnistallDisplayIcon:這個(gè)指定了在控制面板里的卸載程序中程序的圖標(biāo)。如果程序有多個(gè)圖標(biāo),要用到后綴“,n”。
e.g. UninstallDisplayIcon={app}\MyProg.exe,1
UninstallDisplayName:這個(gè)名字顯示在控制面板里面的程序卸載中。
UninstallDisplaySize:同上。
UninstallFilesDir:指定了卸載執(zhí)行程序。
UninstallLogMode:默認(rèn)append。
UninstallRestartComputer:默認(rèn)是no。如果是yes,在卸載完成以后總是讓用戶重啟電腦。
UpdateUninstallLogAppName:默認(rèn)是yes。用新的AppName替換uninstall log中的appname字段。這個(gè)用一般用默認(rèn)就行了。
UsePreviousAppDir:默認(rèn)是yes。在安裝的時(shí)候找已有的程序的安裝目錄,用這個(gè)作為默認(rèn)安裝目錄。如果Uninstallable是no的話,這個(gè)沒用。因?yàn)樵谧员碇袥]有它檢查的entry。
UsePreviousGroup:默認(rèn)是yes。同上。
UsePreviousLanguage:默認(rèn)是yes。同上。注意這個(gè)不能改變語言選擇對話框的語言。同是在AppId包含常量的時(shí)候,這個(gè)必須是no。
UsePreviousSetupType:默認(rèn)是yes。同上。默認(rèn)就好。
UsePreviousTasks:默認(rèn)是yes。用之前相同的task,task是什么?
UsePreviousUserInfo:默認(rèn)是yes。同上。
UserInfoPage:默認(rèn)是no。如果是yes會(huì)讓用戶在安裝的時(shí)候輸入個(gè)人信息以及序列號(hào)。對于序列號(hào),要用到CheckSerial 事件函數(shù)。在安靜安裝模式,這些中除了序列號(hào)都會(huì)跳過。這個(gè)可以試試
Cosmetic和安裝程序外觀有關(guān)。
AppCopyright:這個(gè)就是在底部顯示一個(gè)Copyright。WindowVisible要設(shè)置成yes。這個(gè)要試試
BackColor:有一系統(tǒng)可用值。也可以用16位數(shù)來表示。如$bbggrr。用的rgb顏色模型。默認(rèn)是Backcolor是clBlue,BackColor2是clBlack。
BackColor2:同上。
BackColorDirection:默認(rèn)是toptobottom。還可以選lefttoright。這個(gè)是指定了顏色漸變的方向。
BackSolid:默認(rèn)是no。如果是yes背景就用純色,而不會(huì)用漸變。
FlatCoponentsListL:默認(rèn)是yes。Checkbox用flat樣式的,no的話用3d的。這個(gè)可以試試
SetupIconFile:安裝文件的圖標(biāo),必須在source目錄中。不然就要用絕對路徑。這個(gè)可以試試
ShowComponentSizes:默認(rèn)是yes。在組件列表中顯示組件的大小,由最大組件的大小決定單位是用KB還是用MB。 這個(gè)可以試試
ShowTasksTreeLines:默認(rèn)是no。這個(gè)可以試試,看看是什么?
WindowShowCaption:默認(rèn)是yes。這個(gè)用默認(rèn)就好,可以試試效果。如果WindowVisible沒有被設(shè)置成yes的話,這個(gè)無效。
WindowStartMaximized:默認(rèn)是yes。如果是yes,background window顯示為最大狀態(tài)。這個(gè)可以試試
WindowResizable:默認(rèn)是yes。可以改變窗口大小。
WindowVisible:默認(rèn)是no。這個(gè)可以試試。
WizardImageBackColor:默認(rèn)是$400000。這個(gè)和BackColor的取值范圍一樣。
WizarImageFile:默認(rèn)值是compiler:WIZMODERNIMAGE.BMP。在安裝程序的左邊顯示的圖片。最大的像素是164*314。這個(gè)也是必須在source文件夾下面,不然就用絕對路徑。
WzardImageStretch:默認(rèn)是yes。會(huì)拉伸或者壓縮圖片。
WizardSmallImageFile:在安裝程序右上角顯示的圖片。大小為55*58。注意事項(xiàng)同WizardImageFile。
聯(lián)系客服