Я бы переместил установку в% userappdata% или в другую папку, которая не требует повышенных прав. Хотя вы можете размещать .exe в программных файлах, ЛЮБОЙ файл данных в этих местах имеет ОЧЕНЬ ограниченные права в наши дни (они продолжают блокировать windows все больше и больше).
Также будьте осторожны. Даже если вы скажете, что у меня установлены документы? Если вам ТРЕБУЮТСЯ повышенные права во время этой установки, то зачастую ВО ВРЕМЯ установки файлы и папки, которые вы создаете, ТАКЖЕ будут иметь повышенные права.
Итак, не помещайте ЛЮБЫЕ файлы данных или файлы, которые есть в вашем коде. читать в программных файлах. В наши дни такие системные папки имеют тенденцию быть ограниченными и имеют заблокированные права.
% appdata% - ваш лучший выбор. В большинстве случаев это будет преобразовано в:
C:\Users\AlbertKallal\AppData\Roaming
. Это ТАКЖЕ означает, что вашему коду также лучше не иметь жестко заданных имен путей. (вы получаете / берете свой путь из исполняющейся сборки. Если у вас много кода и пути жестко запрограммированы? Тогда вы можете укусить пулю и сказать установить в c: \ MyCoolApp или в какую-то папку, которую вы создаете в c: \ drive. Однако, когда так много людей выполняют удаленную работу, даже c: \ SomeFolder может быть плохим выбором, поскольку в терминальных службах все пользователи используют один и тот же c: \ drive.
Итак, переместите установку из файлов программы или, по крайней мере, переместите части файла данных в известную папку для чтения / записи, к которой все пользователи по умолчанию будут иметь права и не требовать повышенных прав для использования таких папок . Итак, внимательно следите за любыми частями файла данных, которые у вас есть в процессе установки. Как уже отмечалось,% appdata% - хороший выбор, но имейте в виду, что имена путей к исполняемому файлу и расположение файла данных будут динамическими c (имя пользователя будет частью имени пути). И если вы не думаете, что когда-либо поддерживаете службы терминалов или удаленный рабочий стол? Тогда вы можете использовать / рискнуть жестким кодом d c: подход к папке \ MyApp.
В конце концов, вам ДЕЙСТВИТЕЛЬНО нужно избегать повышенных прав ВО ВРЕМЯ установки, и это особенно актуально, если файлы данных являются частью установки - так как эти файлы ТАКЖЕ унаследуют повышенные права во время установки. И, конечно, используя программный файл, который был распространен 10 или 15 лет go для программ И данных? Ну, программная часть все еще в порядке, но какие-либо файлы данных теперь не могут быть размещены в программных файлах для всех практических целей.