8 Stimmen

Sind Delphi 2010 Programme in der Lage, standardmäßig mit Vista/Win7 UAC umzugehen?

Wenn Sie ein Programm in D2010 kompilieren, wird automatisch eine .res-Datei generiert. Ist sie standardmäßig in Ihrem Programm enthalten? oder müssen Sie sie selbst einfügen? wenn ja, welche Rechte erhalten Sie? kann mein Programm einen Registerschlüssel ändern, ohne die .res-Datei zu ändern? wenn nein, welche Änderungen muss ich vornehmen?
eine Nebenfrage Gibt es eine Komponente/Experte (vorzugsweise frei), die generieren/einschließen kann .res-Datei in meinem Delphi 7 und Delphi 2007 Projekte automatisch genau wie Delphi 2010?
bearbeiten : ich vergaß zu erwähnen, dass ich weder win7 noch vista habe noch jemals benutzt habe
bearbeiten2 :Ich habe eine Manifestdatei für den Fall beigefügt diese Anleitung aber das Tutorial spricht nur über Windows Vista und nicht 7 würde die .xml (manifest) Datei in diesem Tutorial machen meine app in der Lage, mit win7 UAC zu behandeln
bearbeiten3 Wenn ich meine eigene Manifestdatei einschließen und Delphi ist es standardmäßig auch, die 2 Manifestdateien (1 mit Admin-Prävilagen und 2nd ohne) machen wird, würde dies irgendwelche Probleme/unvorhersehbares Verhalten verursachen

1 Stimmen

Warum muss Ihr Programm einen Registrierungsschlüssel auf Verwaltungsebene ändern? Wenn Ihr Programm das tun muss, wird es auch unter älteren Windows-Versionen Probleme haben, es sei denn, Ihre Kunden lassen alle Benutzer mit Administratorrechten laufen, was dumm wäre. Wenn Sie neuere Windows-Versionen unterstützen wollen, wäre es außerdem sinnvoll, ein Exemplar zu kaufen, damit Sie Ihre Software auf den Plattformen testen können, die Sie zu unterstützen vorgeben.

0 Stimmen

@rob kennedy: Die Situation ist nicht so, wie du denkst, ich habe ein Praktikumsangebot bekommen, mein erstes Vorstellungsgespräch lief gut, aber sie haben mich gebeten, ein Demoprogramm einzureichen. Eines der Dinge, nach denen sie gefragt haben, ist, dass mein Programm in der Lage sein sollte, bei jedem Start von Windows zu laufen. \Microsoft\Windows\CurrentVersion\Run Ich fürchte, wenn sie es unter Windows 7 mit einem normalen Benutzerkonto testen, würde meine Software versagen :(

0 Stimmen

Wenn Sie diese Registry-Einstellung in HKey_Current_User sollten Sie keine Probleme haben. Sie können auch eine Verknüpfung zu Ihrem Programm in den Autostart-Ordner des Startmenüs legen, das sollte auch funktionieren. Ich denke, es wäre schlechter dass Sie für Ihr Programm Admin-Rechte benötigen, wenn die übrigen Aufgaben dies nicht erfordern. Außerdem bin ich mir sicher, dass Sie bei der Einreichung Ihres Programms einfach sagen können, dass Sie keinen Zugang zu Windows 7 haben und es daher nicht testen konnten; das ist eine durchaus verständliche Situation für einen Studenten. Sie werden es stattdessen unter Windows XP testen.

8voto

zz1433 Punkte 3478

Das von Delphi generierte Manifest gibt Ihrem Prozess die niedrigsten Privilegien (das ist übrigens der Standard).

Sie müssen die Manifestdatei ändern, damit sie ASK für die Erlaubnis, mit administrativen Rechten ausgeführt zu werden (Called elevation).

Ihre Anwendung mit den Standardprivilegien sollte lesen/schreiben auf HKEY_CURRENT_USER ohne Anhebung.

Zugriff auf %programfiles% y HKEY_LOCAL_MACHINE erfordert eine Anhebung. (Bei den anderen Bienenstöcken des Registers bin ich mir nicht so sicher)

Diese PDF-Datei wird Ihnen bei Ihrer Arbeit eine große Hilfe sein.

http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf

0 Stimmen

Ich denke, Sie sollten Runtime-Themes deaktivieren (oder XPMan-Referenzen entfernen), aber ich bin mir nicht 100%ig sicher, wirklich. Sie können überprüfen, indem Sie Delphis Manifest deaktivieren, Ihr eigenes einbetten und überprüfen, ob die Anwendung richtig thematisiert wird

1 Stimmen

Für die dritte Bearbeitung sollten Sie die Unterstützung für Laufzeitthemen in den Projektoptionen deaktivieren und selbst ein Manifest als Ressource bereitstellen, das sowohl die erforderlichen Berechtigungen als auch das Laufzeitthema enthält. Außerdem erinnere ich mich, dass es einen IDE-Experten für Delphi 2009 gab, mit dem Sie das generierte Manifest für Ihr Projekt bearbeiten konnten. Leider kann ich mich jetzt nicht mehr an seinen Namen erinnern.

0 Stimmen

@vcldeveloper: sprechen Sie über "Projekt/Optionen/Anwendung/Laufzeitthemen aktivieren" Checkbox? und ich weiß nichts, wie man Laufzeitthemen zu Ihrem Manifest hinzufügen können Sie auf ein Tutorial zeigen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X