Wenn ich ein Windows-Projekt erstelle und in dem Namen irgendwo das Wort "Update" vorkommt kann diese exe nur noch mit Administratorberechtigung gestartet werden.
Was issn das fürn Sch***??? kann man das irgendwo abstellen 😃
Howard
[...] kann man das irgendwo abstellen 😃 [...]
Nein.
Robert Wachtel
It's not a bug - it's a feature.
Und IMHO ein ganz praktisches.
Es gibt eigentlich keine Updater, die keine Adminrechte brauchen.
Benenne deine Anwendung also einfach um.
das Ding prüft tatsächlich den Dateinamen auf "install", "setup" und "update". Ich glaubs nicht.
Ich glaubs nicht.
Nochmals etwas direkter:
Was ist daran so schlimm?
Programme mit derartigen Dateinamen brauchen nun einmal zu 99% Adminrechte.
Es ist nicht grade eine saubere lösung, da die restlichen 1% auch nichtmehr starten. (gibt ein ftp-Programm namens "News updater") Außerdem brauchen auch viele Programme, die nicht "update" oder "install" im Namen haben Adminrechte. Sauberer wäre ein extra tag. Den würde aber nicht jeder nutzen.
Programme mit derartigen Dateinamen brauchen nun einmal zu 99% Adminrechte. Und die restlichen 1% können eine Manifestdatei in das Programm einbetten die Window sagt, dass das Programm ohne UAC-Prompt gestartet werden soll (sprich "asInvoker") 😃
danke Leute für die rege (an)Teilnahme.
ich habe Tatsache eine Programm was nunmal KEINE Adminrechte braucht da es ein Modul eines großen Programms ist welches nur Dateien von A nach B kopiert...wenn welche da sind. Natürlich wollte ich das ganze "Update..." nennen aber natürlich kann ich mir auch nen anderen Namen einfallen lassen.
zu der Geschichte mit der "Manifestdatei": DonMaxo was genau soll ich da eintragen damit er nicht mehr meckert??
Howard
Heißt das, man kann diese "Sicherheitsmaßnahme" umgehen indem man das Programm umbenennt ?
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hi Howard,
Wähle mal im Projektmappenexplorer dein Projekt aus, dann Rechtsklick auf den Namen -> Hinzufügen -> Neues Element. Dort unter Visual C# Elemente "Anwendungsmanifestdatei" auswählen und auf hinzufügen klicken.
An der Manifestdatei musst du dann nichts mehr ändern. Ein neues Erstellen des Projektes sollte dann ausreichen damit der UAC Abfrage nicht mehr erscheint.
Gruß, DonMaxo
Ich glaubs nicht.
Nochmals etwas direkter:
Was ist daran so schlimm?
Programme mit derartigen Dateinamen brauchen nun einmal zu 99% Adminrechte.
ich finds witzig, daß MS zu solchen Methoden greift. Anhand eines Dateinamens versuchen zu ermitteln, worum es sich bei der Anwendung handelt. Das ist äußerst unzuverlässig und provoziert inkonsistentes Verhalten.
@BerndFfm: also wenn ich die Datei umbenenne dann kommt die Abfrage nach Adminkonto nicht... wofür auch immer wir das nun Missbrauchen könn 🙂
@DonMaxo: Hey Meistar igg find dett nich... bei mir iss nix mit manifestDatei...irgendwie...hmm (siehe Shot)
@GarlandGreene: absolut Recht geb... iss der Hamma
Howard
UBdate: Ich hab die EXE nun übrigens "Ubdate.exe" genannt...das geht auch 😁
Heißt das, man kann diese "Sicherheitsmaßnahme" umgehen indem man das Programm umbenennt ?
Grüße Bernd
Im Grunde will Microsoft ja nur dem Anwender "helfen", indem Setups gleich mit den benötigten Rechten gestartet werden, anstatt daß der Anwender erst die Fehlermeldung bekommt und das ganze dann mit erhöhten Rechten nochmal startet. Der Grundgedanke, dem Anwender einen Arbeitsschritt abzunehmen, ist ja auch ganz nett und löblich. Nur find ich die Umsetzung so grausam, daß man den Verantwortlichen als schlechtes Beispiel öffentlich auspeitschen sollte.
Wie wärs mit "Abdäit.exe", dann hätten auch meine Kunden kein Problem mit der Aussprache. Manche sagen "Uhp-da-te", also deutsch gelesen.
😉
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
@DonMaxo: Hey Meistar igg find dett nich... bei mir iss nix mit manifestDatei...irgendwie...hmm (siehe Shot) Komisch, nutzt du noch das VS 2005 oder eine Expressversion? Bei mir im VS 2008 Standard gibts den Eintrag definitiv.
Wenns immernoch nicht klappt kannste dir ja mal diesen CodeClip hier anschauen:
https://www.microsoft.com/germany/msdn/connection/getreadyforvista/codeclips/AnwendungenMitManifestDateienFuerUACMarkieren.mspx
Dort wird beschrieben wie man Anwendungen ein Manifest über das PostBuild-Event* hinzufügt. Du musst nur dran denken in der Manifestdatei das "requireAdministrator" durch "asInvoker" zu ersetzen.
*: Kann sein, dass es das PostBuildEvent ebenfalls nicht in den Expressversionen gibt, in diesem Fall kann man das aber über eine *.bat Datei oder direkt über die Console erledigen.
Ich halte das generell auch für eine schlechte Lösung am Namen oder Beschreibung der Anwendung auszumachen, ob das Programm Administratorrechte benötigt. Aber mir fiele keine andere Möglichkeit ein, solche Anwendungen zu erkennen, und wenn man komplett drauf verzichtet hätte wäre das gejammere über Anwendungen die sich nicht Installieren/Updaten lassen jetzt noch größer.
so Leudde Dank Master DonMaxo (ich hab übrigens die VS2006 Prof. Edition) haben wir das Problem gelöst:
set path=%25path%25;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
mt.exe -manifest "$(ProjectDir)$(TargetName).exe.manifest" -outputresource:"$(TargetDir)$(TargetName).exe;#1"
...und schon klappts auch mit dem Admin 😁
ODER Plan B: Exe umbenennen auf obdät.exe 🤔
ich hab übrigens die VS2006 Prof. Edition
Oha - eine nie veröffentlichte Betaversion?
SCNR 😁