В зависимости от того, что вы делаете, вы можете оказаться в мире боли. На все эти вопросы нет четких и быстрых ответов, но от того, кто сейчас сталкивается с теми же проблемами, вот что я знаю.
1) Где хранить данные приложения или сохраненные файлы пользователя?
Это зависит от того, что вы хотите сделать. Если вы хотите их для каждого пользователя, сохраните их в Users / AppData, если вы хотите, чтобы они были для всех пользователей, сохраните их в Common / AppData
If SHGetFolderPath(0, CSIDL_COMMON_APPDATA, -1, SHGFP_TYPE_CURRENT, sTempPath) = 0 Then
sCommonAppdata = Left$(sTempPath, InStr(1, sTempPath, Chr(0)) - 1) & "CompanyName\AppName"
End If
Измените его на CSIDL_APPDATA для каталога AppData пользователей. Примечание. Они отображаются в совершенно разных местах файловой системы для XP и Vista, поэтому при отладке будьте готовы к поиску в разных местах.
2) Мне тоже нужны привилегии для создания папок и файлов?
Вам необходим доступ Adminsitrator для записи чего-либо в Program Files, если это вообще возможно, не делайте этого! В настоящее время мы сталкиваемся с проблемами , которые по-разному работают с API-интерфейсами для VB и стандартными API-файлами в файлах программных файлов.
3) Какие другие общие действия вызовут проблемы?
Есть много скрытых ошибок. Иными словами, вы не можете общаться через IPC или Named Pipes с другими приложениями (у нас есть служба, с которой мы общались через значок уведомлений в трее, и которую нужно было полностью переписать). Что-нибудь, где вы видите уведомление UAC, очень сложно. Также вы не можете писать что-либо в Реестре в LOCAL_MACHINE без Администратора, поэтому вы должны либо придерживаться LOCAL_USER, либо повышать учетные данные (см. Ниже).
4) В программе имеется средство обновления, которое должно загружать и регистрировать файлы. Как повысить привилегии (sic), когда это происходит?
Удачи в этом, я настоятельно рекомендую вам не писать это в VB6, как я уже сказал, API-интерфейсы файла VB6, по-видимому, обращаются к файлам не так, как стандартные API. Если вам нужно повысить привилегии, посмотрите эту запись , с которой мне любезно помогли.