2012-04-29 13 views
2

inno setupの言語を制御する方法を知りたかったので、インストール後に英語のinno setupを選択すると、イタリア語のファイルは削除されますが、ユーザーがイタリア語を選択すると、私はインストール後に英語の言語ファイルを削除したいと思います。私はこのコードを試しましたが動作しません:Inno Setup if and language

[InstallDelete] 
#if {language} = "english" 
Type: files; Name: "{commondesktop}\english.txt" 
#if {language} = "italian" 
Type: files; Name: "{commondesktop}\italian.txt" 
#endif 

ありがとうございました。

私の英語のために申し訳ありません。

答えて

4

ディレクティブはコンパイル時に評価され、いずれの場合でも[InstallDelete]セクションはセットアップの開始時に処理されます。私は何とか質問を誤解している場合は

[Languages] 
Name: "en"; MessagesFile: "compiler:Default.isl" 
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" 

[Files] 
Source: "english.txt"; DestDir: "{commondesktop}"; Languages: en; 
Source: "italian.txt"; DestDir: "{commondesktop}"; Languages: it; 

は、あなたが使用することができます:あなたのケースのための最も簡単な方法は、私は信じて、ユーザが対応するセットアップ言語を選択していません場合は、最初の場所にファイルをインストールしないことですは、が 'ssDone'または 'ssPostInstall'である間に、例えばCurStepChangedの手順でファイルを削除するコード内で機能します。

+0

しかし、ファイルを削除するには? – user1363585

+0

ファイルをまだインストールしていない場合は削除する必要はありませんか? –

+0

ありがとう、仕事! – user1363585