2017-04-20 10 views
0

私はwixを使用してインストーラを作成しています。遅延カスタムアクションFile.Existsは既存の一時ファイルに対してfalseを返します。カスタムアクションでC:\Users\<me>\AppData\Local\Tempを表示させるにはどうすればよいですか?Windowsテンポラリファイルディレクトリにアクセスできない

+0

'のCustomAction/@偽装= "yes" を' – zett42

+0

同じような状況を設定してみてください。.. – Edward

答えて

2

実際のコードを表示する必要があります。対話ユーザーのデスクトップから実行されるコードではうまくいくかもしれませんが、システムフォルダから偽装された(またはシステムアカウントで)実行されているmsiexecプロセスから呼び出されています.Dll呼び出しか実行可能ファイルか。

ただし、カスタムアクションからそのフォルダを見ることができないという問題があります。システムアカウントで遅延を実行し、Environment.SpecialFolderを見てユーザーの一時フォルダを取得する場合は、システムアカウントの一時フォルダを取得します。偽装を実行すると、偽装によってユーザーの一時フォルダーなどのユーザープロファイルの場所にアクセスできるユーザープロファイル全体が読み込まれないため、適切な場所が得られません。

これを実行しようとしていることを正確に把握していないと、WiXとWindowsインストーラでは必要なものを正確に検索することができません。あなたが必要とするプロパティ名の場所であるTempFolderでそのファイルのファイル検索を行うだけです。あなたはこの種のものは、バージョンチェックを無視し、TempFolderの検索が必要です。

http://wixtoolset.org/documentation/manual/v3/howtos/files_and_registry/check_the_version_number.html

関連する問題