Thursday, 13 May 2004

Einige kennen vielleicht folgendes Scenario. Man hat in seiner VS Solution ein WebProjekt mit einer Installer-Klasse und ein WebSetup-Projekt. Das Setup-Projekt wird mit Hilfe benutzerdefinierter Aktionen (custom actions) erweitert. Z.B. damit der Benutzer während der Installation diverse Daten angeben kann. In der Installer Klasse wird daraufhin die Install-Methode Überschrieben, um die eingegebenen Daten dort zu verarbeiten.

Das sieht in etwa so aus:

1. [RunInstaller(true)]
2. public class Installer1 : System.Configuration.Install.Installer{
3.    public override void Install(IDictionary stateSaver) {
4.        string serverName = this.Context.Parameters["ServerName"];
5.        // hier irgendwas mit den Parametern machen. 
6.        base.Install (stateSaver);
7.    }
8. }


Dann wird die Setup.exe generiert und ausgeführt. Doch wie kann ich nun meinen Code zur Laufzeit debuggen?
Man muss dazu folgende Dinge beachten:

1) Der Debugmodus des Web-Projektes muss in den Zustand: "Wartet auf das Anhängen an einen externen Prozess" gebracht werden.

 

2) Der Debugger funktioniert nur, wenn vorher ein managed Code aufgerufen wurde. Zusätzlich sollte während der Installation Zeit bleiben den Debugger zu aktivieren. Daher ist es am besten, wenn man eine Messagebox in der InstallMethode aufruft. Also einfach zwischen Zeile 3 und 4 ein MessageBox.Show("DebugMe"); eintragen.

3) Wenn dann während der Installation die MessageBox erscheint, kann in aller Ruhe dem Debugger der Installationsprozess übergeben werden. Das geht über das Menu "Debuggen" --> "Prozesse". In der dortigen Liste sucht man sich den richtigen InstallProzess (msiexec.exe) heraus. Aufpassen, daß man auch den richtigen erwischt, denn unglücklicherweise ist es nicht der, in dem der Titel erscheint, sondern der vom Typ .Net.

 

Wenn alles geklappt hat, kann man nun den eigenen Code debuggen. Ach nochwas, der BreakPoint muss hinter die MessageBox.Show() Methode gesetzt werden ;-)

thats was it.

Thursday, 13 May 2004 20:00:47 (GMT Daylight Time, UTC+01:00)  #    Comments [21]  | 

Unter der Rubrik "Toolz die die Welt nicht braucht" (tddwnb) stelle ich heute ein besonders nichtsnutziges vor. Einen BlogReader in 3D, d.h. Rss Feeds im 3-Dimensionalen Raum lesen, ggf. die Blickrichtung ändern, zoomen etc. Klar, es macht nicht wirklich Sinn (muss denn alles im Leben einen Sinn ergeben?), aber ich wollte mal wieder  etwas mit managed DirectX machen.

Ich kann zum Thema übrigens das Buch "Managed DirectX - Graphics and Games programming" sehr empfehlen.

Leider ist aus der "kleinen" Idee ein recht aufwändiges unterfangen geworden. Daher ist das Tool noch nicht Final und kleinere Bugs in der Darstellung sind noch enthalten. Aber das sollte nicht weiter stören. Wer möchte darf es trotzdem ausprobieren und bisschen rumspielen.

 

Hier gibts die kleine version (managed DX SDK muss installiert sein)
Hier gibts die Version incl. der benötigten DX-dll's (ca.1 MB)

Thursday, 13 May 2004 12:43:09 (GMT Daylight Time, UTC+01:00)  #    Comments [60]  | 

Theme design by Jelle Druyts

Pick a theme: