Вы не должны запускать основное приложение с повышенными правами, если оно не требует прав администратора.Какой тип установщика вы используете?
MSI работает с текущими привилегиями пользователя и повышается только для внесения изменений в систему.После завершения установки вы можете запустить основное приложение, и оно будет запущено как текущий пользователь без повышенных прав.
Если вы настроили файл setup.exe, вы можете запустить свою программу установки без повышенных прав.Когда придет время для установки файлов, запустите другой процесс (это может быть тот же исполняемый файл), чтобы установить файлы и внести изменения в масштабе всей системы.По завершении этого шага вы можете перезапустить основное приложение без повышения прав по сравнению с начальным процессом.
В качестве альтернативы, при текущем подходе, при котором установка и обновление выполняются с повышенными правами, следуйте инструкциям на Как сделатьЯ запускаю программу как пользователь рабочего стола из приложения с повышенными правами для запуска вашего основного приложения без повышенных прав .
Примечание: разрешения по умолчанию для ProgramData позволяют всем создавать файлы и папкино только пользователь, создавший их, может изменять файлы (или администратор).Чтобы преодолеть это, у вас есть два варианта:
- Создание файлов данных непосредственно в профиле пользователя.У каждого пользователя будут свои данные.
- Создайте данные профиля пользователя из общего шаблона, хранящегося в ProgramData, как , предложенный Seva в опции 2 .В этом случае у каждого пользователя также будут свои собственные данные.
- Или измените списки ACL для данных своего приложения в каталоге ProgramData, чтобы их могли изменять все, а не только пользователь, создавший папку и файлы.