2016-05-10 7 views
0

{tmp}定数(つまり、自動的に生成されるTEMPの場所)を定義する必要があります。常に同じままで、実行するたびに変更されません。理想的には(例えばある-70G7E.tmp)ではなく、自動的に作成されたサブディレクトリよりも、ユーザーのTEMPディレクトリのルートに設定する:Inno Setupは{tmp}の場所を定義します

C:\ユーザー\ユーザー名\のAppData \ローカル\一時

の代わりに:

C:\ユーザー\ユーザー名\のAppData \ローカル\ Tempには\が

はと、そうであれば、どのようにそれを行うことができ、このことは可能です-ですxxxxx.TMPの?

System Tray Notifications

たびにそれがあるので、これは次のとおりです。InnoTools Trayを使用した場合、それはシステムトレイの通知領域のアイコンに複数のエントリを作成し、以下のコメントに反応して、この理由に拡大すること

実行すると、異なる{tmp}フォルダから実行されます。これを手動で自分自身で一定に設定して、使用中のファイルのチェックなどの問題を処理できれば、この問題は解決します。

これを解決するもう1つの方法がある場合は、私は提案することができます。

+1

いいえ、そうではありません。 OSはこれを処理します。一時的なものではないものを格納することになっていないので、 'TEMP'フォルダと呼ばれます。あなたがあなたのインストーラからOSディレクトリを定義する必要があると思うあなたが解決しようとしている*実際の*問題は何ですか? –

+0

はい、あります。上記の質問に追加された理由については、追加情報をご覧ください。 –

+0

{tmp}の代わりに{commmonappdata}を使用できますか? – kh25

答えて

2

これはできません。 TEMPのランダムなサブディレクトリの作成は、ハードコードされています。それを変更する方法はありません。

Inno SetupのソースコードのCreateTempDir functionを参照してください。

1

定数を使用する必要がある理由は説明していませんが、定数フォルダを使用すると問題が発生する可能性があります。フォルダ内のファイルが使用されている場合はどうなりますか?だから{tmp}が変わり、Inno Setupがそれを処理します。

ただし、代わりに{%TEMP}定数、またはGetTempDirfunctionを使用して、定数として好きなサブフォルダを使用できます。あなたはその作成と削除を処理する必要があるかもしれません。

関連する問題