2017-05-15 130 views
1

私は常にC:\AC:\A\B)の中にプログラム(B = {app})をインストールします。 BフォルダーとAフォルダー(Aフォルダーが空の場合のみ)を削除するには、DelTree関数を使用する方法を知っておく必要があります。Inno Setup - コードからフォルダを削除する方法(空の場合)

これはBフォルダを削除するために私のコードです:

DelTree(ExpandConstant('{app}'), True, True, True); 

インストールが失敗した場合やキャンセルされた場合、私は、prerequisitiesのインストールをロールバックするために、これを必要とします。だから私はUninstallDeleteまたはInstallDeleteのセクションを使用することはできません。

+0

コードを使用する必要がありますか?おそらく[UninstallDelete](http://www.jrsoftware.org/ishelp/index.php?topic=uninstalldeletesection)や 'InstallDelete'セクションを使うことができますか? – RobeN

+0

@RobeNそのフォルダを削除する必要がありますが、installdeleteまたはuninstalldeleteとは関係ありません。 –

答えて

2

RemoveDirを使用してエラーを無視してください。

既存の空のディレクトリを削除します。戻り値は、新しいディレクトリが正常に削除された場合はTrue、エラーが発生した場合はFalseです。

ExtractFileDirを使用して、{app}の親フォルダへのパスを解決します。

RemoveDir(ExtractFileDir(ExpandConstant('{app}'))); 
関連する問題