Archive for the ‘MS’ Category

ClickOnce-Installer in IE6 wird nur XML angezeigt

Beim Aufrufen eines .NET 2.0 ClickOnce-Installers wird auf einem Rechner mit IE6 nur der Inhalt der .application-Datei vom Server angezeigt. Auf dem Rechner ist Windows XP und .NET 2.0 installiert, also eigentlich müsste das klappen.

Wenn jedoch auf dem Server kein .NET2.0 installiert ist oder dieser gar nicht unter Windows läuft, dann hilft es, den Mime-Type für .application-Dateien dort einzutragen.

In meinem Fall per .htaccess:
AddType application/x-ms-application application

Und schon ging das.

Mit IE7 hat’s übrigens gleich funktioniert. Der scheint von sich aus zu wissen, wie man mit .application-Dateien umgeht.

OpenOffice portable – ohne Installation schnell etwas in OOO öffnen

Eben hatte ich ein Word-Dokument vor mir, in dem irgendwie das Kopieren und Bearbeiten gesperrt war. Da ich keine Lust hatte, herauszufinden, wie ich drankomme, habe ich kurzerhand beschlossen, OpenOffice zu installieren. Dann fiel mir mein frisch installiertes Betriebssystem ein und ich hatte keine Lust, noch eine Office-Anwendung darauf zu installieren, plötzlich sah ich OpenOffice portable, also habe ich das runter geladen, entpackt und gestartet. Ich konnte mein Word-Dokument laden und die interessanten Textstellen rauskopieren und habe ein nahezu unangetastetes System.

OOO Portable gibt es da, wo es auch das normale OOO gibt:

http://de.openoffice.org/downloads/quick.html

PNG-Transparenz in IE6

Endlich ein einfacher Weg, das hinzubekommen:

http://blog.bjorkoy.com/2006/12/12/flawless-and-fast-png-support-in-ie6/

So ne Art Firewall (Windows 2003)

Ich musste es hinbekommen, dass ein Windows 2003-Server einen anderen im gleichen Subnetz zu Testzwecken nicht mehr erreichen konnte. Die IP Security von Windows 2003 hat hier weitergeholfen.

In folgendem Artikel wird das ICMP-Spezifisch erklärt, die Infos lassen sich jedoch einfach verallgemeinern:

http://www.petri.co.il/block_ping_traffic_with_ipsec.htm

.NET 2.0 – Decompiler

Auf der Suche nach einem kostenlosen Decompiler für .NET 2.0 habe ich das Tool “Reflector” entdeckt. Es hat genau getan, was ich wollte und musste noch nicht einmal installiert werden. Ich konnte einfach die .exe-Datei auf den Desktop legen und doppelklicken.

Hier ist der Link:

http://www.aisto.com/roeder/dotnet/

Caps Lock ab-/umschalten

Desktop:

  • Schraubenzieher nehmen und unterhalb der Taste ansetzen
  • Mit dem Schraubenzieher die Taste hochziehen, bis sie ausrastet
  • Die Taste in die oberste Schublade des Rollcontainers legen

Notebook:
Die Taste per Registry-Eintrag ummappen:
http://johnhaller.com/jh/useful_stuff/disable_caps_lock/

Nachtrag: Das Ummappen wird erst nach einem Neustart aktiv.

SQL-Server: Größe aller Tabellen ermitteln

Mit dem Script, das man hier runterladen kann, kann man die Größe aller Benutzertabellen einer SQL-Server-Datenbank (sowohl Zeilenzahl, als auch tatsächlicher und reservierter Speicherplatz) ermitteln:

http://www.sqlservercentral.com/scripts/viewscript.asp?scriptid=830

SqlServerCentral erfordert eine kostenlose Registrierung, bevor man Scripts runterladen kann.

Ganz interessant sieht auch das hier aus, da hier die Größen prozentual zur Datenbankgröße ausgegeben werden:

http://www.sqlservercentral.com/scripts/viewscript.asp?scriptid=1294

Noch etwas zum Page Lifecycle in ASP.NET

Mir fiel vor kurzem auf, dass der Load-Event einer ASP.NET-Seite im Postback-Fall vor dem Abarbeiten der Events der Controls (z.B. Button.Click) ausgeführt wird. Demzufolge eignet sich Page.Load nicht immer dazu, die Seite zu initialisieren, da unter Umständen bestimmte Werte bestimmter Membervariablen noch garnicht geändert sind. Ich habe daraufhin einen Blick auf den Lifecycle der Page geworfen und entdeckt, dass der PreRender-Event der Seite viel besser geeignet ist, die Seite zu initialisieren, da zu diesem Zeitpunkt alle anderen Events abgearbeitet sind. Ich habe daraufhin den Event mit einer eigenen Menthode (analog zu Page_Load) registriert. Wenn man nun z.B. einen Button klickt, reicht es, im Eventhandler der Buttons bestimmte Werte zu verändern. Der PreRender-Event der Seite überimmt dann die Ausgabe im UI.

SQL-Server: Benutzerzuordnung nach DB-Umzug

Wenn man eine SQL-Server-Datenbank von Server A auf Server B umgezogen hat, sind, je nachdem, wie man das angestellt hat, die Benutzernamen nicht mehr Synchron, sprich: der Benutzer ‘user’, der in der DB existiert, ist nicht der gleiche, wie er auf dem Server existiert.

Unter SQL-Server 2005 konnte ich die Zuordnung folgendermaßen wieder herstellen:

use DB_NAME
EXEC sp_change_users_login 'Auto_Fix', 'username'

Unter SQL-Server 2000 habe ich immer das folgende Tool eingesetzt, das unter 2005 nicht mehr zu funktionieren scheint:

http://www.dbmaint.com/SyncSqlLogins.asp

NTP-Intervall auf allein stehenden Windows 2003-Servern

Auf allein (sprich: nicht in der Domäne) stehenden Windows 2003-Servern kann man in den Uhrzeiteinstellungen einen NTP-Server angeben, von dem sich der Server die Uhrzeit regelmäßig holen soll. Standardmäßig holt sich ein allein stehender Windows 2003-Server die Uhrzeit einmal pro Woche. Falls dies nicht reicht (wenn z.B. die Systemuhr einfach falsch geht), kann man das Intervall runtersetzen.

Dazu muss man in der Registry den folgenden Wert ändern:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\W32Time\TimeProviders\NtpClient

Der Wert SpecialPollInterval (vom Typ DWORD) muss auf einen kleineren Wert angepasst werden, z.B. 3600 (Decimal) für eine stündliche Synchronisierung.

Eventuell sollte man den Dienst W32TIME noch neu starten, damit die Änderung wirksam wird (ich konnte es jedenfalls nicht lassen).
Das ganze klappt auch für XP-Workstations. Den Tipp habe ich von hier:

http://www.winguides.com/registry/display.php/985/

bzw.

http://support.microsoft.com/default.aspx?scid=kb;en-us;884776