Ich war seit Kurzem auf der Suche nach einem guten Plugin für ein Kontaktformular.

Mit cforms II wurde ich fündig. Das Plugin ist sehr komplex und kann sicher auch für mehr als nur Kontaktformulare benutzt werden.

Das Kontaktformular sowieso die Administration sind durch AJAX sehr interaktiv. Nicht ausgefüllte Felder werden beim Absenden hervorgehoben, das komplexe Administrationsmenü ist in Tabs aufgeteilt, die sich bequem auf- und zuklappen lassen.

cforms-2-formular

cforms-2-admin-panel

Gefunden hab ich das Plugin übrigends in Caschys Kontaktseite (warum auch immer die URL /datenschutzerklaerung lautet ^^).

Einleitung & Infos

1257430764_gnome-app-installMSI Pakete sind grob umschrieben Installationsdateien wie .exe Installer. Sie haben jedoch den Vorteil, dass sie in einer Art Datenbank Daten aufnehmen können, die man ihnen zusteckt. So kann ich also in eine MSI Installationsdatei einer Software bereits den Produktkey integrieren und dieser wird dann während der Installation automatisch eingetragen.
MSI Dateien werden oft benutzt um Softwareinstallationen ohne Benutzerinteraktion zu installieren. Sie können dann auch versteckt ausgeführt werden, der Benutzer bekommt dann von der Installation gar nichts mit.
Möchte man Software über Gruppenrichtlinien installieren, brauch man diese MSI Dateien (alternativ auch MST oder andere Formate, die aber ähnlich sind).

Man sollte als Administrator also wissen, wie man MSI Installationsdateien erstellt. Viele Programme bieten im Netz auch MSI Dateien parallel zu den normalen .exe Installern an, wie zum Beispiel Frontmotion Firefox, der MSI Pendant zum Firefox. Große Softwareprodukte wie Office, Acrobat Pro, Photoshop, bla haben sowieso immer eine MSI Datei mit auf der CD. Trotzdem bleiben 95% ohne MSI und deswegen lohnt sich das Tutorial.

Der Vorgang ist erstaunlich komplex und hat viele Tücken und Fehler auf Lager. Also aufmerksam Lesen, Verstehen und nicht schnell durchklicken.

Vorbereitung

Zuerst braucht ihr die Software WinINSTALL LE, Download hier.
Installieren und starten
Die Software, von der ihr die MSI erstellen wollt, darf nicht installiert sein. Deinstalliert sie notfalls vorher. Haltet die normale Installationsdatei bereit, in meinem Beispiel Paint.NET 3.5 mit .exe Installer.
Während des ganzen Prozederes darf bis auf WinINSTALL KEIN Programm laufen! Kein Firefox, kein Musikplayer, das wird euch am Ende sonst richtig Stress machen!

MSI Creation

Zuerst klickt ihr in WinINSTALL LE auf das Discover Icon (die Lupe) und startet damit den Discover Prozess ohne weitere Parameter.
msi-installer-mit-wininstall-le-erstellen-1-rundiscover

Der Assistent startet sich. Ein Klick auf Weiter und dann müsst ihr den Namen des Projekts angeben. Der Pfad und der Name der .msi wird automatisch ergänzt.
Der Zielordner sollte sich im WinINSTALL LE Programmordner befinden, normalerweise C:\Programme\OnDemand\WinINSTALL\Packages\ bzw. %programfiles%\OnDemand\WinINSTALL\Packages\. Dieser Ordner wurde entsprechend vorbereitet.
Mein Testdurchlauf mit Desktop als Zielordner endete in mehreren fehlerhaften Durchläufen und viel verschwendeter Zeit.
msi-installer-mit-wininstall-le-erstellen-3-pfad

Die nächsten 2 Schritte fragen ab, welches euer „working drive“ und euer „installation drive“ ist. Auf dem „working drive“ landen temporäre Dateien, „installation drive“ sollte klar sein. Beides C: in meinem Fall.
Die 2 Schritte danach fragen „exclusion files“ und „exclusion registry keys“ ab. Belasst alles so und klickt weiter.

Jetzt sind alle Informationen da und der „Before“ Scan startet und zeichnet den Stand des System vor der Installation auf.
Hier sei nochmal erwähnt, KEINE PROGRAMME laufen zu haben, ausser WinINSTALL.
Der Scan wird je nach System 1-5 Minuten dauern und (hoffentlich) mit diesem Fenster beendet:
msi-installer-mit-wininstall-le-erstellen-4-before

Wie die Meldung schon verkündet, ihr sollt jetzt die Installer starten. Nach dem Klick auf [OK] öffnet sich ein Durchsuchen-Fenster, ihr sucht euch die Installer.exe raus und startet sie.
msi-installer-mit-wininstall-le-erstellen-5-runinstaller

Bei der Installation der Software darauf achten, dass sie „für alle Benutzer“ installiert wird, Konfigurationsdateien im Programmordner, nicht unter den persönlichen Anwendungsdaten, gespeichert werden. Die Installation sollte nichts im „Dokumente und Einstellungen“ (bzw. „Users“) Tree abspeichern, ausser im „All Users“ Ordner. Werden Dateien in den „Dokumente und Einstellungen\[Benutzername]“ installiert, wird das bei anderen Benutzern Probleme machen. Dazu aber mehr später.

Installation abgeschlossen?
Dann müsst ihr in WinINSTALL LE wieder den Discover Button drücken und bestätigen, damit sich der Assistent wieder startet. Dieser erkennt den laufenden Prozess und bietet euch nun an, einen „Danach“ Snapshot zu erstellen und die Änderungen heraus zu kristallisieren.
msi-installer-mit-wininstall-le-erstellen-6-runafter

Der Vorgang wird wieder 1-5 Minuten dauern und danach (hoffentlich) ohne Fehlermeldungen seinen Erfolg verkünden. Geht nun mal in das Verzeichnis, das ihr im 2. Schritt als Zielpfad ausgewählt habt, „%programfiles%\OnDemand\WinINSTALL\Packages\Projektname„, dort müsste das Bild etwa so aussehen:
msi-installer-mit-wininstall-le-erstellen-7-rawmsi
Ist hier der Ordner „Dokumente und Einstellungen“ vorhanden, schaut rein, in welche Profile Dateien bewegt werden. Ist ausser All User noch ein anderer Benutzerordner vorhanden, prüft die Dateien und löscht sie ggf. Dazu aber mehr in der Troubleshooting Section.

Ihr geht vielleicht davon aus, das wars. Allerdings wird die MSI Datei nur irgendwas zwischen 100 und 500kb groß sein. Dort sind nämlich noch nicht all die Dateien integriert, die in den Ordner stecken. Das ist der nächste Schritt, die MSI „standalone machen“.

In WinINSTALL, rechts-klickt „Windows Installer Packages“ und importiert eure MSI. Hier unbedingt „Copy Package Source Files“ aktivieren! Eine sinnvolle Description eingeben, die wird (glaube ich zumindest) später nach der Installation in der Systemsteuerung->Software angezeigt.
msi-installer-mit-wininstall-le-erstellen-8-import-compress
Nach dem Rechtsklick auf das Paket und „Compress…“ erscheint ein kleines Fenster, hier einfach OK drücken und dann sollte WinINSTALL die MSI und die Daten zusammenfassen. Das kann bis zu einer Minute dauern. Jetzt solltet ihr in dem Ordner, den ihr gerade als Pfad angegeben habt, eine große MSI Datei haben.

Das wars 🙂

Die MSI installiert sich per Doppelklick ohne weitere Benutzereingaben zu fordern. Wie sich das Programm installiert habt ihr ja bei der manuellen Installation festgelegt.
msi-installer-mit-wininstall-le-erstellen-10-fertig

Joah, noch Fragen, Ideen, Verbesserungen, Fehler, something? Mail me

Troubleshooting

Beim Erstellen der MSI:
Error: source files must begin with @SourceDir: DesktopFolder\Dokumente und Einstellungen\[user]\Anwendungsdaten\Mozilla\Firefox\Profiles\5epbvr49.default\formhistory.sqlite
msi-installer-mit-wininstall-le-erstellen-err-after2Hier konnte eine Datei nicht kopiert werden. Der häufigste Grund war, dass diese Datei während des „Danach“ Snapshots gerade in Benutzung war und deswegen nicht kopiert werden durfte. Das erfahrt ihr auch durch einen „File copy error“ bzw „Failed to copy“:

Beim „Compress…“ der MSI:
Error: unable to compress file \\Computername\WinInstall\Packages\Programm\langer\blöder\Pfad\EvtlMitDatei.tmp into cabinet \\Computername\WinInstall\Packages\Programm\Irgendeine.cab: Error opening input file: 1 (0)
Wenn ihr das MSI File in das Programm importiert müsst ihr darauf achten, dass „Copy Package Source Files“ aktiviert ist, unbedingt Häkchen setzen!

Irgendwann letztens war wieder ein PR Update, das hab ich irgendwie ein wenig verpasst. Nunja, der Vollständigkeit halber hier die Trends einiger Bloggerkollegen.
Die Liste ist nicht wirklich aktuell, neue Kontakt entschuldigen bitte, dass sie nicht vorkommen.

google-pr-update-november09
Pagerank Trend ermittelt mit dem Tool PaRaMeter.

PR4… why not. Gratz an Kenny für das +2, auch wenn ihn bei einer 2. Seite ein -4 erwischt hat.

Man muss ja nicht immer nur über positive Themen schreiben sondern kann auch mal Fehlschläge berichten.
Zum Beispiel das Erstellen eines Panoramafotos mit Photoshop CS2.

Das habe ich nämlich gerade getestet. 12 Bilder standen als Quelle zur Verfügung, das sollte reichen.
Also habe ich Photoshop geöffnet, File -> Automate -> Photomerge… und dort die 12 Fotos hinzugefügt und bestätigt.
Was da rauskam war regelrecht schokierend:

photoshop-photomerge-1photoshop-photomerge-2

Da werden keine Lichtverhältnisse angepasst, die Kanten nicht gefunden, die Bilder katastrophal zusammengezimmert. Rechts lassen sich zwar Einstellungen ändern und man kann die einzelnen Quellbilder rumschieben aber ein annähernd befriedigendes Bild habe ich damit nicht schaffen können.
Sicher mach ich da was falsch, oder? Profil könnten daraus sicher was machen. Aber wir wollen es ja Dummie-gerecht 🙂

Da verweise ich wieder mal gerne auf das Microsoft ICE Tool. Der „Image Composite Editor“ ist kostenlos lassen sich damit ohne weitere Handgriffe scheinbar perfekte Panoramas erstellen. Auch in diesem Tool habe ich die 12 Bilder einfach in das Tool gezogen, es hat paar Sekunden gerödelt und ohne weitere Anpassungen (ausser „Auto Crop“) war das Panorama fertig, erstaunlich genial!

neues-buero-panorama_thumb

Das ist übrigends mein neues Büro, es gab Vorgestern und Gestern paar neue Möbel in einigen Büros. Der Tisch da hinten sieht auf dem Foto recht klein aus, ist aber eigentlich ein RIESENding! 🙂

buerotisch-2