【1】此參數是一個附加選項的集合。可以使用空格將多個選項分隔開。
【2】支持以下選項:
32位 當在“Source”和“DestDir”參數中使用{sys}常量時,將該常量映射到32位系統目錄。將“regserver”和“regtypelib”標志設置為將文件視為32位,并將“sharedfile”標志設置為更新32位共享DLLs注冊表鍵。在32位模式安裝中,這是默認行為。
64位 當在“Source”和“DestDir”參數中使用{sys}常量時,將該常量映射到64位系統目錄。將“regserver”和“regtypelib”標志設置為將文件視為64位,并將“sharedfile”標志設置為更新64位共享DLLs注冊表鍵。在64位模式安裝中,這是默認行為。
【3】
【allowunsafefiles】
禁用編譯器對不安全文件的自動檢查。強烈建議不要使用此標志,除非您確信知道自己在做什么。 【comparetimestamp】
(不推薦;請參閱下面的說明) 指示Setup在要安裝的文件已經存在于用戶系統上并且至少滿足以下條件之一時進行時間戳比較: ?現有文件和正在安裝的文件都沒有版本信息。 ?在條目中也使用了忽略版本號標志。 ?沒有使用替換相同版本號標志,并且現有文件和正在安裝的文件具有相同的版本號(根據文件的版本信息確定)。 如果現有文件的時間戳比正在安裝的文件更早,則現有文件將被替換。否則,它不會被替換。 除非作為最后的手段,否則不建議使用此標志,因為存在固有的問題:NTFS分區存儲的時間戳是UTC(與FAT分區不同),這會導致本地時間戳(Inno Setup默認使用的時間戳)在用戶更改系統時區或日光節約時間生效或失效時發生偏移。這可能會導致文件在用戶未預期的時間被替換或在用戶預期的時間不被替換的情況。
confirmoverwrite
在替換現有文件之前始終要求用戶確認。
【createallsubdirs】
默認情況下,編譯器在遞歸搜索Source文件名/通配符時會跳過空目錄。這個標志會在安裝時創建這些目錄(就像你為它們創建了[Dirs]條目一樣)。 必須與recursesubdirs一起使用。
【deleteafterinstall】
指示 Setup 像往常一樣安裝文件,但在安裝完成(或取消)后刪除它。這可用于提取在腳本的[Run]部分執行的程序所需的臨時數據。 此標志不會導致在安裝過程中未被替換的現有文件被刪除。 此標志不能與isreadme、regserver、regtypelib、restartreplace、sharedfile或uninsneveruninstall標志一起使用。
【dontcopy】
在正常文件復制階段不要將文件復制到用戶的系統中,而是靜態地將文件編譯到安裝程序中。如果文件僅由[Code]部分處理并使用ExtractTemporaryFile提取,則此標志很有用。
【dontverifychecksum】
防止 Setup 在提取后驗證文件校驗和。將此標志用于希望在已編譯到 Setup 中的文件上進行修改的文件。 必須與nocompression一起使用。
【external】
指示 Setup 不要將文件復制到用戶的系統中,而是將文件鏈接到安裝程序的外部位置。此標志僅適用于靜態編譯的文件。這個標志指示Inno Setup不要將Source參數指定的文件靜態編譯到安裝文件中,而是從分發媒體或用戶系統的現有文件中復制。有關更多信息,請參閱Source參數的描述。
【fontisnttruetype】
如果使用FontInstall參數安裝非TrueType字體,則指定此標志。
【gacinstall】
將文件安裝到.NET Global Assembly Cache中。當與sharedfile一起使用時,只有在引用計數為零時才會卸載文件。 Uninstaller使用StrongAssemblyName參數指定的強名稱來卸載文件。 如果在沒有.NET Framework的系統上嘗試使用此標志,則會引發異常。
【ignoreversion】
完全不比較版本信息; 無論版本號如何,都替換現有文件。 此標志僅應用于應用程序私有的文件,絕不應用于共享的系統文件。
【isreadme】
文件是“README”文件。安裝中只能有一個文件具有此標志。當文件具有此標志時,安裝完成后將提示用戶是否查看README文件。如果選擇“是”,Setup將使用文件類型對應的默認程序打開該文件。因此,README文件應該始終以.txt、.wri或.doc等擴展名結尾。 請注意,如果Setup需要重啟用戶的計算機(由于安裝帶有“restartreplace”標志的文件或由于其他原因),則在重啟之前會提示用戶保存任何未提交的更改。
【nocompression】
防止編譯器嘗試壓縮文件。對無法從壓縮中獲益的文件類型(例如JPEG圖像)使用此標志可以加快編譯過程,并在最終安裝中節省一些字節。
【noencryption】
防止文件被加密存儲。如果您啟用了加密(使用[Setup]節指令加密),但希望能夠在用戶輸入正確的密碼之前使用[Code]節支持函數ExtractTemporaryFile提取文件,則使用此標志。
【noregerror】
當與regserver或regtypelib標志組合使用時,如果注冊失敗,安裝程序將不會顯示任何錯誤消息。
【onlyifdestfileexists】
只有在用戶系統上已經存在同名文件時才安裝該文件。如果您的安裝是現有安裝的補丁,并且您不希望安裝用戶沒有的文件,則此標志可能很有用。
【onlyifdoesntexist】
只有在用戶的系統中不存在該文件時才安裝它。
【overwritereadonly】
總是覆蓋只讀文件。如果沒有這個標志,安裝程序將詢問用戶是否應該覆蓋現有的只讀文件。
【promptifolder】
默認情況下,當正在安裝的文件具有比現有文件更舊的版本號(或更舊的時間戳,當使用比較時間戳標志時)時,安裝程序將不會替換現有文件。(有關詳細信息,請參閱本主題底部的“備注”部分。)當使用此標志時,安裝程序將詢問用戶是否應該替換該文件,默認答案是保留現有文件。
【recursesubdirs】
指示編譯器或安裝程序也在源目錄下的子目錄中搜索源文件名/通配符。
【regserver】
注冊DLL/OCX文件。設置此標志后,安裝程序將調用DLL/OCX文件導出的DllRegisterServer函數,卸載程序將在刪除文件之前調用DllRegisterServer。當與sharedfile結合使用時,只有當引用計數達到零時,DLL/OCX文件才會被取消注冊。
在64位模式安裝中,該文件被假定為64位映像,并將在64位進程中注冊。您可以通過指定32位標志來覆蓋此設置。
有關詳細信息,請參閱本主題底部的備注。
【regtypelib】
注冊類型庫(.tlb)。卸載程序將注銷類型庫(除非指定了uninsneveruninstall標志)。與regserver標志一樣,當與sharedfile結合使用時,只有當引用計數達到零時,卸載程序才會取消該文件的注冊。
在x64版本的Windows上運行64位模式安裝時,類型庫將在64位進程中注冊。您可以通過指定32位標志來覆蓋此設置。
不支持在Windows的Itanium版本上以64位模式注冊類型庫。
有關詳細信息,請參閱本主題底部的備注。
【replacesameversion】
使用此標志時,如果該文件已經存在于用戶的系統中,并且與正在安裝的文件具有相同的版本號,則安裝程序將比較這些文件,如果它們的內容不同,則替換現有文件。
默認行為(即當不使用此標志時)是不會用相同的版本號替換現有文件。
【restartreplace】
當一個現有的文件需要被替換,并且它正在被另一個正在運行的進程使用(鎖定)時,安裝程序將默認顯示一條錯誤消息。這個標志告訴安裝程序在下次系統重新啟動時注冊要替換的文件(通過調用MoveFileEx或在WININIT.INI中創建一個條目)。當發生這種情況時,將提示用戶在安裝過程結束時重新啟動計算機。
注意:如果用戶沒有管理權限,此標志不起作用。因此,當使用此標志時,建議您將privilesrequired [Setup]部分指令保留為默認設置admin。
【setntfscompression】
指示安裝程序在文件上啟用NTFS壓縮(即使它沒有替換文件)。如果由于任何原因(例如,文件系統不支持壓縮)設置壓縮狀態失敗,則不會顯示錯誤消息。
【sharedfile】
指定該文件在多個應用程序之間共享,并且只有在沒有其他應用程序使用它時才應在卸載時刪除。大多數安裝到Windows系統目錄的文件都應該使用這個標志,包括. ocx、. bpl和. dpl文件。
【sign】
此標志指示編譯器在存儲原始源文件之前對它們進行數字簽名。如果沒有設置[Setup]節指令SignTool,則忽略。
【signonce】
此標志指示編譯器在存儲原始源文件之前對它們進行數字簽名,但僅限于文件尚未簽名的情況下。如果沒有設置[Setup]節指令SignTool,則忽略。
【skipifsourcedoesntexist】
如果源文件不存在,這個標志指示編譯器(如果還使用了外部標志,則指示安裝程序)靜默地跳過該條目,而不是顯示錯誤消息。
【solidbreak】
當啟用實體壓縮時,此標志指示編譯器在壓縮與Source匹配的文件之前完成當前的壓縮流并開始一個新的壓縮流。這允許安裝程序立即查找文件,而不必先解壓縮前面的任何文件。如果您發現花太多時間解壓縮屬于未選擇組件的文件,則在大型多組件安裝中可能很有用。
【sortfilesbyextension】
此標志指示編譯器在按路徑名排序之前壓縮按擴展名排序的找到的文件。如果還使用固體壓縮,這可能會減少安裝程序的大小。
【sortfilesbyname】
此標志指示編譯器在按路徑名排序之前壓縮按名稱排序的找到的文件。如果還使用固體壓縮,這可能會減少安裝程序的大小。如果還使用了sortfilesbyextension,則首先按擴展名對文件進行排序。
【touch】
這個標志使安裝程序將安裝文件的時間/日期戳設置為由TouchDate和TouchTime [Setup]節指令指定的時間/日期戳。
如果與外部標志結合使用,則此標志不起作用。
【uninsnosharedfileprompt】
卸載共享文件時,如果其引用計數達到零,則自動刪除該文件,而不是詢問用戶。必須與sharedfile標志結合使用才能生效。
【uninsremovereadonly】
卸載文件時,請先從文件中刪除任何只讀屬性,然后再嘗試刪除它。
【uninsrestartdelete】
如果使用了此標志,并且該文件在卸載時正在使用,則卸載程序將在系統重新啟動時將要刪除的文件排隊,并在卸載過程結束時詢問用戶是否要重新啟動。當卸載像shell擴展這樣不能通過編程方式停止的東西時,這個標志很有用。注意,要使該標志生效,需要管理權限。
【uninsneveruninstall】
永遠不要刪除文件。當安裝在任何情況下都不應該刪除的非常常見的共享文件(例如MFC dll)時,這個標志可能很有用。
請注意,如果該標志與sharedfile標志結合使用,則該文件將永遠不會在卸載時被刪除,但引用計數仍將適當地遞減。
【unsetntfscompression】
指示安裝程序在文件上禁用NTFS壓縮(即使它沒有替換文件)。如果由于任何原因(例如,文件系統不支持壓縮)設置壓縮狀態失敗,則不會顯示錯誤消息。