我試圖根據Inno Setup中所選語言進行條件安裝。基於Inno Setup的語言進行條件安裝
I.e.如果選擇的語言是英語,那麼安裝文件en.txt,如果選擇的語言是意大利語,則安裝文件it.txt等。
它可能做到這一點嗎?我已經看到有一個{語言}常量,但我不明白如何使用它來執行條件安裝。
我試圖根據Inno Setup中所選語言進行條件安裝。基於Inno Setup的語言進行條件安裝
I.e.如果選擇的語言是英語,那麼安裝文件en.txt,如果選擇的語言是意大利語,則安裝文件it.txt等。
它可能做到這一點嗎?我已經看到有一個{語言}常量,但我不明白如何使用它來執行條件安裝。
根據語言選擇安裝哪個文件通常只需將語言參數添加到[文件]條目即可。從Inno Setup的幫助
公共參數說:
語言
空格分隔的語言名列表,告訴安裝程序條目所屬的語言。如果最終用戶從此列表中選擇一種語言,則會處理該條目(例如:該文件已安裝)。
總是處理沒有語言參數的條目,除非其他參數說不應該。
除了空格分隔列表之外,還可以使用布爾表達式。有關布爾表達式的示例,請參閱組件和任務參數。
例子:
語言:EN NL
所以,如果你想爲英語和西班牙語(而不是法語),[文件僅適用於英語安裝的文件和另一隻爲西班牙,另一]條目可能如下所示:
[Files]
Source: "MyProg-en.chm"; DestDir: "{app}"; Languages: en
Source: "MyProg-es.chm"; DestDir: "{app}"; Languages: es
Source: "x.exe"; DestDir: "{app}"; Languages: en es
查看inno setup examples文件夾中包含的Languages.iss腳本。
只是一個說明,也適用於註冊表部分。例如
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "ger"; MessagesFile: "compiler:Languages\German.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"
[Registry]
Root: HKCR; Subkey: ".tes"; ValueType: string; ValueName: ""; ValueData: "Testing..."; Languages: fr
只有當用戶選擇法語安裝時才安裝此註冊表項。當您可以在註冊表中存儲已安裝程序的語言時,它是有用的。