Кто-нибудь сталкивался с ошибкой, из-за которой временный путь извлечения пользовательского действия добавляется при создании файла?
У меня есть управляемое настраиваемое действие (64-разрядная C# DLL с использованием Microsoft.Deployment.WindowsInstaller), которое выполняет некоторые проверки системы. Он записывает файл ключ=значение в стиле inf в отложенном ЦС. На самом деле здесь нет ничего особенного, просто File.Create(FullPathToFile).
Но когда я пытаюсь записать файл, по какой-то причине включается временный каталог, в который извлекается ЦС.
MSI (s) (3C:E4) [10:19:36:712]: Здравствуйте, я ваш 64-битный сервер настраиваемых действий с повышенными правами.
SFXCA: Извлечение пользовательского действия во временный каталог: C:\Windows\Installer\MSIC451.tmp-\
SFXCA: привязка к CLR версии v2.0.50727
System.IO.DirectoryNotFoundException: не удалось найти часть пути 'C:\Windows Installer\MSIC451.tmp-*C:\Program Files\Path, куда должен быть записан файл свойств *'. at System.IO.__Error.WinIOError(Int32 errorCode, String mayFullPath)
at System.IO.FileStream.Init(путь String, режим FileMode, доступ к FileAccess, права Int32, логическое значение useRights, общий доступ к FileShare, размер буфера Int32, параметры FileOptions , SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
в .....
Есть ли что-то странное в том, как управляемый ЦС использует запись потока?