Wer wie hier beschrieben ein Windows CE Image auf einem x86 System ausführt, verfügt in der Regel über mehr als 64MB Arbeitsspeicher. Um diesen Speicher nutzen zu können, muss das Image mit aktiviertem IMGRAM512-Schalter (bzw. IMGRAM256 oder IMGRAM128) erzeugt werden.
Dazu einfach unter Project Properties -> Configuration Properties -> Environment eine neue Umgebungsvariable erzeugen und bei Name IMGRAM512 und bei Wert 1 wählen. Nach dem nächsten Build nutzt das Image mehr Speicher auf dem Hostsystem.
Mittwoch, 9. Dezember 2009
Donnerstag, 26. November 2009
Client-Konfiguration für den SSH-Zugriff auf SVN-Repositories unter Ubuntu 9.10
Um auf einem frischen Ubuntu Zugriff auf ein über SSH geschütztes SVN-Repository (wie die des HPI) zu erhalten, sind die folgenden Schritte notwendig:
Zunächst mit sudo apt-get install subversion den SVN-Client installieren.
Dann mit Hilfe von ssh-keygen ein neues Schlüsselpaar erzeugen und den Public Key beim Server eintragen. Der Public Key kann z.B. mit cat ~/.ssh/id_rsa.pub ausgelesen werden.
Für den Zugriff auf die Repositories muss nun nur noch ssh-add aufgerufen werden. Dann können sie wie gewohnt über svn co svn+ssh://repo@host/svn ausgelesen werden.
Zunächst mit sudo apt-get install subversion den SVN-Client installieren.
Dann mit Hilfe von ssh-keygen ein neues Schlüsselpaar erzeugen und den Public Key beim Server eintragen. Der Public Key kann z.B. mit cat ~/.ssh/id_rsa.pub ausgelesen werden.
Für den Zugriff auf die Repositories muss nun nur noch ssh-add aufgerufen werden. Dann können sie wie gewohnt über svn co svn+ssh://repo@host/svn ausgelesen werden.
Mittwoch, 30. September 2009
CUDA-Toolchain auf Ubuntu 9.04 x64 installieren
Auf der Nvidia-CUDA-Download-Seite die passende Betriebssystemversion auswählen und die folgenden Dateien herunterladen:
Als nächstes den X-Server mit sudo /etc/init.d/gdm stop beenden und mit ALT + STRG + F1 in die Konsole wechseln und einloggen.
Nun mit sudo sh cudadriver_*.run die Installation des Treibers starten. Dabei alle Setup-Vorschläge akzeptieren. Danach kann der X-Server mittels sudo /etc/init.d/gdm start wieder gestartet werden.
Daraufhin das Toolkit mit sudo sh cudatoolkit_*.run installieren und auch dabei die Setup-Vorschläge akzeptieren. Schließlich das SDK mit sh cudasdk_*.run (nicht als sudo) installieren.
Zuletzt müssen noch in der ~/.bashrc einige Umgebungsvariablen angepasst werden. Diese dazu mit einem Texteditor öffnen und folgenden Text ans Dateiende anfügen:
Als nächstes den X-Server mit sudo /etc/init.d/gdm stop beenden und mit ALT + STRG + F1 in die Konsole wechseln und einloggen.
Nun mit sudo sh cudadriver_*.run die Installation des Treibers starten. Dabei alle Setup-Vorschläge akzeptieren. Danach kann der X-Server mittels sudo /etc/init.d/gdm start wieder gestartet werden.
Daraufhin das Toolkit mit sudo sh cudatoolkit_*.run installieren und auch dabei die Setup-Vorschläge akzeptieren. Schließlich das SDK mit sh cudasdk_*.run (nicht als sudo) installieren.
Zuletzt müssen noch in der ~/.bashrc einige Umgebungsvariablen angepasst werden. Diese dazu mit einem Texteditor öffnen und folgenden Text ans Dateiende anfügen:
- PATH=$PATH:/usr/local/cuda/bin
- LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64
- export PATH
- export LD_LIBRARY_PATH
- g++
- libglut3-dev
- libXi-dev
- libXmu-dev
Freitag, 10. Juli 2009
Outlook-Add-In: Items in einem beliebigen Ordner erstellen
In der Regel werden neue Items innerhalb eines Add-Ins für Microsoft Outlook mit Hilfe des akutellen Anwendungskontextes erstellt.
Bei dieser Vorgehensweise werden dabei jeweils die Standard-Order für den entsprechenden Itemtyp gewählt. Das heißt für das hier gewählte Beispiel, dass der neue Termin in den Default-Kalender eingetragen werden würde.
Soll ein Item in einem anderen Ordner erstellt werden, so muss dies auf folgende Weise getan werden:
Ordner können ausgehend von den Root-Ordnern (this.Application.GetNamespace("MAPI").Folders) rekursiv ermittelt werden. Jeder Ordner gibt über folder.DefaultItemType den Typ der Items an, für die er vorgesehen wurde. Außerdem können Ordner anhand ihres Pfades (folder.FullFolderPath) identifiziert werden.
AppointmentItem appointment =
(AppointmentItem)this.Application.CreateItem(
Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem)
Bei dieser Vorgehensweise werden dabei jeweils die Standard-Order für den entsprechenden Itemtyp gewählt. Das heißt für das hier gewählte Beispiel, dass der neue Termin in den Default-Kalender eingetragen werden würde.
Soll ein Item in einem anderen Ordner erstellt werden, so muss dies auf folgende Weise getan werden:
AppointmentItem appointment =
(AppointmentItem)folder.Items.Add(OlItemType.olAppointmentItem);
Ordner können ausgehend von den Root-Ordnern (this.Application.GetNamespace("MAPI").Folders) rekursiv ermittelt werden. Jeder Ordner gibt über folder.DefaultItemType den Typ der Items an, für die er vorgesehen wurde. Außerdem können Ordner anhand ihres Pfades (folder.FullFolderPath) identifiziert werden.
Labels:
Appointment,
C#,
Folder,
Outlook,
VSTO
Outlook-Add-In: ein transparentes Icon verwenden
Gerade bei einem Add-In für Microsoft Outlook bietet es sich an, Icon-Buttons anstelle von normalen Buttons zu verwenden. Dies ist jedoch leider nicht so einfach möglich, wie bei WindowsForms- oder WPF-Applikationen.
Ablauf im Überblick:
Durchführung:
1. Button ermitteln / erzeugen
Im ersten Schritt wird überprüft, ob der Button bereits im Outlook vorhanden ist. Ist dies der Fall, wird er übernommen. Ansonsten wird er neu erzeugt. Daraufhin wird er entsprechend konfiguriert. Dabei wird sein Style auf msoButtonIcon gesetzt.
2. Icon und Maske laden und konvertieren
Nun muss ein Icon erstellt werden. Zusätzlich muss eine schwarz-weiße Maske erstellt werden, welche die Transparenz des Icons beschreibt. Schwarz steht dabei für sichtbar, während weiß durchlässige Bereiche repräsentiert. Sowohl Icon, als auch Maske müssen 16x16 Pixel groß sein und können als BMP erstellt werden. Sie können dem Projekt als Ressource hinzugefügt werden und sind dann einfach wie im folgenden gezeigt erreichbar.
Die CommandBarButtons eines Outlook-Add-Ins erwartet für die Eigentschaften Picture und Mask eine Instanz, die IPictureDisp implementiert. Da dies für Image und Bitmap nicht zutrifft, müssen die aus den Ressourcen geladenen Bilder zunächst konvertiert werden. Der einfachste Weg nach IPictureDisp zu konvertieren, ist die Erzeugung einer Unterklasse von AxHost.
Weitere Informationen:
Ablauf im Überblick:
- Button ermitteln / erzeugen
- Icon und Maske laden und konvertieren
Durchführung:
1. Button ermitteln / erzeugen
Im ersten Schritt wird überprüft, ob der Button bereits im Outlook vorhanden ist. Ist dies der Fall, wird er übernommen. Ansonsten wird er neu erzeugt. Daraufhin wird er entsprechend konfiguriert. Dabei wird sein Style auf msoButtonIcon gesetzt.
CommandBarButton button;
try
{
button =
(CommandBarButton)commandBars["Standard"].Controls[buttonCaption];
}
catch (System.Exception ex)
{
button =
(CommandBarButton)commandBars["Standard"].Controls.Add(
1,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value,
System.Reflection.Missing.Value);
button.Caption = buttonCaption;
}
button.DescriptionText = "Description";
button.Style = MsoButtonStyle.msoButtonIcon;
button.Picture = getIcon();
button.Mask = getMask();
button.Click += new _CommandBarButtonEvents_ClickEventHandler(click);
2. Icon und Maske laden und konvertieren
Nun muss ein Icon erstellt werden. Zusätzlich muss eine schwarz-weiße Maske erstellt werden, welche die Transparenz des Icons beschreibt. Schwarz steht dabei für sichtbar, während weiß durchlässige Bereiche repräsentiert. Sowohl Icon, als auch Maske müssen 16x16 Pixel groß sein und können als BMP erstellt werden. Sie können dem Projekt als Ressource hinzugefügt werden und sind dann einfach wie im folgenden gezeigt erreichbar.
private static IPictureDisp getMask()
{
return AxHostConverter.ToPictureDisp(Properties.Resources.Icon);
}
private static IPictureDisp getIcon()
{
return AxHostConverter.ToPictureDisp(Properties.Resources.Mask);
}
Die CommandBarButtons eines Outlook-Add-Ins erwartet für die Eigentschaften Picture und Mask eine Instanz, die IPictureDisp implementiert. Da dies für Image und Bitmap nicht zutrifft, müssen die aus den Ressourcen geladenen Bilder zunächst konvertiert werden. Der einfachste Weg nach IPictureDisp zu konvertieren, ist die Erzeugung einer Unterklasse von AxHost.
internal class AxHostConverter : AxHost
{
private AxHostConverter() : base("") { }
static public stdole.IPictureDisp ToPictureDisp(Image image)
{
return (stdole.IPictureDisp)GetIPictureFromPicture(image);
}
}
Weitere Informationen:
Labels:
Add-In,
C#,
Icon,
IPictureDisp,
Mask,
msoButtonIcon,
Outlook,
transparent,
VSTO
Dienstag, 16. Juni 2009
Probleme mit der Ethernet-Karte des Eee PC 701
Die Verwendung von Windows Server 2008 auf dem Eee PC 701 mit den von Asus zur Verfügung gestellten Treibern führt gelegentlich zu dem Problem, dass die Ethernet-Karte keine angeschlossen Netzwerke erkennt. Stattdessen wird angezeigt, dass kein Netzwerkkabel angeschlossen wurde. Dieses Problem lässt sich jedoch leicht beheben.
Durchführung:
Weitere Informationen:
Durchführung:
- den Eee PC herunterfahren und das Stromkabel [ggf. noch den Akku] entfernen
- einige Sekunden warten
- Stromkabel [ggf. noch den Akku] wieder anschließen, den Eee PC hochfahren, fertig ;)
Weitere Informationen:
- dieser Eintrag basiert auf diesem Artikel
- zudem ist es sinnvoll wie in diesem Artikel beschrieben, die Treiber zu aktualisieren
Auf WMI-Informationen eines entfernten Windows-7-Rechners zugreifen
Um die Performanzdaten eines entfernten Windows-7-Rechners mit Perfmon oder programmatisch auszulesen, benötigt man zunächst Zugriff auf diesen Rechner.
Durchführung:
Weitere Informationen:
Durchführung:
- Computer Management starten
- Bei Local Useres and Groups der Gruppe Performance Log Users die entsprechenden Nutzer/Gruppen hinzufügen
Weitere Informationen:
- dieser Eintrag basiert auf diesem Artikel
Labels:
Perfmon,
Performanzdaten,
Windows 7,
WMI
Sonntag, 14. Juni 2009
18 GB RAM mit einem 32-bit Betriebssystem: Microsoft machts möglich
Sowohl meine Windows-Vista-, als auch meine Windows-Server-2008-Installation bestätigen: 18 GB Arbeitsspeicher bei einem 32-bit Betriebssystem sind kein Problem! Und das bei gerade mal 3 verbauten Riegeln à 1 GB.
Windows Vista:

Windows Server 2008:

Windows Vista:

Windows Server 2008:

Labels:
18 GB,
32 bit,
RAM,
Windows Server 2008,
Windows Vista
Hauppauge WinTV auf Windows Server 2008 ausführen
Hauppauge WinTV lässt sich zwar problemlos auf einem Windows Server 2008 installieren, verursacht aber beim Starten Fehler oder ist nicht in der Lage die Hauppauge-TV-Karte/den Hauppauge-TV-Stick zu erkennen. Zum Glück gibt es eine Lösung für dieses Problem.
Benötigt werden dazu:
Hardware:
Durchführung:
Windows Vista:
Weitere Informationen:
Benötigt werden dazu:
Hardware:
- die Hauppage-TV-Karte / der Hauppauge-TV-Stick
- Windows Server 2008
- Windows Vista (x86/x64 wie der Server)
- BDAforServer
- [möglicherweise optional] aktuelle DirectX Runtime
- WinTV für Vista
Durchführung:
Windows Vista:
- Windows Vista starten
- bdaforserver.exe ausführen
- die Datei C:\bdaforserver\Setup for x??\Get BDA Vista Files.bat ausführen
- überprüfen, ob C:\bdaforserver\Source\x??\System32 die ermittelten Dateien enthält
- den Ordner C:\bdaforserver auf das Laufwerk C: des Windows Server 2008 kopieren
- Windows Server 2008 starten
- [möglicherweise optional] aktuelle DirectX Runtime installieren
- [möglicherweise optional] Desktop Experience als Feature hinzufügen (installiert einige Codecs)
- die Datei C:\bdaforserver\Setup for x??\Setup BDA.bat als Administrator ausführen
- WinTV für Vista installieren, Kanäle einrichten, fertig ;)
Weitere Informationen:
- dieser Artikel basiert auf der Arbeit von shaded26 (alternativ)
- eine ausführliche Beschreibung der Arbeitsweise von BDAforServer gibt es hier
- für NOVA/HVR-Produkte diesen Treiber verwenden
- beim Ausführen der Setup BDA.bat tritt für gewöhnlich ein Access-denied-Fehler beim Überschreiben der Datei C:\Windows\System32\en-Us\kswdmcap.ax.mui auf. Dies ist normal und beeinträchtigt nicht den Erfolg der Installationsprozedur
Labels:
BDA,
Hauppauge,
Win TV,
Windows Server 2008
Samstag, 13. Juni 2009
MS-DOS vom USB-Stick ausführen
Für einige Anwendungen wie BIOS-Updates oder das Starten von Windows CE benötigt man eine Möglichkeit MS DOS auszuführen. Da die meisten aktuellen PCs und Notebooks kein Diskettenlaufwerk besitzen, bietet sich hierfür die Verwendung eins USB-Sticks an.
Benötigt werden dazu:
Hardware:
Virtuelle Diskette erzeugen:
virtuelle Diskette mit MS DOS bespielen:
Disketten-Abbild auf USB-Stick installieren:
Weitere Informationen:
Benötigt werden dazu:
Hardware:
- der USB-Stick
- Virtual Floppy Drive 2.1
- Microsoft Windows
- HP USB Disk Storage Format Tool
Virtuelle Diskette erzeugen:
- Virtual Floppy Drive 2.1 als Administrator ausführen
- beim Reiter "Driver" erst "Install" und dann "Start" klicken
- überprüfen ob "The VFD driver is installed." und "The VFD driver is started" ausgegeben wurde
- virtuelle Diskette im RAM erstellen: dazu bei Reiter "Drive0" mit "Change..." einen Laufwerksbuchstaben auswählen; dann "Open/Create" klicken, "Image File" leer lassen und mit "Create" bestätigen
- überprüfen ob "Drive 0: A driver letter is assigned." und "Drive 0: A virtual floppy image is opened." ausgegeben wurde
virtuelle Diskette mit MS DOS bespielen:
- im Windows-Explorer auf das Diskettenlaufwerk rechtklicken und "Formatieren" wählen
- "Schnellformatierung" und "MS-DOS-Startdiskette" wählen und "Starten" klicken
Disketten-Abbild auf USB-Stick installieren:
- USB-Stick anschließen und mit Windows formatieren
- HP USB Disk Storage Format Tool als Administrator ausführen
- USB-Stick wählen, "FAT32" als Dateisystem verwenden, "Quick Format" und "Create a DOS startup disk" aktivieren
- bei "Using DOS files located at:" das eben erzeugte virtuelle Diskettenlaufwerk wählen
- Starten, warten, fertig ;)
Weitere Informationen:
- alternativ kann als Quelle für die System-Dateien ggf. auch dieses Paket verwendet werden [bisher nicht verifiziert]
- das "Volume Label" darf beim HP USB Disk Storage Format Tool maximal 8 Zeichen lang sein
Freitag, 12. Juni 2009
Windows Server 2008 als Betriebssystem für Eee PC 4G (701) verwenden
Wer seinen Eee PC 4G als energieeffizienten Server einsetzen möchte, steht vor dem Problem, dass dieser nur über eine interne Festplatte von 4 GB verfügt. Ich habe mich dagegen entschieden meine Windows-Server-2008-Version mit vLite abzuspecken. Stattdessen habe ich den Server auf einer externen Festplatte installiert, von der mein Netbook nun bootet. Der interne Speicher liegt zur Zeit brach.
Benötigt werden dazu:
Hardware:
Installation:
Weitere Informationen:
Benötigt werden dazu:
Hardware:
- das NetBook [1]
- die externe Festplatte
- ein PC mit vergleichbarer Prozessorarchitektur und großer freier interner Festplatte [2] (bei mir das Acer Aspire One)
- Windows Server 2008
- CloneZilla
- NetBook-Treiber
Installation:
- Windows Server 2008 auf [2] installieren
- [möglicherweise unnötig] PWBoot in dem installierten Windows Server 2008 auf [2] ausführen
- [ggf. die benutzte Partition der internen Festplatte von [2] mit Computer Management -> Disk Management auf die Größe der externen verkleinern]
- die interne Festplatte von [2] mit CloneZilla auf die externe Festplatte spiegeln
- externe Festplatte an [1] anschließen
- im BIOS von [1] einstellen, dass über die USB-Festplatte gebootet wird
- [1] hochfahren, Treiber installieren, fertig ;)
Weitere Informationen:
- für die Installation von Windows Server 2008 auf Acer Aspire One habe ich diesem Tutorial folgend einen USB-Stick verwendet
- um CloneZilla auf meinem Acer Aspire One auszuführen habe ich diese Dokumentation verwendet
- ein weiteres Tool, dass bei Problemen mit Windows auf externen Festplatten helfen soll ist der UsbBootWatcher, den ich bisher allerdings nicht benötigte
- außerdem habe ich im gleichen Zuge ein BIOS-Update für den Eee PC 4G durchgeführt. Dazu bin ich dieser Beschreibung gefolgt und habe AFUDOS mit Hilfe dieser Beschreibung auf meinem USB-Stick ausführen können
- die Disk ID der geklonten Festplatte kann mit Diskpart und dem Befehl UniqueID disk ID=
gesetzt werden
Labels:
Eee PC,
externe Festplatte,
Windows Server 2008
Abonnieren
Posts (Atom)