Hallo,
ich habe ein Programm geschrieben, welches einige Dinge im System ändert, wofür auf jeden Fall Adminrechte von Nöten sind.
Ich kenne es z.B. von Installern, dass Vista nachfragt (bei UAC), ob der Eingriff ins System gestattet werden soll.
Mein Programm startet allerdings einfach so und funktioniert dementsprechend nicht.
Wie kann ich es einrichten, dass mein Programm sofort nachdem es gestartet wurde, nach den Adminrechten verlangt?
Gruß, Alex
Seite 1 von 1
Vista Adminrechte Anfordern
Anzeige
#2
geschrieben 22. April 2008 - 20:34
Mit welcher Programmmiersprache hast dus geschrieben
#3
geschrieben 22. April 2008 - 20:37
Lasse dafür deiner Software einfach eine Verknüpfung generieren/kopieren in der du die generelle Anfrage auf Adminrechten mitgibst.
Hierzu musst du nur die Verknüpfung einwenig modifizieren:
dannach 's Fenster mit "Übernehmen" und "OK" schließen.... wie du das im Quelltext zurrecht biegen müsstest kann ich grad' nicht sagen...
Meist bemerkt das UAC jedoch, wenn versucht wird auf geschützte Systembereiche zuzugreifen und fragt sonst auch nochmal nach.... musst du guggen was für dich optimaler ist
Hierzu musst du nur die Verknüpfung einwenig modifizieren:
~rechtsklick~ auf Verknüpfung > Erweitert > "Als Administrator ausführen" makieren
dannach 's Fenster mit "Übernehmen" und "OK" schließen.... wie du das im Quelltext zurrecht biegen müsstest kann ich grad' nicht sagen...
Meist bemerkt das UAC jedoch, wenn versucht wird auf geschützte Systembereiche zuzugreifen und fragt sonst auch nochmal nach.... musst du guggen was für dich optimaler ist
#4
geschrieben 22. April 2008 - 20:46
Nunja, es gibt Programmiersprachen, in denen man explizit nach Vista-Adminrechten verlangen kann (AutoIt bietet da bspw. einen Schalter namens "#RequireAdmin"). Andere erkennt Vista aber auch am Dateinamen: Eine "setup.exe" versucht Vista normalerweise von vornherein, mit Adminrechten auszuführen...
Du könntest mal im Technet (Google) schauen, da gibt es sicherlich Informationen, wann Vista von sich aus nach erhöhten Rechten fragt...
Wie gesagt, der Name der Programmiersprache wäre nicht schlecht... Vielleicht bietet sie auch so eine Option an...
Du könntest mal im Technet (Google) schauen, da gibt es sicherlich Informationen, wann Vista von sich aus nach erhöhten Rechten fragt...
Wie gesagt, der Name der Programmiersprache wäre nicht schlecht... Vielleicht bietet sie auch so eine Option an...
#5
geschrieben 22. April 2008 - 21:02
Also generell dürfte ein Manifest reichen.
Die genauen Anforderungen mit Beispielen findet man hier: http://www.microsoft.com/downloads/details...;DisplayLang=en
Gruß,
Stefan
Die genauen Anforderungen mit Beispielen findet man hier: http://www.microsoft.com/downloads/details...;DisplayLang=en
Gruß,
Stefan
#6
geschrieben 22. April 2008 - 21:05
Zitat (Diewie: 22.04.2008, 22:02)
Also generell dürfte ein Manifest reichen.
Wie bindet man so ne manifest in eine exe ein. die bereits kompiliert ist
#7
geschrieben 22. April 2008 - 21:06
Danke für die Antworten. Ich schreibe in C#. Das mit der Manifestdatei habe ich auch gefunden, und die entsprechend abgeändert (ist ja selbst in den Kommentaren der manifest-Datei ausreichend erklärt).
Nun kommt beim kompilieren der Fehler:
"Die angeforderte Ausführungsebene "requireAdministrator" wird von ClickOnce nicht unterstützt."
"Alles kein problem..." dachte ich. ClickOnce deaktiviert, nochmal kompiliert -> selber Fehler.
Und siehe da, ClickOnce war wieder aktiviert. Das verwundert mich doch sehr.
Kann mir da vielleicht noch jemand bei weiterhelfen?
Nun kommt beim kompilieren der Fehler:
"Die angeforderte Ausführungsebene "requireAdministrator" wird von ClickOnce nicht unterstützt."
"Alles kein problem..." dachte ich. ClickOnce deaktiviert, nochmal kompiliert -> selber Fehler.
Und siehe da, ClickOnce war wieder aktiviert. Das verwundert mich doch sehr.
Kann mir da vielleicht noch jemand bei weiterhelfen?
insane in the membrane
#8
geschrieben 22. April 2008 - 21:07
Was ist ClickOnce
#9
geschrieben 22. April 2008 - 21:12
Eine "ganz tolle" Idee von Microsoft, Software direkt von nicht-lokalen Servern zu verwenden. Brauchte ich noch nie. Darum habe ich es ja auch ausgeschaltet, aber das scheint keine Auswirkung zu haben, denn es schaltet sich ja von selbst wieder an.
Dieser Beitrag wurde von mush bearbeitet: 22. April 2008 - 21:13
insane in the membrane
#10
geschrieben 23. April 2008 - 11:00
Ich find ClickOnce ne geniale Sache. Das hat mir schon eine Menge Menge Arbeit erspart...
#11
geschrieben 23. April 2008 - 19:46
#12
geschrieben 24. April 2008 - 12:55
Hab im Netz eine Erklärung gefunden die das ganze sehr gut beschreibt:
Click-Once-Deployment ist eine mit .NET 2.0 eingeführte Weiterentwicklung des No-Touch-Deployment (NTD). Click-Once erlaubt die Verteilung von Windows-Anwendungen über Web-server und Netzwerklaufwerke. Eine automatische Aktualisierungsfunktion ist enthalten.
Eine Click-Once-Anwendung wird beim ersten Aufruf für den aktuellen Benutzer installiert und bei Bedarf automatisch aktualisiert. Der Endbenutzer startet die Anwendung durch einen Mausklick auf einen Link in Windows oder auf einer Webseite. Sofern die Anwendung in sei-nem lokalen Application Cache (/Dokumente und Einstellungen/(User)/Lokale Einstellun-gen/My Applications) noch nicht in der aktuellsten Fassung existiert, lädt das .NET Framework 2.0 die Anwendung herunter und installiert sie.
Ein Vorteil gegenüber NTD ist die Möglichkeit, Einträge im Start-Menü und in der Softwarelis-te in der Systemsteuerung vorzunehmen. Click-Once-Anwendungen funktionieren auch, wenn die Quelle nach dem ersten Herunterladen nicht mehr verfügbar ist. Das .NET Framework und andere Voraussetzungen (MDAC 9, MSDE, J#, etc.) werden bei Bedarf mitinstalliert. Visual Studio 2005 bietet eine Unterstützung für das Publizieren von Click-Once-Anwendungen direkt aus der IDE heraus und erstellt automatisch eine HTML-Seite für den Download.
Gegenüber einer Installation mit Microsoft Installer gibt es aber weiterhin einige Einschrän-kungen (z. B. nur beschränkter Zugriff auf die Registry, Installation gilt immer nur für angemel-deten Nutzer). Nicht möglich ist daher die Registrierung von Dateierweiterungen, mit
denen die Anwendung verbunden werden soll. Erst mit Windows 2006 (»Longhorn«) wird Click-Once diese Funktion anbieten.
Möglich wird die automatische Aktualisierung durch eine doppelte Indirektion (Manifest-based Activation): Der Link zeigt nicht auf die EXE, sondern auf ein Deployment Manifest (XML-Datei), das wiederum auf das Application Manifest der aktuellsten Version zeigt. Das Applicati-on Manifest enthält schließlich die Informationen über den Start einer Anwendung und die Abhängigkeit von anderen Anwendungen. Wichtig für die automatische Aktualisierung ist, dass die Anwendung nicht nur erneut publiziert wird, sondern auch tatsächlich eine neue Versions-nummer erhält. Signifikant sind hierbei die ersten drei Sektionen der Versionsnummer.
Click-Once-Deployment ist eine mit .NET 2.0 eingeführte Weiterentwicklung des No-Touch-Deployment (NTD). Click-Once erlaubt die Verteilung von Windows-Anwendungen über Web-server und Netzwerklaufwerke. Eine automatische Aktualisierungsfunktion ist enthalten.
Eine Click-Once-Anwendung wird beim ersten Aufruf für den aktuellen Benutzer installiert und bei Bedarf automatisch aktualisiert. Der Endbenutzer startet die Anwendung durch einen Mausklick auf einen Link in Windows oder auf einer Webseite. Sofern die Anwendung in sei-nem lokalen Application Cache (/Dokumente und Einstellungen/(User)/Lokale Einstellun-gen/My Applications) noch nicht in der aktuellsten Fassung existiert, lädt das .NET Framework 2.0 die Anwendung herunter und installiert sie.
Ein Vorteil gegenüber NTD ist die Möglichkeit, Einträge im Start-Menü und in der Softwarelis-te in der Systemsteuerung vorzunehmen. Click-Once-Anwendungen funktionieren auch, wenn die Quelle nach dem ersten Herunterladen nicht mehr verfügbar ist. Das .NET Framework und andere Voraussetzungen (MDAC 9, MSDE, J#, etc.) werden bei Bedarf mitinstalliert. Visual Studio 2005 bietet eine Unterstützung für das Publizieren von Click-Once-Anwendungen direkt aus der IDE heraus und erstellt automatisch eine HTML-Seite für den Download.
Gegenüber einer Installation mit Microsoft Installer gibt es aber weiterhin einige Einschrän-kungen (z. B. nur beschränkter Zugriff auf die Registry, Installation gilt immer nur für angemel-deten Nutzer). Nicht möglich ist daher die Registrierung von Dateierweiterungen, mit
denen die Anwendung verbunden werden soll. Erst mit Windows 2006 (»Longhorn«) wird Click-Once diese Funktion anbieten.
Möglich wird die automatische Aktualisierung durch eine doppelte Indirektion (Manifest-based Activation): Der Link zeigt nicht auf die EXE, sondern auf ein Deployment Manifest (XML-Datei), das wiederum auf das Application Manifest der aktuellsten Version zeigt. Das Applicati-on Manifest enthält schließlich die Informationen über den Start einer Anwendung und die Abhängigkeit von anderen Anwendungen. Wichtig für die automatische Aktualisierung ist, dass die Anwendung nicht nur erneut publiziert wird, sondern auch tatsächlich eine neue Versions-nummer erhält. Signifikant sind hierbei die ersten drei Sektionen der Versionsnummer.
- ← Das System Kann Die Angegebene Datei Nicht Finden
- Programmierung
- Wo Ist Der Namespace Microsoft.sharepoint →
Thema verteilen:
Seite 1 von 1