2012-11-24 22 views
9

私のプログラムはファイルをc:\Users\GameDev\AppData\Local\<my game folder>に作成します。インストーラがそこに置かなかったとしても、アンインストールプロセス中にフォルダ全体を削除するようInnoSetupに指示することは可能ですか?アンインストールプロセス中にフォルダを削除する方法はありますか?

+0

あなたは* some *ディレクトリ、インストーラに関連していない削除したいと思いますか? – TLama

+0

はい、正しいです。インストール時に、このフォルダはプログラムで実行時に作成されるため存在しません。 – superwpf

+0

['[UninstallDelete]'](http://jrsoftware.org/ishelp/topic_uninstalldeletesection.htm)セクションの作業ですが、常に正しいユーザーアプリケーションデータパスを取得するのに問題があります。 – TLama

答えて

19

インストーラに関連しない特定のフォルダを削除するには(明示的に指定しないと、作成されたアンインストーラによってすべてのファイルとディレクトリが削除されるため)、[UninstallDelete]セクションを使用します。そこにあなたの場合のような何かを指定することができます:

[UninstallDelete] 
Type: filesandordirs; Name: "{localappdata}\<my game folder>" 
+0

ご協力いただきありがとうございます。 – superwpf

+1

喜んで;-) – TLama

+0

これは、各ユーザーがプログラムの{userappdata}フォルダに独自の設定を持っていても、別々の設定でマルチユーザーインストールでは機能しません。この問題に取り組む際には、プログラムを起動したすべてのユーザーの設定フォルダの{commonappdata}の下にリストを作成しておく必要がありました(これにより、上記の設定フォルダが作成されました)。このリストは、コマンドラインパラメータでアプリケーションを起動することで、Innoアンインストーラの[UninstallRun]から起動された、アプリケーション自体の組み込みアンインストールルーチンを起動することによって、これらのフォルダをすべて削除するために使用されました。 – Nyerguds

関連する問題