Je nachdem, was Sie tun, können Sie sich auf eine Welt voller Schmerzen gefasst machen. Es gibt keine festen und schnellen Antworten auf diese Fragen, aber von jemandem, der gerade die gleichen Probleme durchmacht, weiß ich Folgendes.
1) Wo sollte ich Anwendungsdaten oder gespeicherte Dateien der Benutzer speichern?
Das hängt davon ab, was Sie tun wollen. Wenn Sie sie pro Benutzer benötigen, speichern Sie sie in Users/AppData, wenn Sie sie für alle Benutzer benötigen, speichern Sie sie in 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
Ändern Sie dies in CSIDL_APPDATA für das Verzeichnis Users AppData. Hinweis: Diese Verzeichnisse sind für XP und Vista an völlig unterschiedlichen Stellen im Dateisystem zu finden. Bereiten Sie sich also bei der Fehlersuche darauf vor, an unterschiedlichen Stellen zu suchen.
2) Benötige ich dort auch Rechte zum Erstellen von Ordnern und Dateien?
Sie benötigen Adminsitrator-Zugriff, um irgendetwas in die Programmdateien zu schreiben, tun Sie das nach Möglichkeit nicht! Wir sind derzeit Probleme bekommend dass die APIs für VB und die Standard-APIs sich bei Dateien in Programmdateien unterschiedlich verhalten.
3) Welche anderen gemeinsamen Aktionen können Probleme verursachen?
Es gibt eine Menge versteckter Probleme. Um nur einige zu nennen: Sie können nicht über IPC oder Named Pipes mit anderen Anwendungen kommunizieren (wir haben einen Dienst, mit dem wir über ein Benachrichtigungssymbol in der Taskleiste kommunizieren, und das musste komplett neu geschrieben werden). Alles, wo man eine UAC-Benachrichtigung sieht, ist sehr schwierig. Außerdem kann man in der Registry in LOCAL_MACHINE ohne Administrator nichts schreiben, also muss man entweder bei LOCAL_USER bleiben oder die Anmeldedaten erhöhen (siehe unten).
4) Das Programm hat einen Updater, der Dateien herunterladen und registrieren muss.
Viel Glück mit diesem, ich empfehle dringend, dass Sie es nicht in VB6 schreiben, wie ich sagte, die VB6-Datei api's scheinen Dateien anders als die Standard-API's zugreifen. Wenn Sie die Privilegien erhöhen müssen, sehen Sie hier nach Beitrag bei dem mir freundlicherweise jemand geholfen hat.