Oktober 2006 - Einträge

Visual Studio 2005: IDE Enhancements erschienen

Am Freitag hat Microsoft ein Set von Erweitungen für Visual Studio 2005 veröffentlicht.

Das Set besteht aus 5 Erweiterungen:

Source Code Outliner: The Source Outliner tool is a Visual Studio extension that provides a tree view of your source code's types and members and lets you quickly navigate to them inside the editor.

Visual C++ Code Snippets: The Visual C++ Code Snippets tool lets you insert snippets in your code by using a pop-up menu that contains programming keywords. VB.NET and C# languages have this functionality in Visual Studio 2005.

Indexed Find: The Indexed Find tool is a Visual Studio extension that uses the Microsoft Indexing Service to provide improved Search capabilities to the integrated development environment (IDE). It sends the results of a search to the Output Window.

Super Diff Utility: The Super Diff Find tool is a Visual Studio extension that compares text files. It uses color coding and graphics to show the difference between the files in deleted text (red), changed text (blue), inserted text (green).


Event Toaster Utility: The Event Toaster tool is a Visual Studio extension that notifies users about specific events within the Visual Studio IDE.

Posted von Jan-Cornelius Molnar mit no comments
Abgelegt unter: , ,

WPF: Jetzt in klarem Licht für Entwickler

Bislang war es unklar ob die Entwicklung von .NET 3.0 Anwendungen schon vollständig von Visual Studio 2005 unterstützt wird oder es nur weitere CTPs bis zum Release von Visual Studio Codename "Orcas" geben wird.

Nun gibt es eine offizielle Stellungnahme von Microsoft: http://blogs.msdn.com/jgalasyn/archive/2006/10/30/october-ctp-and-the-last-build-of-fidalgo.aspx

Der .NET Framework 3.0 Support Codename "Fidalgo" wird mit dem Erscheinen der RTM Version von Vista ebenfalls einen finalen Status erreichen und somit das Entwicklen von produktiven WPF Anwendungen mit Visual Studio 2005 ermöglichen.
Ab diesem Zeitpunkt wird Fidalgo jedoch durch Orcas ersetzt und nicht weiter aktualisiert. Weiterhin heißt es, dass Orcas wesentlich mehr Features von .NET 3.0 unterstützen wird als Fidalgo dies bis jetzt tut.

Orcas wird als nächstes Visual Studio Release auch die neue Abfragetechnologie mit dem Codenamen LINQ, erweiterte C# und VB Compiler, sowie AJAX for ASP .NET und verbesserten Office 2007 support enthalten.

Posted von Jan-Cornelius Molnar mit no comments
Abgelegt unter: , ,

Vista: Einen Prozess mit Admin Rechten starten

In Vista sorgt die UAC (User Account Protection) dafür, dass Prozesse standardmäßig keine Administrator Rechte haben, selbst wenn man als Administrator angemeldet ist.

Jedoch gibt es mehrere Möglichkeiten, einen Prozess doch mit Admin Rechten zu starten.

1. Manuell

Ein Rechtsklick auf die Anwendung öffnet das Context-Menü mit dem Eintrag .

Wählt man dieser Option wird man als Administrator um Zustimmung gebeten oder als Standard Benutzer um ein Admin Passwort:

2. Manifestdatei

Um das starten mit Admin Rechten zu erzwingen, kann man der Anwendung ein Manifest hinzufügen, das Informationen über die benötigten Rechte enthält.

Die Manifestdatei muss sich im Verzeichnis der Anwendung befinden und den Namen Anwendungsname.exe.manifest tragen. Für notepad.exe wäre das Manifest demnach notepad.exe.manifest.

Inhalt der Manifestdatei

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3"> <v3:security> <v3:requestedPrivileges> <!-- level can be "asInvoker", "highestAvailable", or "requireAdministrator" --> <v3:requestedExecutionLevel level="highestAvailable" /> </v3:requestedPrivileges> </v3:security> </v3:trustInfo> </assembly>

Beim Ausführen wird ein Standardbenutzer nun aufgefordert, die Anwendung als Administrator zu starten.

Hinweis: Das Manifest wird von früheren Windows Versionen ignoriert.

Entwickelt man eine Anwendung mit Visual Studio, kann man das Manifest dem Projekt hinzufügen und als Buildaktion für die Datei "Inhalt" und "Immer kopieren" wählen. Beim Kompilieren wird dann die Manifestdatei automatisch in das Ausgabeverzeichnis kopiert. Dadurch wird garantiert, dass die Anwendung auf Vista nur mit Admin Rechten gestartet werden kann.

3. Zur Laufzeit mit System.Diagnostics

Häufig muss eine Anwendung, die über kein Manifest verfügt, jedoch zur Laufzeit mit Admin Rechten gestartet werden.

Ein Ausführen von System.Diagnostics.Process.Start(fileName, arguments) führt auf den ersten Blick nicht ans Ziel.
Mit einem kleinen Kniff kann man dies jedoch auch mit den .NET Bordmitteln erreichen:

Private Function StartProcessAsAdmin(ByVal fileName As String, ByVal arguments As String) As System.Diagnostics.Process Dim pi As System.Diagnostics.ProcessStartInfo pi = New System.Diagnostics.ProcessStartInfo(fileName, arguments) If System.Environment.OSVersion.Version.Major >= 6 Then pi.Verb = "runas" End If Return System.Diagnostics.Process.Start(pi) End Function

Ein Aufruf von StartProcessAsAdmin(fileName, arguments) sorgt nun dafür, dass der Prozess auch in Vista mit Administrator Rechten gestartet wird.

Das Verb runas hat den gleichen Effekt wie ein Klick auf .

Auf Windows Versionen vor Vista wird jedoch der Dialog "Ausführen als ..." angezeigt, weshalb die Version auf größergleich 6.x also Vista geprüft wird.

Zusammenfassung

UAC ist ein Ansatz, der den Benutzer schützen soll. Überraschenderweise bedeutet es für die Entwickler keinen erheblichen Mehraufwand, kompatible Anwendungen zu entwickeln.

.NET unterstützt einen dabei mit Bordmitteln und mit wenigen Zeilen, ist die eigene Anwendung zukunftssicher, falls sie überhaupt Administrator Rechte benötigt.

Posted von Jan-Cornelius Molnar mit no comments
Abgelegt unter: ,