導航:首頁 > 文件教程 > innosetup復制文件夾

innosetup復制文件夾

發布時間:2023-04-25 16:10:21

❶ 1.innosetup怎麼將軟體安裝到指定文件

點擊這個軟體安裝的時候,你看他有沒有相應的安裝位置選項,有的話點擊選擇對應的文件夾就可以了。

❷ Inno Setup 某個件拷貝到一個位置

呃,沒人回你哦……

❸ inno setup 怎麼整合兩個兩個exe文件到一個里並且先後運行

Inno Setup 使用說明

特殊用途的標識
有幾個 [Messages] 段的項實際上不是用於在屏幕上顯示的,它們是用於在安裝程序中指定所使用的字體和字型號的。這些可選項中的每一個都有一個前導下劃線字元
(「_」) 開始,請參閱 Default.isl 文件頭部的注釋的使用方法示例。

[Registry] 段
這個段是可選的,他定義了一些注冊表項,用於在復制完文件之後創建在用戶的系統中。
下面是 [Registry] 段的一個示例。
[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}"
下面列出了支持的參數:
Root (必需的)
說明:
根鍵,必須是下列各項之一:
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
說明:
鍵值的數據類型,必須是下列各項之一:
none
string
expandsz
multisz
dword
binary
如果指定了 none (默認設置),安裝程序將創建一個沒有鍵值的鍵,在這種情況下將忽略 ValueName 和 ValueData 參數。
如果指定了 string,安裝程序將創建一個字元串 (REG_SZ) 值。
如果指定了 expandsz,安裝程序將創建一個擴展字元串 (REG_EXPAND_SZ) 值。這種數據類型主要用在 Windows NT 上,但是也支持
Windows 95/98.
如果指定了 multisz,安裝程序將創建一個多行文本 (REG_MULTI_SZ) 值。
如果指定了 dword,安裝程序將創建一個整數 (REG_DWORD) 值。
如果指定了 binary,安裝程序將創建一個二進制 (REG_BINARY) 值。
示例:
ValueType: string
ValueName
說明:
要創建的鍵值的名稱,可以包含常量。如果它是空的,將會寫入「默認」(Default)值中。如果ValueType 參數被設置為 none, 該參數將被忽略。
示例:
ValueName: "Version"
ValueData
說明:
鍵值的數據。如果 ValueType 參數是 string, expandsz 或 multisz, 該參數是一個可以包含常量的字元串。如果數據類型是
dword, 該參數可以是一個十進制整數(例如「123」)或者是一個十六進制整數(例如「$7B」)。如果數據類型是 binary,
這是一個十六進制位元組序列的形式:「00 ff 12 34」。如果數據類型是 none, 該參數被忽略。
對於一個 string, expandsz 或者 multisz 類型的鍵值,在這個參數中你可以使用一個特殊的叫做 {olddata}
的常量。{olddata} 常量代表的是注冊表鍵值原來的數據。如果你想要添加一個字元串到一個已經存在的鍵值時 {olddata}
常量時很有用的,例如,{olddata};{app}.如果該鍵值並不存在或者不是一個字元串類型,這時 {olddata}
常量會被默默地刪除。如果正要被創建的鍵值是 multisz 類型,但是已經存在的鍵值並不是多行文本 (例如它是 REG_SZ 或 REG_EXPAND_SZ
)類型,這時 {olddata} 常量也會被默默地刪除,反之亦然。
對於一個 multisz 類型的鍵值,在這個參數中你可以使用一個特殊的叫做 {break} 的常量來嵌入換行(nulls)。
示例:
ValueData: "1.0"
Flags
說明:
「標記」,這個參數是一個附加的選項集合,可以多個選項共同使用,使用空格分開多個選項。下面列出了被支持的選項:
createvalueifdoesntexist
當指定了此標記時,只有當相同名稱的鍵值不存在時安裝程序才會創建該鍵值。如果數據類型是 none ,或者同時指定了 deletevalue 標記將忽略該標記。
deletekey
當指定了此標記時,如果該項已存在,安裝程序會首先嘗試去刪除它,包括其中的鍵值和子鍵,然後如果 ValueType 不是 none 的話它將創建一個新的鍵和鍵值。
deletevalue
當指定了此標記時,如果該鍵值已存在,安裝程序會首先嘗試刪除該鍵值。然後如果 ValueType 不是 none ,並且該鍵不存在時它將創建該鍵和新的鍵值。
dontcreatekey
當指定了此標記時,如果該鍵不存在於用戶的系統中安裝程序將不會試圖創建該鍵或任何鍵值。如果改建不存在將不顯示錯誤消息。
典型地該標記同 uninsdeletekey 標記結合使用,以便在安裝時沒有創建該鍵時確保在卸載期間刪除該鍵。
noerror
如果安裝程序在創建鍵或鍵值時無論什麼原因失敗不顯示錯誤消息。
preservestringtype
該標記只用於 ValueType 參數為 string 或 expandsz 時。當指定了此標記並且該鍵值不存在或者已存在的鍵值不是字元串類型 (REG_SZ
或 REG_EXPAND_SZ) 時,該項將由 ValueType
指定的類型創建,如果該鍵值存在並且是一個字元串類型,該項將由與預先存在的鍵值相同的鍵值類型替代。
uninsclearvalue
當程序被卸載時,將設置該鍵值的數據為空的字元串 (類型 REG_SZ). 該標記不能同 uninsdeletekey 標記一起使用。
uninsdeletekey
當程序被卸載時,刪除整個鍵,包括其下全部的鍵值和子鍵。對於由 Windows
自身使用的鍵來說使用該標記明顯不是一個好的主意,你應當將該標記應用到你自己的應用程序鍵中。
uninsdeletekeyifempty
當程序被卸載時,如果該鍵下沒有其它鍵值和子鍵則將其刪除。該標記可以結合 uninsdeletevalue 標記一起使用。
uninsdeletevalue
當程序卸載時刪除該鍵值,該標記可以結合 uninsdeletekeyifempty 標記一起使用。
注意:對於 Inno Setup 1.1 之前的版本,你可以與 none 數據類型一起使用該標記則將會成為 「delete key if empty」
(如為空則刪除該鍵)功能的標記。這個技巧現在已經不在被支持,你必須使用 uninsdeletekeyifempty 標記來實現該功能。
示例:
Flags: uninsdeletevalue
公共參數

[Run] & [UninstallRun] 段
[Run] 段是可選的,指定任意數量的程序在成功安裝程序以後及顯示結束對話框之前被執行。同樣 [UninstallRun]
段也是可選的,指定任意數量的程序在「卸載程序」的第一步時被執行。除非下面有其它說明,兩個段共有相同的語法。
每個程序按照你的腳本編排的順序被執行,當出路 [Run]/[UninstallRun] 的項時,安裝程序將會等到當前的程序終止之後才處理下一個,當然除非使用了
nowait 標記。
這是一個 [Run] 段的示例。
[Run]
Filename: "{app}\INIT.EXE"; Parameters: "/x"
下面列出了支持的參數:
Filename (必需的)
說明:
要被執行的程序,或要被打開的文件/文件夾。如果 Filename 不是一個 .exe 或 .com 文件,你必須在該項中使用 shellexec
標記。該參數可以包含常量。
示例:
Filename: "{app}\INIT.EXE"
Parameters
說明:
程序可選的命令行參數,該參數可以包含常量。
示例:
Parameters: "/x"
WorkingDir
說明:
程序起始位置的目錄。如果沒有指定該參數或該參數是空的,將不會改變任何特殊的目錄。該參數可以包含常量。
示例:
WorkingDir: "{app}"
RunOnceId
說明:
只在 [UninstallRun] 段裡面有效。如果相同的應用程序被安裝超過了一次,「run」項將會重復出現在卸載記錄文件裡面。通過將一個字元串賦值給
RunOnceId, 你可以確保一個獨特的 [UninstallRun] 項在卸載期間只被執行一次。例如,如果在卸載記錄中的「run」中有兩個或者更多的帶有
RunOnceId 參數並被設置為「DelService」的項,則只有最後一個帶有一個 RunOnceId
參數並被設置為「DelService」的項會被執行。其餘的將被忽略。注意 RunOnceId 參數是大小寫敏感的。
示例:
RunOnceId: "DelService"
Flags
說明:
「標記」,這個參數是一個附加的選項集合,可以多個選項共同使用,使用空格分開多個選項。下面列出了被支持的選項:
nowait
如果指定了該標記,將不會等待該項處理被結束運行之前就進行到下一個 [Run] 項,或者結束安裝程序。不能結合 waituntilidle
標記一起使用。
shellexec
如果 Filename 不是一個可以直接執行的文件(一個 .exe 或 .com 文件)則該標記是必需的。當設置了該標記時,Filename
可以是一個文件夾或者任何已注冊的文件類型 ―― 包括 .hlp, .doc
等等。文件將會被用戶系統中的與該文件類型相關聯的應用程序打開,就像用戶在資源管理器中用滑鼠雙擊該文件一樣。
當在 Filename
中使用一個文件夾名稱時,建議在後面加上一個反斜杠字元(例如「{group}\」),以確保可能有相同名稱的程序不會被執行。同樣要注意文件夾只能在 Windows
95/NT 4+ 上被打開,因為從那時起使用了一個新的資源管理器的外殼。
使用 shellexec 標記有一個缺點,那就是無法等待該過程結束,因此,它始終就像被指定了 nowait 標記一樣操作。
skipifdoesntexist
如果指定了該標記,如果 Filename 不存在安裝程序將不會顯示錯誤消息。它只適用於 [Run] 段,因為卸載程序從來不顯示錯誤消息在
[UninstallRun] 項執行失敗時。
runmaximized
如果指定了該標記,將會在一個最大化的窗口啟動程序或文檔。
runminimized
如果指定了該標記,將會在一個最小化的窗口啟動程序或文檔。
waituntilidle
如果指定了該標記,它將暫停直到該過程正在等待用戶的輸入並且沒有未決的輸入時,取而代之的是等待該過程的結束。(該標記調用 WaitForInputIdle
Win32 函數.) 不能結核 nowait 一起使用。
示例:
Flags: nowait
公共參數

[UninstallDelete] 段
該段是可選的。該段是用來定義一些附加的除了那些被安裝的應用程序之外的要被卸載程序刪除的文件或目錄。使用該段來刪除由你的應用程序創建的 .INI
文件是一個常用的辦法。卸載程序在卸載過程的最後一步處理這些項。
這是一個 [UninstallDelete] 段的示例:
[UninstallDelete]
Type: files; Name: "{win}\MYPROG.INI"
下面列出了支持的參數:
Type (必需的)
說明:
指出要被卸載程序刪除的是什麼。必須是下列之一:
files
Name 參數指定的是一個具體的文件的名稱,或者是一個帶有通配符的文件名。
filesandordirs
功能上類似於 files ,但是它還可以匹配目錄名稱,並且任何名稱匹配的目錄包括其中所有的文件和子目錄都會被刪除。
dirifempty
當使用它時,Name 參數必須是一個目錄的名稱,但是它不能包括通配符。只有在不包含任何文件和子目錄的情況下該目錄才能被刪除。
示例:
Type: files
Name (必需的)
說明:
要被刪除的文件或目錄的名稱。
注意:不要試圖通過在這里使用通配符去刪除 {app}
目錄下的全部文件,我強烈建議你不要這樣做的原因由兩個,首先,用戶通常不會意識到可能還有他們放進應用程序目錄中的數據文件將要被刪除而不會得到警告(例如他們可能卸載應用程序只是為了要將它轉移到一個不同的驅動器)。最好是將其保留一直到最後用戶想要刪除時用手工的方法刪除;還有,如果由於用戶的失誤碰巧將程序安裝到了一個錯誤的目錄當中(例如
C:\WINDOWS)而這時去卸載它勢必結果會損失慘重。再次聲明,千萬不要這么做!
示例:
Name: "{win}\MYPROG.INI"
公共參數

編譯器相關

[Setup]: Bits
有效值: 32
說明:
1.3 版本以後已廢棄。 1.3 以前的版本的 Inno Setup 有一個 16 位的版本,編譯器將檢查 Bits
關鍵字以判斷是否使用了正確的編譯器來編譯腳本。以後 Inno Setup 的更新的版本只有 32 位的版本可用,你將不再需要設置該關鍵字。無論什麼時候如果
Bits 被設置為「16」,編譯器都將會失敗並提示一個錯誤消息。
[Setup]: UseSetupLdr
有效值: yes 或 no
默認值: yes
說明:
告訴安裝程序編譯器要創建的安裝程序的類型,如果是 yes, 將把所有的安裝程序數據編譯成一個單獨的 SETUP.EXE
(如果你願意也可以重新命名為任何名稱)。如果是 no, 將把安裝程序數據編譯成至少三個文件:SETUP.EXE, SETUP.0 和 SETUP.1. 你想使用
no 的僅有的理由大概是為了調試的目的。
注意:不要在一個使用了多磁碟生成(DiskSpanning=yes)的安裝程序中使用 UseSetupLdr=no,當 UseSetupLdr 是 yes
時,安裝程序被復制到用戶的臨時 (TEMP) 目錄並在那裡運行,這不會發生在 UseSetupLdr 是 no 的情況下,如果 Windows
試圖去在磁碟上尋找 setup.exe 文件卻不能找到,因為在驅動器中的是一個不同的磁碟,所以會產生錯誤的結果。

[Setup]: BackColor, BackColor2
有效值: 一個值形如 $bbggrr, 這里的 rr, gg 和 bb
指定了兩位的亮度值(以十六進製表示)分別為紅色,綠色和藍色。或者也可以是下列預定義的顏色名稱之一:clBlack(黑色),clMaroon(暗紅),clGreen(綠色),clOlive(橄欖綠),clNavy(深藍),clPurple(紫色),clTeal(深青),clGray(灰色),clSilver(淺灰),clRed(紅色),clLime(淺綠),clYellow(黃色),clBlue(藍色),clFuchsia(紫紅),clAqua(青綠),clWhite(白色)。

默認值: BackColor 為 clBlue,
BackColor2 為 clBlack
說明:
BackColor 關鍵字自定的顏色被用在安裝程序窗口背景漸變色的上面(或左面,如果
BackColorDirection=lefttoright),BackColor2 指定的顏色被用在下面(或右面)。
如果 BackSolid=yes 則 BackColor2 的設置被忽略。
示例:
BackColor=clBlue
BackColor2=clBlack
BackColor=$FF0000
BackColor2=$000000

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

[Setup]: BackSolid
有效值: yes 或 no
默認值: no
說明:
它決定了安裝程序窗口的背景色是使用單一顏色還是漸變色,如果是 yes, 背景色會是一單一顏色(顏色由 BackColor 指定,忽略 BackColor2)。

[Setup]: AppName
說明:
這個必需的關鍵字指定了你正在安裝的應用程序的標題。不要包含版本號,那樣應該使用 AppVerName 關鍵字。AppName
在安裝程序的全部過程始終被顯示,位於安裝程序屏幕的左上角和向導中。
示例: AppName=My Program

[Setup]: AppVerName
說明:
這個必需的關鍵字的值應該和 AppName 的值相同(或相似),但是它還應當包含程序的版本號。
示例: AppVerName=My Program version 3.0

[Setup]: AppId
默認值: 如果沒有指定 AppId 或者它是空值,編譯器將會把 AppName 的值作為 AppId 來使用。
說明:
AppId 的值是被存儲在卸載記錄文件 (unins???.dat)
裡面的,以便隨後的安裝程序檢查後決定是否可以被添加到一個特定的已存在的卸載記錄,安裝程序只有在已存在的卸載記錄中的 AppId 和當前的安裝程序的 AppId
相同是才能添加到卸載記錄。舉一個實際的例子,比方說你右兩個安裝程序,一個叫做《我的程序》而另外一個叫做《我的程序 1.1 升級版》,要想把《我的程序 1.1
升級版》添加到《我的程序》的卸載記錄中,你應該設置兩個安裝程序的 AppId 為相同的值。
AppId 還決定了卸載注冊表鍵的實際名稱,被 Inno Setup 在其末尾附加上「_is1」(因此,如果 AppId 是
「MyProgram」,那麼這個鍵將會被命名為「MyProgram_is1」)。Inno Setup 的早於 1.3 的版本的鍵的名稱是基於
AppVerName 的值的。
無論什麼時候 AppId 都不會被顯示出來,因此你要求非常隱諱的感覺很輕松。
示例: AppId=MyProgram

[Setup]: AppMutex
說明:
如果用戶要為當前的應用程序升級為新的版本,然而當前的應用程序正在運行,該關鍵字就是用來防止這類事情的發生的,而且它也可以防止用戶卸載正在運行的應用程序。它指定了一個或多個同名互斥體的名稱(多個互斥體用逗號隔開),安裝程序和卸載程序將會在啟動時檢查,如果存在,安裝程序/卸載程序將顯示如下的信息:「[安裝程序或卸載程序]
檢測到 [應用程序] 現在正在運行。請立即關閉它的全部實例,然後單機『確定』繼續,或者『取消』退出。」
如果你要使用這個關鍵字就必須在你的應用程序中以該關鍵字指定的名稱添加一個同名的互斥體。例如在 Delphi 和 C
中創建如下顯示的同名互斥體,該代碼應該在應用程序啟動是被執行。
Delphi:
CreateMutex(nil, False, 'MyProgramsMutexName');
C:
CreateMutex(NULL, FALSE, "MyProgramsMutexName");
並不是必需在應用程序被結束之前顯示的銷毀同名互斥體對象,系統會自動完成此功能,也不推薦你這樣做,因為理想狀態下同名互斥體對象必須存在直到進程被完全終止。
注意在 Windows 下同名互斥體是大小寫敏感的。
要想獲得有關同名互斥體的更多信息請參閱 MS SDK 幫助的 CreateMutex 主題。
示例: AppMutex=MyProgramsMutexName

[Setup]: AppCopyright
說明:
可選的,它只是用來在安裝程序屏幕的右下角顯示一個版權消息。
示例: AppCopyright=Copyright ? 1997 My Company, Inc.

[Setup]: AppPublisher, AppPublisherURL, AppSupportURL, AppUpdatesURL, AppVersion

說明:
所有這些關鍵字都是用來在 Windows 2000 的控制面板「添加/刪除程序」的「支持」對話框中顯示一些信息。這些設置是可選的,並且在早期的 Windows
版本中是沒有作用的。
示例:
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com/
AppVersion=1.5

[Setup]: DefaultDirName
說明:
這是個必需的關鍵字,該值是默認的目錄名稱,用於「選擇目錄頁」向導。通常它有一個目錄常量前綴。
如果 UsePreviousAppDir 是 yes (默認值)並且安裝程序發現已經安裝了一個相同應用程序的早期版本,它將用先前選擇的目錄代替默認的目錄名稱。

❹ 如何利用Inno Setup製作java swing程序安裝包

1 製作安裝包之前寫好執行的.bat啟動文件,收集好及其他擴展文件、文件夾、主程序、java環境(jre)包全部拷貝到一個文件夾中備用。

2 安裝Inno Setup,網上有下載,本文利用的是Inno Setup5漢化版, 安裝完成後雙擊桌面快捷方式Inno Setup 編譯器打開Inno Setup5

3選擇【用[腳本向導]創建新的腳本文件】點擊確定,彈出Inno Setup腳本向導,點擊下一步

4在彈出的菜單中,填入應用程序的名稱、版本、及相關製作者信息點擊下一步

5在此窗中中指定應用程序的文件夾名稱,其他默認,點擊下一步

6在此窗口中首先指定應用程序的主程序的文件路徑;

7然後點擊添加文件將程序運行需要的其他文件依次加入

8如果程序運行需要加入文件夾點擊添加文件夾將需要的文件夾加入,因為我們之前將程序運行所需的所有文件都拷貝到一個文件夾中,所以選擇添加文件夾一次性將文件全部加入即可

9點擊下一步輸入程序安裝後要創建的開始菜單中的顯示名稱,勾選創建卸載圖標、桌面圖標等選項,點擊下一步;

10在此窗口中選擇要顯示的許可文件、及安裝前後要顯示的信息文件,點擊下一步

11選擇安裝過程中顯示的語言,InnoSetup支持多語言,點擊下一步

12在此窗口中可以選擇安裝程序製作好後的輸出文件路徑及文件名,自定義安裝程序圖標及安裝密碼(如果需要的話),點擊下一步

13點擊下一步,默認即可,下一步

14點擊完成

❺ inno setup 腳本問題,紅框里編譯不過,我想實現在安裝後從安裝文件外拷文件到安裝目錄中功能,FileCopy

FileCopy
語法:
function FileCopy(const ExistingFile, NewFile: String; const FailIfExists: Boolean): Boolean;
描述:
復制 ExistingFile 到 NewFile,保留時間戳和文件屬性。
如果 FailIfExists 為 True,當NewFile 已經存在時,專它將失敗,否則將覆屬蓋它。
如果成功返回 True,否則返回 False。

閱讀全文

與innosetup復制文件夾相關的資料

熱點內容
炫酷字體APP下載的文件在哪裡 瀏覽:668
廊坊哪裡有少兒編程機構 瀏覽:312
cad新文件能找回來嗎 瀏覽:951
導出手機qq文件到u盤 瀏覽:456
電腦如何打開ppt文件怎麼打開方式 瀏覽:782
魅族鎖定區文件夾 瀏覽:357
刻字cnc怎麼編程 瀏覽:182
學校的網路拓撲結構圖 瀏覽:784
收集100個pdf文件里關鍵詞 瀏覽:594
蘋果關閉4g網路設置 瀏覽:289
如何監測資料庫 瀏覽:967
拷貝過來的pdf文件 瀏覽:751
抖音小店的訪客數據怎麼看 瀏覽:670
怎麼把c語言編程的字元向下移動 瀏覽:786
sql刪除文件組代碼 瀏覽:978
安卓post請求多重json 瀏覽:776
微信消除數據怎麼恢復 瀏覽:918
小米刷機顯示系統找不到指定文件 瀏覽:528
蘋果手機小風扇圖app叫什麼 瀏覽:292
繁體中文輸入工具 瀏覽:916

友情鏈接