Мое приложение теперь должно создавать, а затем записывать файлы во временный каталог, который находится в его установленном каталоге.Msi помещает его в Program Files \ по умолчанию.Я не думал, что случится, если какая-нибудь бедная душа запустит его, используя учетную запись без прав администратора.
Description: Access to the path 'Temp' is denied.
StackTrace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj)
at System.IO.Directory.CreateDirectory(String path)
Я посмотрел на своем компьютере, и по умолчанию любая учетная запись в группе пользователей не имеет разрешения на запись.почти для каждой папки.Я думаю, что я не знаю всего этого, потому что я всегда запускаю все свои вещи как администратор, даже не задумываясь об этом.
В любом случае, есть ли способ:
1: закодировать каталогсоздание / запись в файл, так что он временно повышает права программы для администратора, если она не работает от имени администратора (я использую C #)
2: Настройте установщик для установки разрешений для каталога на «полный контроль»для всех в группе «Пользователи» (с помощью программы установки Windows msis)
Спасибо!