Ich versuche, nur einige Anwendungen für den aktuellen Benutzer zu starten, wenn Windows gestartet wird.Ausführen von C# -Anwendung unter Windows Start
Ich kann dies erreichen mit dem folgenden:
RegistryKey oKey = Registry.CurrentUser.OpenSubKey("Software", true);
oKey = oKey.OpenSubKey("Microsoft", true);
oKey = oKey.OpenSubKey("Windows", true);
oKey = oKey.OpenSubKey("CurrentVersion", true);
oKey = oKey.OpenSubKey("Run", true);
oKey.SetValue("Application 1", "C:\\path\\to\\ap1.exe");
oKey.SetValue("Application 2", "C:\\path\\to\\ap2.exe");
Aber ich versuche dies als Teil eines Visual Studio Installer-Projekt auszuführen. Ich habe meine benutzerdefinierte Aktion hinzugefügt, das Programm startet wie es sollte, und das Installationsprogramm funktioniert großartig in XP.
In Windows 7 erhält das Installationsprogramm erhöhte Berechtigungen und fügt alles in die Registrierung für den aktuellen Benutzer ein. Allerdings fügt es die Registrierungseinträge ein, wenn es als eigenständige Anwendung (außerhalb des Installationsprojekts) ausgeführt wird und keine erhöhten Berechtigungen erhält.
Die einzige Sache, die ich herausfinden kann ist, dass mit den erhöhten Privilegien versucht wird, die Einträge in das Administratorkonto anstelle des aktuellen Benutzers einzufügen? oder gibt es noch etwas, das mir fehlt? Und gibt es eine andere Möglichkeit, mein Ziel hier zu erreichen?
Könnten Sie mir mehr Informationen geben? oder erarbeiten Sie bitte Ihr Ziel? – VIRA
Was passiert, wenn Sie 'Registry.LocalMachine.OpenSubKey()' bekommen? – wasyl
Sie sollten keine benutzerdefinierten Aktionen dazu benötigen. –