0

私の OnFirstUIAfter 関数では、インストールしたばかりのファイルの名前を次のように変更しています。

RenameFile(FileName1, FileName2);

OnMaintUIAfter 関数で FileName1 を再度インストールしますが、最初のインストールと同様に FileName2 を上書きする必要があります。私が単に使用する場合:

RenameFile(FileName1, FileName2);

何も起こりません。INSTALLDIR にはまだ両方のファイルがあり、FileName2 は古くなっています。

インストーラー スクリプトが既存のファイルの名前を変更できないことに問題があると考えて、名前を変更する前にファイルを削除することにしました。

DeleteFile(FileName2);
RenameFile(FileName1, FileName2);

それでも何も起こりません。どちらのファイルもまだ INSTALLDIR にあります。

FileName2 は、以前のインストールによってインストールされるファイルではないことに注意してください。すべてのインストールで FileName1 がインストールされ、その名前が FileName2 に変更されます。

知恵の言葉はありますか?私は完全にアイデアがありません。

SH

4

1 に答える 1

2

私の最善の知恵の言葉は、カスタム アクションの記述をやめることです。コンポーネントのルールファイルのバージョン管理ルールを学び、MSI に面倒な作業を任せてください。プロセス外のカスタム アクションは、水を濁すだけです。

于 2013-12-05T15:41:59.543 に答える