UAC in .NET Anwendungen

Eine gewöhnliche .NET Anwendung benötigt keine Administratorrechte und bekommt diese meist auch nicht. Doch was wenn man doch mal solche Rechte benötigt um z.B. die Zuordnungen zu einem Dateiformat in der Registry vornehmen zu können? Unter XP ist dies kein Problem da der Nutzer dort meist mit Administratorrechten unterwegs ist. Unter Windows Vista und höher muss man diese Rechte allerdings anfordern.

Leider ist es nicht möglich, sich diese Rechte nur für eine bestimmte Funktion anzufordern. Entweder man holt sie sich die Rechte (per Manifest Datei) für die ganze Anwendung oder gar nicht. Bei der Anforderung der Rechte für die ganze Anwendung wird man von Windows jedesmal gefragt ob man die entsprechende Anwendung mit Administratorrechten starten möchte, was natürlich unschön ist.

Eine weitere Möglichkeit ist es für die Fälle welche administrative Rechte benötigen eine extra Anwendung zu schreiben, welche dann z.B. die Dateierweiterungen registriert. Der Vorteil dieser Variante ist es, das man nur nach den entsprechenden Rechten gefragt wird, wenn es nötig ist. Diese Variante kann man nun auch ausbauen, indem man keine Fremdanwendung aufruft, sondern sich selber mit ein paar Kommandozeilenparametern:

ProcessStartInfo processInfo=new ProcessStartInfo();
processInfo.Verb="runas";
processInfo.FileName=FileSystem.ApplicationPathWithFilename;
processInfo.Arguments="-reg:.bat;.xml";
Process.Start(processInfo);

In der Program.cs wertet man diese Argumente dann in der

static void Main(string[] args)

aus und führt die entsprechende Aktion aus. Danach beendet man die Anwendung gleich wieder. Somit kann man die Teile welche solche Rechte benötigen in der eigenen Anwendung „auslagern“.

Weitere Informationen gibt es unter:
http://www.vbarchiv.net/workshop/workshop_115.html
http://victorhurdugaci.com/using-uac-with-c-part-1/
http://victorhurdugaci.com/using-uac-with-c-part-2/
http://victorhurdugaci.com/using-uac-with-c-part-3/

Von Windows 1.0 zu Windows 7

Manchmal staunt man doch über die Produkte aus dem Haus Microsoft. Jemand hat das Experiment gewagt und den Upgradepfad von Windows 1.0 auf Windows 7 auf sich genommen, in dem er von Majorversion zu Majorversion upgradete.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=vPnehDhGa14

Erstaunlich und irgendwie witzig ;)

GIMP unter WIndows 7 auf Deutsch stellen

Da installiert man sich nichts ahnend auf einem Windows 7 Rechner GIMP und plötzlich ist GIMP nur auf Englisch verfügbar. Eigentlich sollte GIMP die Sprache automatisch anhand der Systemsprache einstellen. Da das hier nicht funktioniert ist etwas Handarbeit nötig. Im ersten Schritt wird die Windows Systemsteuerung aufgerufen und über die Suche nach Umgebungsvariablen gesucht. Dort wählt man den Punkt Umgebungsvariablen für dieses Konto bearbeiten aus und legt dort eine neue Benutzervariable an. Diese trägt den Namen LANG und bekommt den Wert de. Startet man nun GIMP ist es auch unter WIndows 7 in deutscher Sprache verfügbar.

Normale Rechner auf die Dömänenfreigaben zugreifen lassen

Mit bestimmten Windowsversionen gibt es das Problem das man sie nicht in eine Domäne integrieren kann. Dies ist z.B. bei Windows 7 Home Premium der Fall. Doch was macht man wenn man auf die Freigaben der Domäne zugreifen möchte? Der einfachste Weg ist es sich einen lokalen Benutzer anzulegen welcher genauso heißt wie ein entsprechender Domänennutzer (inklusive des gleichen Passwortes). Nun kann man problemlos auf Freigaben in der Domäne zugreifen, natürlich nur unter der Voraussetzung das der entsprechende Domänennutzer Rechte für die jeweilige Freigabe besitzt.