June 23, 2010 03:21 by
till
Wer eigenen Komponenten für die Integration Services entwickelt, wird in den meisten Fällen auch einen Installer für die jeweilige Komponente erstellen. Wie man eigene erstellt, habe ich im Blog Eintrag “Windows Installer für eigene Erweiterungen” beschrieben. Da die Installer standardmäßig nicht signiert sind, weißt die UAC während der Installation darauf mit einem kleinen Warnhinweis hin.
Um Installer zu signieren wird ein offizielles Zertifikat benötigt, im Normalfall sind dies Zertifikate von VeriSign, Thawte oder TC Trust Center. Microsoft liefert zur Signierung von MSI Files (und anderen Dateien) das Signaturtool (SignTool.exe) zusammen mit dem .NET Framework aus. Leider kosten die Zertifikate bei z. B. Verisign ca. 900 $. Gerade im Open Source Bereich setzen sich deswegen vermehrt Zertifikate der nicht kommerziellen Zertifizierungsstelle CACert (Wikipedia: CACert) durch. Der große Nachteil von CAcert ist, dass das entsprechende Stammzertifikat noch nicht in der Zertifikatsdatenbank der Standard Browsern und Email-Clients als vertrauenswürdige Zertifizierungsstelle eingetragen ist. Somit ist eine Signierung, zumindest im kommerziellen Bereich, nicht sinnvoll.
Für den privaten Bereich, eventuell im Open Source Bereich, zu Entwicklungszwecken oder in Umgebungen in denen man Einfluss auf die Stammzertifikate hat, eignen sich diese jedoch sehr gut. Wird eine MSI Datei auf einem Computer installiert, auf dem das entsprechende Stammzertifikat nicht installiert ist, verhält sich der Installer wie oben gezeigt.
Da die erste Erstellung und Signierung ein bisschen Umständlich ist, hier eine kleine Schritt für Schritt Anleitung zum signieren von MSI Files mit CACert Zertifikaten:
- Als Assurer bei CACert registrieren
- Mindestens 100 Punkte bei CACert sammeln
- Die Code-Signing Funktion über den CACert Support explizit freischalten lassen
- Mit Firefox über den Menüpunkt “Client Zertifikat” ein neues Zertifikat mit der Option “Code-Zertifikat” erstellen.
- Im Firefox über Extras –> Erweitert –> Zertifikat Anzeigen das Zertifikat als PKCS12-Datei speichern
- Per Doppelklick auf das Zertifikat den Zertifikatimport-Assistenten öffnen und das Zertifikat dem Zertifikatsspeicher hinzufügen
- Im Internet Explorer über Extras –> Internetoptionen –> Inhalte –> Zertifikate den lokalen Zertifikatsspeicher öffnen
- Das Zertifikat mit dem privaten Schlüssel als PFX-Datei exportieren. Hier noch einmal beachten, das das zu exportierende Zertifikat auch wirklich für den Zweck Codesignierung ausgestellt wurde. Im IE heißt das “Garantiert, dass die Software von einem Software-Herausgeber stammt”
- MSI Datei mit dem Visual Studio erstellen
- MSI Datei über die Eingabeaufforderung mit folgendem Befehl signieren
signtool.exe sign /f MyPfxFile.pfx /p Password /d "Produktname" /du "http://www.ProduktURL.com" "Installer.msi"
Nachdem das Signieren mit “Done Adding Additional Store. Successfully signed: Installer.msi” abgeschlossen wurde, ist die MSI-Datei signiert und die UAC sollte bei der Installation nun wie folgt reagieren:
An einigen Stellen habe ich explizit auf die Verwendung des Firefox hingewiesen, da ich diese Schritte mit dem IE8 nicht ausführen konnte. Andere Browser wurden von mir an dieser Stelle nicht getestet.
Das Erstellen des eigentlichen Zertifikats ist anfänglich ein bisschen Umständlich, einmal Erstellt geht das Signieren aber sehr einfach von statten. Das Script aus Punkt 10 kann auch über das Visual Studio im Build Prozess automatisiert werden.
81440230-f23e-4fcb-8847-ea32d07b5110|0|.0
June 10, 2010 02:01 by
till
Innerhalb der Integration Services kann die Entwicklung von Expressions manchmal schon ein bisschen umständlich sein sein, wie zum Beispiel in meinen Blog-Beitrag zur ISBN Prüfung zu sehen.
Bei Codeplex ist mit dem Expression Tester-Toll genau hierfür jetzt ein schönes Projekt aufgetaucht. Darren Green, vielen wahrscheinlich durch die Seite SQLIS.com bekannt, hat einen Editor zur Entwicklung und zum Testen von Expressions entwickelt.
Das Expression Tester-Tool ist ein externer Editor, den man auch ohne ein installiertes BIDS verwenden kann. Das Programm enthält alle möglichen SSIS Funktionen und kann zusätzlich um eigenen Funktionen erweitert werden.

Ändert man Funktionen oder fügt eigene hinzu, wird im lokalen Benutzerverzeichnis(C:\Users\USERNAME\AppData\Roaming\Konesans Limited\Expression Editor) eine XML Datei mit allen Funktionen des Editors angelegt. Die eigenen Funktionen können recht umfangreich sein, wie die mit ausgeliefert 4 Beispiele zeigen. Dies eignet sich auch gut dafür um sich Snippets zu definieren.
Werden innerhalb der Expressions Variablen verwendet, können diese im Editor definiert und zum Testen mit eigenen Werten gefüllt werden. Meine Expression zu ISBN Prüfung gestaltet sich im Editor wie folgt:
Fehler einer Expression werden beim Prüfen direkt in einem Dialog angezeigt.
Der Editor wird auch als eigenständiges Control zur Verfügung gestellt, so dass man diesen auch in anderen Programmen oder Tasks verwenden kann.
5715a3c3-2132-4808-8bb2-248781c1f5b3|0|.0
June 9, 2010 02:58 by
till
Beim zweiten Teil meiner kleinen Serie über Geodaten handelt es sich um eine Linkliste zu ein paar Tools und Programme, die bei der Be- und Verarbeitung von Geodaten hilfreich sind. Die vorgestellten Programme sind teilweise kostenlos, Open Source oder auch von kommerziellen Anbietern. Die vorgestellten Programme dienen in den meisten Fällen zur Visualisierung oder zum Import von Geodaten. In der Liste sind auch 6 Komponenten für die SQL Server Integration Services aufgeführt.
SSIS ShapeFileSource
Mein aktuellstes Projekt bei Codeplex. Eine SSIS Komponente um Shapefiles inkl. der dbase Daten mit Hilfe der Integration Services in den SQL Server zu importieren. Aktuell noch in der ersten alpha Version. Auf der Projektseite sind jedoch schon einige Bilder eines Imports der OpenStreetMap Daten von Köln zu sehen.
Shape2SQL
Ein etwas älteres Projekt von Morten Nielsen, aber das erste kostenlose Programm mit dem es überhaupt möglich war Shapefiles in den SQL Server zu importieren. Das Programm wird kostenlos, allerdings ohne Sourcecode, zur Verfügung gestellt.
datenfabrik.address
Eine kommerzielle SSIS Komponente meines Arbeitgebers. Die SSIS Komponente korrigiert Adressen mit Daten aus über 240 Ländern und Territorien und kann diese in der neusten Version zusätzlich mit Geodaten anreichern. Die Geodatenanreicherung steht derzeit für 24 Länder zur Verfügung.
ShapeViewer
Ein etwas älteres Programm von Mohamed Hammod zum Anzeigen von Shapefiles. Das Programm ist mit Visual Basic 6 entwickelt worden und steht inkl. der Sourcen zur Verfügung. Meiner Ansicht nach das schnellste Programm um sich “mal eben” Shapefiles anzeigen zu lassen.
SAFE Software
Die Firma SAFE Software ist ein kommerzieller Anbieter für Spatial ETL Tools und stellt eine sehr umfangreiche Palette an SSIS Komponenten zur Verfügung. In einem älteren Blog Eintrag habe ich schon einmal kurz über die Komponenten berichtet. Wer sich für die ETL Tools von SAFE Software interessiert, sollte auch einmal einen Blick auf den Blog-Eintrag von Douglas Laudenschlager werfen.
ESRI Shapefile Reader
Eine weiteres Projekt das bei Codeplex erschienen ist. Der ESRI Shapefile Reader ist ein .NET Komponente die es ermöglicht Shapefiles zu lesen.
MapWindow6
Die umfangreichste Open Source .NET GIS Anwendung die ich bisher kennengelernt habe. Seit März diesen Jahres wird das Projekt bei Codeplex gehostet.
MapPoint Batch Geocoder
Eine weitere SSIS Komponente um Adressdaten zu geocodieren. Hierbei wird der MapPoint Web Service (jetzt Bing) verwendet um die gegebenen Adressen mit Geodaten anzureichern.
SSIS ImageSource
Ein weiteres Codeplex Projekt von mir, welches aber seit längerem nicht mehr gepflegt wird. Die SSIS Komponente importiert Bilder aus einem beliebigem Verzeichnis und liest die vorhandenen EXIF Daten und GPS Daten aus.
MapViewer
Ein ASP.NET Control mit dem Geodaten aus dem SQL Server gelesen und als Karte auf einer Webseite angezeigt werden.
SpatialViewer
Und das vorerst letzte Codeplex Projekt auf dieser Liste. Mit dem SpatialViewer können Spatial Daten direkt aus dem SQL Server geladen und angezeigt werden.
Zu guter letzt möchte ich noch auf die Artikelserie Working with Spatial Data von Siddharth Mehta hinweisen. Siddarth beschreibt in den 3 Artikeln wie man Daten mit den SSIS importiert, im Management Studio damit arbeiten und sich später Ergebnisse über die Reporting Services ausgeben lassen kann.
Ich würde mich freuen wenn noch jemad gute .NET Programme für die Verarbeitung von Spatial Data mit dem SQL Server kennt und mir dazu Informationen zukommen lässt.
f13710c1-61bc-4b49-b142-a126bffe63c7|0|.0