CommunityProgrammierenMartin Richter - Mi 26 Nov 2014 18:08

Alle Jahre wieder. :D Es ist zwar schon ein paar Tage her, aber FedEx brauchte fast einen Monat (Jaaa!) bis ich meine kleine Award-Kiste aus den USA bekam.

Und wieder dachte ich: “Das wird diesmal wohl nicht langen!”´, aber es kam anders als ich dachte:

MVP Urkunde 2014

Das ist nun mein 16. Award als MVP für C++.

Ich war einer von 1.031 MVPs, die zum 1. Oktober Ihren Award erhalten haben und damit einer von ca. 4.000 in der ganzen Welt:
http://blogs.msdn.com/b/mvpawardprogram/archive/2014/10/01/congratulations-to-all-the-new-and-renewed-mvps.aspx

 

 

 

ProgrammierenSoftwareWindowsMartin Richter - Mo 11 Aug 2014 21:13

Man lernt nie, aus. In dem Fall betrifft es ein wenig die Batch-Programmierung mit CMD.EXE.

Für einen Batch, der einen Teil eine Datensicherung eines Hyper-V Servers machen sollte benötigte ich ein Verzeichnis mit dem Tagesdatum, aber im Format YYYY-MM-DD. %date war mir bekannt und auf unseren Rechner liefert das aber, DD.MM.YYYY.

Ein wenig Suche im Netz brachte mich zu Substring-Funktionen bei der Variablenersetzung, die ich noch gar nicht kannte. Hängt man hinter eine Variable Doppelpunkt und Tilde kann man Startposition und Länge eines Substrings angeben.

Entsprechend ist der Batch also ganz schnell geschrieben ;) :

SETLOCAL
SET TargetDir=D:\BackupHyperV %date:~6,4%.%date:~3,2%.%date:~0,2%
MD "%TargetDir%"
C++ProgrammierenWindows APIMartin Richter - So 03 Aug 2014 21:07

Ich habe ein Programm um COM-Automation erweitert. Der Test verlief super. Das Programm lief stand alone oder wurde über die Automation (CoCreateInstance) gestartet. Das Programm wurde im Installer integriert und ab da ging erst mal nichts mehr.

Wurde der externe COM Server über die Automation gestartet wurden auf einmal Satelite-DLLs nicht mehr gefunden. Das Programm ermittelte mit GetModuleFileName den Programmnamen. Ergänzte DEU zum Beispiel für die Deutsche Programmversion und suchte eine entsprechende DLL. Eigentlich ganz einfach. Das funktionierte aber nicht, weil GetModuleFileName den kurzen Dateinamen zurück gab. Also: aus PROGRAMM.EXE wurde PROGRA~1.EXE und Die Datei PROGRA~1DEU.DLL wurde gesucht, anstatt PROGRAMMDEU.DLL. Aber dann nicht gefunden…

Der Installer erzeugt scheinbar bei mir kurze Dateinamen in der Registrierung und auch MsiGetComponentPath, dass beim Start über CoCreateInstance konsultiert wurde, lieferte den kurzen Dateinamen.

Wirklich erstaunlich ist aber, dass der Name der in CreateProcess verwendet wurde auch später durch GetModuleFileName zurückgegeben wird. Wird also der kurze Dateiname beim Start verwendet, dann liefert GetModuleFileName einen kurzen Dateinamen.

Grundsätzlich kann man also nicht davon ausgehen, dass GetModuleFileName den langen Dateinamen zurück liefert.

InternetProgrammierenReal LifeSoftwareSonstigesMartin Richter - Mi 25 Jun 2014 20:35

Für den internen Gebrauch und Austausch mit einem paar Freunden benötigte ich eine Foren Software.

Also ging ich auf die Suche nach “Forensoftware nicht kompliziert, leistungsfähig, funktional, schnell, kostenlos”!

Meine Wahl viel letzten Endes auf SMF (Simple Machines Forum).
Ich kann nur sagen, dass die Wahl äußerst gut, war. Einrichtung und kleine Anpassungen waren im Nu durchgeführt. Eine Shoutbox habe ich auch noch gefunden und nun läuft dieses kleine geschlossene Forum wie eine 1.

Die ein oder zwei Fragen, die auftauchten waren schnell mit dem Online Handbuch bei SMF geklärt, oder es gab die entsprechende Antwort im Support Forum bereits.

PS: Ja klar. PhpBB war natürlich auch im Blickfeld, aber irgendwie hat mich dieser Dinosaurier nicht angelockt.  SMF erschien mir einfacher, kleiner kompakter, moderner und vor allem pflegeleichter.

 

AllgemeinMartin Richter - So 04 Mai 2014 17:39

Ein Fazit und eine kurze Zusammenfassung zu Anfang.

Um die 100 C++ Entwickler kamen dieses Jahr nach Garching zur ADC++, die von ppdev AG (Johannes Preishuber) mit einigen Sponsoren veranstaltet wurden.

Nach Johannnes Preishuber hat der Fußball (Champions League Halbfinale Bayern München – Real Madrid) einen kleinen Strich durch die Veranstaltung gemacht. Es war für viele Interessierte kein Hotelzimmer mehr in der Nähe verfügbar. Dadurch war die Teilnehmerzahl leider nur um die 100.

Lohnend war der Ausflug auf die Konferenz in jedem Fall. Zum einen um etwas über den Tellerrand zu schauen. Zum anderen um zwischen den Sessions auch Kontakte zu pflegen und auch fachlich mal zu erkunden was andere machen und wie andere etwas machen. Für mich sind das immer wieder kleine Aha-Erlebnisse.
Ich bin vielleicht etwas verwöhnt von den beiden ADC’s (2011 Prien am Chiemsee, 2012 Ohlstadt im Zugspitzland). In Bad Aibling 2013 war ich leider nicht dabei.

Die Location war nicht so malerisch. Der Konferenzort funktional, aber nicht ganz so gemütlich und schön.
Toll war in jedem Fall wieder die Abendveranstaltung, die in der Flugzeugwerft Schleißheim in toller Atmosphäre stattfand. Hier  lässt sich ppdev AG immer etwas Tolles einfallen. Mein Lob dafür!

Hier ein kleiner Bericht über die Sessions an denen ich teilgenommen habe.Je nach Struktur und Inhalt kann ich mehr oderweniger wiedergeben. Sollte ich Dinge falsch verstanden haben oder falsch wiedergeben, bitte ich das zu entschuldigen. Ich hoffe jedenfalls hier keine gravierenden Fehler in diesem Bericht gemacht zu haben.

Weiter lesen »

C++ProgrammierenVS 2013Martin Richter - Mi 02 Apr 2014 22:32

Mit dem neuen SQL 2014 der gestern veröffentlicht wurde kamen auch ein RC für Visual Studio 2013 Update 2. Dabei ist das Update 1 erst ende Januar heraus gekommen.
Das Update 2 für den TFS 2013 ist bereits veröffentlicht worden.
Siehe:  http://blogs.msdn.com/b/bharry/archive/2014/04/02/tfs-2013-2-update-2-released.aspx

Besonders gespannt bin ich auf die Linker Enchantements, die mit Update 2 kommen.
http://blogs.msdn.com/b/vcblog/archive/2014/03/25/linker-enhancements-in-visual-studio-2013-update-2-ctp2.aspx

Die Geschwindigkeit mit der aktuell Updates und Releases veröffentlicht werden ist geradezu verstörend. Man kommt kaum dazu sich auf eine Entwicklungsumgebung festzulegen und da ist schon das nächste Update, dass mit neuen Features Funktionen und Fixes reizt. :(

PS: Die Veröffentlichung von MS-SQL 2014 erinnert mich schmerzhaft, dass es nur noch 5 Jahre Support für OLE-DB gibt. Das ist noch einen traurigen Smiley wert :(

C++CommunityProgrammierenVS 2013Martin Richter - Mo 24 Mrz 2014 20:32

Wer das lange Wochenende zum 1. Mai auf ganz besondere Weise einleiten will, dem rate ich die ADC C++ Konferenz vom 29.-30.04.2014 in München zu besuchen.

Die Agenda enthält alt bekannte Themen, aber auch interessantes Neues. Nachdem mit C++x11, C++/RT wieder etwas Schwung in die Weiterentwicklung von C++ gekommen ist und auch die Geschwindigkeit in denen neue Compiler und Library Features veröffentlich werden beschleunigen, lohnt sich ein Blick über den Tellerrand.
Oft genug finden wir als Entwickler nicht die Zeit uns neuem zu widmen, dass bereits verfügbar ist oder in nächster Zeit verfügbar wird.

Veranstalter ist die ppedv AG (hinter der Johannes Preishuber steht). Ich habe die Konferenzen der letzten Jahre, an denen ich teilgenommen habe, immer in guter Erinnerung. Sowohl in der Auswahl der Themen und Redner, als auch in der exzellenten Durchführung, mit immer sehr schon gewählten Konferenzorten und Hotels.
Insofern lohnt sich sicherlich ein Blick in die Agenda.
Und ganz gespannt bin ich persönlich auf die Abendveranstaltung am Mittwoch, denn hier wird auf den ADC-Konferenzen den Teilnehmern immer etwas wirklich außergewöhnliches geboten.

Da ich letztes Jahr aus privaten Gründen leider nicht teilnehmen konnte freue ich mich dieses Jahr wieder dabei sein zu können; ,alte Kontakte beleben zu können, neue Entwickler kennen zu lernen und Neues aus der C++ Welt zu hören.

ADC

InstallationSoftwareWindowsMartin Richter - Mi 12 Feb 2014 20:57

Vor langer Zeit erschien es uns als gut einen SBS 2003 zu verwenden. OK. Es gibt Entscheidungen, die hat man getroffen und muss damit leben. Probleme gibt es eigentlich erst, wenn man alles anders machen will. :roll:

Wir wollten unseren SBS 2003 außer Betrieb nehmen und in eine normale Domäne umwandeln. Dazu alle Server virtualisieren etc. etc. Alles wurde neu eingerichtet, aber unser SBS 2003 war immer noch DER DC. Nachdem fast alle lebenswichtigen Dinge im Lauf der letzten Jahre und Monate schrittweise umgezogen waren, die mal auf der Kiste gelaufen sind (File-Server, Drucker-Server, Fax-Server, SQL-Sever, Exchange, RAS), blieb nur noch das AD übrig.

Nun einfach wäre es einen anderen Server als DC einzurichten kurz mal DCPromo aufrufen und gut ist es. Aber der SBS mag das ja gar nicht… :oops:
Sobald der SBS einen anderen DC entdeckt, dauert es nicht lange und er fährt einfach herunter. Zuerst mal war ich etwas baff, als eine Kollegin sagte sie käme an ein paar alte Ordner nicht mehr heran. Als ich in den Server Raum ging musste ich feststellen, dass die Kiste einfach so ausgeschaltet herumsteht.
Ich rechnete mit Fehlermeldungen aber nicht mit einem brutalen Shutdown.
Dokumentiert ist das natürlich auch in der MSDN hier. :!:

Etwas Recherche im Netz brachte dann die vorübergehende Lösung, mit der ich bis zur kompletten Abschaltung dieses Servers weiterarbeiten konnte.
In Kürze geht man wie folgt vor:

  • Den Prozess C:\WINDOWS\system32\sbscrexe.exe mit dem Sysinternals Prozess Explorer suspenden. Abschießen geht nicht, denn der Prozess startet sich sofort neu.
  • Im Regedit dem Administratoren Rechte auf den Ast HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SBCore geben. Das geht auch nicht bei laufenden Dienst, denn der entzieht einem sofort die Rechte wieder.
  • Danach die Anzeige aktualisieren mit F5 damit die verborgenden Untereinträge sichtbar werden.
  • Nun das DWORD Start von 2 auf 4 ändern. Dadurch wird der Dienst deaktiviert und startet nicht erneut.
  • Neustart und das war es erstmal.

Die Beschreibung findet sich auch hier.

So das war Schritt 1 und nun ging es darum den AD von diesem Rechner zu entfernen.
Also mal eben wie geplant DCPromo aufgerufen um das AD von diesem Rechner zu entfernen. Es wäre zu schön gewesen, wenn das nun einfach gegangen wäre. DCPromo verweigerte den Dienst mit der folgenden Meldung:

Die Verwaltung der Netzwerksitzung mit Dem-Tollen-Neuen-Server ist fehlgeschlagen.
Das Netzlaufwerk ist nicht erreichbar. Weiter Informationen

:???: Ich hatte vergessen, das dieser Server immer noch einen DNS Dienst hatte und in den Einstellungen der Netzwerkkarte wurde dieser Server auch noch verwendet. Die Fehlermeldung ist natürlich nicht zielweisend, wie so oft leider. Nachdem ich den neuen DNS Server in der Netzwerkkarte eingetragen hatte lief der DCPromo klaglos durch und zurück blieb ein normaler Windows 2003 Server.

Nachdem auch die letzten Dateien gesichert bzw. umgezogen waren und der Streamer ausgebaut wurde steht da nur noch ein kilo-schwerer Schrotthaufen, der jahrelang klaglos seinen Job gemacht hat.

Alter Server

SoftwareWindowsMartin Richter - Mi 29 Jan 2014 20:43

Bei einer Routinekontrolle stellten wir fest, dass einer unserer virtuellen Windows Server 2008 R2 keine Windows Updates mehr einspielte.
In der Anzeige des Windows Updates standen zwei Fehlercodes:

Fehlercode 9C47
- und -
Fehlercode 80072ee2

Auch das Wiederholen der Updates brachte nichts. Löschen der Download Verzeichnisse brache auch nichts. Auch das Ausblenden des Updates für IE 11 nützte nichts.
Teilweise konnte man manuell eines der ausstehenden Updates einspielen. Beim zweiten Update kamen aber meistens wieder entsprechend gleiche Fehler.

Als Ursache würde ich jetzt das Update für den Internet Explorer 11 ausmachen. Meistens wurden diese Fehlercodes auch in anderen Artikeln im Netz bei genau diesem Update gemeldet.  Also habe ich versucht das Update manuell durchzuführen.

Dazu habe ich zuerst das IE 11 Installationspaket manuell heruntergeladen.
http://windows.microsoft.com/de-de/internet-explorer/ie-11-worldwide-languages

Der Installationsversuch meldete dann fast wie zu erwarten, dass Windows Updates ausstehen würden, die für die Installation des IE 11  Voraussetzung sind. Dazu ein Link auf diese Seite: http://support.microsoft.com/kb/2847882

Ich habe dann manuell jedes dieser Updates ausgeführt. Die ersten waren alle bereits installiert. Nur die letzten beiden fehlten, ließen sich aber problemlos installieren. Danach erfolgte ein Neustart und dann lies sich auch der IE 11 mit dem heruntergeladenen Installationsprogramm installieren und danach funktionierte auch Windows Update wieder korrekt und installierte die verbleibenden ausstehenden Updates.

 

CommunityProgrammierenVS 2013Martin Richter - Di 21 Jan 2014 19:01

Am 17. und 18. Februar 2014 wird in München de VSone stattfinden. Die VSone ist eine Entwickler-Konferenz mit einem sehr weit gefächertem Spektrum, das reicht von der App-Entwicklung, über SQL-Server Themen, klassischen .NET Themen bis hin zu JQuery und Azure.

Veranstalter ist die ppedv AG (hinter der Johannes Preishuber steht). Ich habe die Konferenzen der letzten Jahre, an denen ich teilgenommen habe, immer in guter Erinnerung. Sowohl in der Auswahl der Themen und Redner, als auch in der exzellenten Durchführung, mit immer sehr schon gewählten Konferenzorten und Hotels.
Insofern lohnt sich sicherlich ein Blick.

Weitere Informationen und die Liste der geplanten Sessions und Redner findet sich hier.

VSone

 

Nächste Seite »