2

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

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

ありがとう。

私の英語でごめんなさい。

4

1 に答える 1

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;

質問を誤解している場合はDeleteFile、コードでサポート関数を使用してファイルを削除できます。たとえば、「ssDone」または「ssPostInstall」のCurStepChanged手順でファイルを削除できます。CurStep

于 2012-04-29T02:05:48.100 に答える