Ziel ist es, die aktuellste Version Adobe Reader auf allen Computern eines AD Netzwerks zu verteilen. Es handelt sich um die Version 11.0.10 (Update 13.3.2015), die speziell angepasst (deutsche Sprache, keine EULA, paar Features deaktiviert) installiert werden soll. Da ich bei diesem Prozess auf verschiedenste Fehler und Probleme stieß, werde ich die Verteilung hier detailliert erläutern.

Seit 2010/2011 gibt es ja den Hintergrundupdater in Adobe Produkten. Eigentlich gehören Verteilungen dieser Art also der Geschichte an. Jedoch kann es trotzdem notwendig werden, wenn erstmal eine Basis geschaffen werden muss, weil beispielsweise kein einheitlicher Standard des Produkts installiert ist. Einige haben Version X, andere Version Y, einige PCs haben die Software nicht einmal installiert. In diesem Fall ist ein komplettes Rollup inklusive Cleaning, also Deinstallation aller Versionen vor der Verteilung, sinnvoll und empfehlenswert.

Wie üblich gibt es mehrere Herangehensweisen, bei Adobe habe ich im Laufe der Jahre folgende Methode als sicherste empfunden:
Installer laden -> AIP lokal erstellen -> Patches slipstreamen -> mit Customization Wizard anpassen -> mit Orca optimieren -> Verteilen,
wobei der Verteilen-Punkt je nach Produkt und Situation natürlich zwischen Script oder GPO Installation unterschieden wird.
Das hier sagt Adobe zu den „Best Practices“.

Schritt 1: Installer laden

Adobe bietet für ihre Produkte teilsweise 2 verschiedene Downloadseiten an. Die typisch einfache Seite und die Seite für Administratoren, hier am Beispiel vom Reader (bei Acrobat ist das ebenfalls so).
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-installerIhr braucht natürlich das komplette Paket: 11.0.0 Basis plus aktuellstes Update, am besten in der MUI Variante.
Für die Pro’s auch ohne viel Schickschnack via FTP.

Schritt 2: AIP erstellen

Falls die Grundversion (z.B. 11.0.0) eine .zip Datei war, entpackt diese. Geht per CMD in diesen Ordner und führt den Befehl

msiexec /a "AcroRead.msi"

Der Installer startet, installiert am besten lokal, C:/Reader11/ oder so. AIP fertig!

Schritt 3: Patches integrieren

Geht per CMD in den Ordner des Updates und führt den Befehl aus:

msiexec /a "C:\Reader11\AcroRead.msi" /p "AdbeRdrUpd11004_MUI.msp"

(ihr müsst natürlich Pfade und Dateinamen entsprechend anpassen…)
Der grafische Installer für den Patch erscheint, durchklicken, fertig. Verfahrt so mit allen Patches, wenn ihr mehrere habt. Für gewöhnlich lässt sich aber das aktuellste Update auf die Basisversion anwenden, mehr dazu steht auf der Detailseite des Updates bei den „Installation Instructions“ („This update requires that Adobe Reader 11.0 MUI or later is installed on your system.“).
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-update-slipstream

Schritt 4: mit dem Customization Wizard anpassen

Wie bei Acrobat kann man auch den Reader mit dem Adobe Customization Wizard anpassen:
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-customization-wizard
EULA deaktivieren, Sprache wählen, Deinstallation alter Versionen aktivieren, paar Online Features deaktivieren, Shortcuts anpassen, tobt euch aus und speichert das Ergebnis als MST Anpassungsdatei ab.

Fertig, ihr habt jetzt eine geupdatete AIP Installation, C:/Reader11. Die könnt ihr auf das Netzlaufwerk schieben. Dazu die gerade erstellte MST. Beides zusammen könnt ihr nun Verteilen. Entweder via GPO Softwareinstallation oder per Script. Letzteres bevorzuge ich aus Gründen der Funktionalität.
Kommen wir also zum letzten Schritt.

Schritt 5: Verteilung via Script

Hier wird es nochmal spannend.
Das Installer-Script
– hat einen Clientfilter, kann also einzelne Rechner zulassen oder ignorieren
– räumt alte Reader Installationen auf (Version 9 und 10) – siehe Acrobat & Reader Cleaner Tools
– besitzt umfangreiche Logging-Möglichkeiten
reagiert auf die Fehlercodes 1618 (Installer Prozess wird gerade verwendet), 1602 (Installation vom Nutzer abgebrochen) und 1603 (Installationsfehler) mit einem Retry nach 5 Minuten

Update: 28.07.2015 Version 11.0.12, getestet und läuft.

@echo on & Color 9f & setlocal
set wd=\\server\Deployment\Software\Reader
set log=%wd%\reader-log.txt
set readerEL=999
set retry=0
set forcecleanup=yes
REM:: ******************
set version=11.0.12
REM:: ******************

REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto start
::goto end

REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

:start
if not exist %wd%\deploy\%version%\complete md %wd%\deploy\%version%\complete
if exist %wd%\deploy\%version%\complete\%computername% goto end

if "%forcecleanup%"=="yes" goto cleanup
goto install

:cleanup
echo %date% %time:~0,8% - %computername% deinstalliert alle Reader Versionen... >> %log%
REM:: uninstall all reader versions
start /w %wd%\cleaner\reader-cleaner-9.exe /silent /product=1
start /w %wd%\cleaner\reader-cleaner-10-above.exe /silent /product=1
echo %date% %time:~0,8% - %computername% hat alle Reader Versionen deinstalliert... >> %log%
goto install

:install
echo %date% %time:~0,8% - %computername% startet die Installation... >> %log%
start /w msiexec /i "%wd%\deploy\%version%\AcroRead.msi" /qn TRANSFORMS="%wd%\deploy\%version%\AcroRead.mst"
set readerEL=%errorlevel%

if %readerEL%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %readerEL%==1602 goto retry REM:: user canceled installation
if %readerEL%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%... >> %log%
if %readerEL%==0 md %wd%\deploy\%version%\complete\%computername%
goto end

:retry
if %retry%==1 goto retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry in 5min... >> %log%
set retry=1
ping localhost -n 300 > nul
goto install

:retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry failed, end >> %log%
goto end

:end
endlocal
exit

Damit das Script funktioniert, braucht ihr allerdings eine spezielle Ordnerstruktur. Ich skizziere sie mal eben schriftlich, ggf. mit Dateien:
Reader\cleaner\reader-cleaner-10-above.exe (Cleanup Tools, umbenannt)
Reader\cleaner\reader-cleaner-9.exe (Cleanup Tools, umbenannt)
Reader\deploy\[version](die in der Batch als Variable gesetzt wird)\[Dateien: AIP,.mst,usw]
Reader\deploy\[version]\complete\

Wenn ihr also in der Batch beispielsweise die Version 11.0.04.63 verteilen wollt, tragt die Version in Zeile 11 so ein und der Ordner lautet:
Reader\deploy\11.0.04.63\
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-deploy-dir

Hier ein Beispielausschnitt der Logdatei:
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-logfile

Probleme mit der Sprache?

acrobat-multilanguage-testsIst das Produkt trotz Anpassung nicht auf Deutsch? Das Problem hatte ich auch und habe einige Stunden mit verschiedensten Tests an der MST, der setup.ini und den MSI Parametern verbracht. So richtig klar wurde mir das alles nicht, ich habe nun aber einige Anpassungstipps, die das Sprachproblem beheben sollten. Lest vorher nochmal die paar Infos des Admin Guides zu den Sprachen, das erleichtert das Verständnis der folgenden Punkte.

Also, MSI in Orca laden, über Transform -> „Apply Transform“ die angepasste MST des Customization Wizards laden und ab in die Property Tabelle.
(Das ginge übrigens auch über den Customization Wizard -> Direct Editor)
Schaut hier nach folgenden Schlüsseln und passt diese ggf. an, um die deutsche Sprache einzustellen:

Propertyalter Wertneuer Wert
ProductLanguage10331031
ISLANGFLAGen_USde_DE
ProductCode{AC76BA86-7AD7-FFFF-7B44-AB0000000001}{AC76BA86-7AD7-1031-7B44-AB0000000001}

(zum Product Code lest bitte den Admin Guide)
Speichert diese Anpassungen über Transform -> Generate Transform am besten in einer seperaten MST.

Editiert dann die setup.ini vorsichthalber, sodass sie nur noch die deutsche Sprache und die neue Transorm enthält:
adobe-reader-scriptbased-deployment-mst-changes-cleaning-logging-setup-ini

[Product]
msi=AcroRead.msi
Languages=1031
1031=German (Germany)	
CmdLine=TRANSFORMS="AcroRead-deu.mst"

Installiert dann den Reader entsprechend dem oben gezeigten Script, dann sollte die Installation die Anpassungen der MST beinhalten und auf deutsch sein.

Kürzer, schneller, härter

Die richtigen Pro’s werden bei den ersten Schritten den Kopf schütteln, „das geht ja alles viel einfacher, schneller, in weniger Schritten“ usw.
Ja, man kann die Anpassungen, AIP und Patches mit viel weniger Schritten abarbeiten. Der Admin Guide hat an vielen Stellen diese komplizierteren Schritte beschrieben.
2 Beispiele:
Gleich am Anfang nach dem Download per Customization Wizard die Version angepasst und dann direkt diesen Befehl genutzt:

msiexec /i AcroRead.msi PATCH="AdbeRdrUpd11001.msp; AdbeRdrSecUpd11002.msp" TRANSFORMS="AcroRead.mst"

Damit wird der angepasste Reader installiert und daraufhin mit den Patches versehen. Mehrere Patches lassen sich wie gezeigt aneinanderreihen, die Pfade sollte man lieber noch ergänzen; habe ich der Übersicht wegen weggelassen.
Oder: alternativ kann man ohne Anpassung auch die wichtigsten Eigenschaften direkt bei der Installation mit den Property-Parametern setzen:

msiexec /i AcroRead.msi PATCH="AdbeRdrUpd11004_MUI.msp" LANG_LIST=de_DE SUPPRESSLANGSELECTION=1 REMOVE_PREVIOUS=YES EULA_ACCEPT=YES SYNCHRONIZER=NO

Die CMD Möglichkeiten beim Erstellen des AIP und der Installation sind vielfältig, aber benötigen auch weit mehr Expertise.
Außerdem machen sie die Fehlersuche viel komplizierter, sollte es während eines 1-Liner zu einem Fehler kommen.
Ich war deswegen immer der Freund von ausführlichen Schritt-für-Schritt Herangehensweisen. Entscheidet selbst.

Viele komplexere Windows Installationen werden von .msi Installern durchgeführt. Diese MSI Datenpakete sind oftmals datenbankähnliche Datenstrukturen, die Informationen und Dateien für eine Installation bereithalten. Der Vorteil dieser Installer ist, dass sie sich, im Gegensatz zu .exe Dateien, einsehen und anpassen lassen. Änderungen an MSI Daten können direkt in der MSI, oder als extra Datei in Form einer .mst Datei, abgespeichert werden. So kann eine Grundinstallation in verschiedenen Formen, also eine .msi mit verschiedenen .mst Anpassungen, ausgeliefert werden.

Mit dem kleinen (retired) Microsoft Tool Orca (Parameter) lassen sich nicht nur .msi Dateien anpassen, sondern auch bestehende .mst Dateien anwenden und analysieren.

orca-msi-editor-standard

Über den Menüpunkt Transform kann man nun neue Änderungsdateien erstellen und speichern oder bestehende laden. Das ist besonders praktisch wenn man eine .mst nicht selber erstellt hat und nachsehen möchte, was konkret verändert wurde.
Beispiel: Adobe Produkte, wie z.B. der Reader oder Acrobat Professional, werden für gewöhnlich vor der Verteilung im Unternehmen mit dem Tool „Adobe Customization Wizard“ angepasst. Dieses Tool erstellt mit den gewünschten Anpassungen (Sprache, Pfad, Serial usw.) eine fertige .mst Datei, mit der man die Verteilung starten kann. Mit Orca kann man nun vorher diese .mst Datei laden und nachsehen, ob soweit alles stimmt.

orca-msi-editor-mst-transform-file-view

Im Fenstertitel sind die verknüpften .msi und .mst Dateien vermerkt, in der Oberfläche sind angepasste, hinzugefügte und entfernte Daten grün markiert. Nützlich, was?

Ich komme später nochmal darauf zurück, in welchen Fällen das besonders sinnvoll sein kann 😉

Falschen Produkt Key in Office 2007 eingegeben? Nachträglich doch einen anderen Key nutzen? Aktivierung funktioniert nicht richtig oder nimmt den Key nicht an?
Ein Reset des Produkt Keys in Office 2007 ist total easy.

  1. Schließt alle Office Programme.
  2. Öffnet die Registry („regedit.exe“) und sucht dort nach
    [plain]
    64bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration
    32bit: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Registration
    [/plain]
  3. Öffnet den darin enthaltenen Schlüssel, der entweder so aussehen dürfte: {91120000-00CA-0000-0000-0000000FF1CE}
    oder so: {90120000-0030-0000-0000-0000000FF1CE}
  4. Löscht die darin enthaltenen Einträge DigitalProductID und ProductID

office2007-product-key-reset-registry

Fertig. Beim nächsten Start eines Office Programms muss ein neuer Lizenzschlüssel eingegeben werden.
Es soll auch relativ einfach sein Office 2007 ohne Produkt Schlüssel zu aktivieren. Das habe ich aber nicht getestet und werde es hier auch nicht beschreiben. Siehe hier.

Update:

Download

Ich habe euch sogar 2 einfache .reg Dateien erstellt, die genau das tun: diese 2 Keys löschen. Einmal für 64bit und einmal für 32bit. Doppelklick während alle Office Programme geschlossen sind, fertig!
delete-office2007-activation-64bit [.reg]
delete-office2007-activation-32bit [.reg]
(Rechtsklick -> [Link/Ziel] speichern unter…)

Regelmäßige Backups sind Pflicht überall im IT Bereich. Das Smartphone übernimmt immer mehr Aufgaben in unserem Alltag und enthält immer mehr wichtige Daten. Die Sicherung der Smartphone Daten sollte regelmäßig erfolgen.

Zum Beispiel mit JS Backup. Die Android App ist besonders einfach zu bedienen und sichert manuell oder regelmäßig das komplette System inklusive Anwendungen, Bilder, Videos und Musik. Also eigentlich alles, was man braucht.
js-backup-android-fulll-backup-details js-backup-android-fulll-backup-overview

Gesichert werden viele Komponenten des Systems wie zum Beispiel Kontakte, SMS/MMS, Systemeinstellungen, Kalendereinträge; und mehr. Dabei kann JS Backup die Daten nicht nur lokal speichern sondern wahlweise auch direkt in der Dropbox, Google Drive oder SugarSync. Dabei werden die Daten als lesbare csv Dateien in einer .zip gespeichert, sind also auch ohne die App einseh- und lesbar. Für die Sicherung von Bildern, Videos und Musik muss eine aktive WLAN Verbindung bestehen; die Sicherung des Systems erfolgt immer und zwar recht flink.
js-backup-android-fulll-backup-system js-backup-android-fulll-backup-process

Auch die Anwendungen können selektiv für ein extra Backup ausgewählt werden. Aus irgendeinem Grund sind die Sicherungen der Anwendungen und des Rests nicht in einem Rutsch möglich. Irgendwie soll es auch möglich sein, die gesicherten Daten und Anwendungseinstellungen im Browser über einen Backup Server zu betrachten und zu verwalten, das habe ich noch nicht so recht geschafft. Die Wiederherstellung erfolgt so einfach und schnell wie die Backups.
js-backup-android-fulll-backup-apps js-backup-android-fulll-backup-restore

Fazit: diese App ist einfach, übersichtlich und sichert ohne Root Rechte praktisch das komplette System, sowohl lokal als auch in der Cloud. Daumen hoch für diese kostenlose Android Perle.

In Zeiten von NSA Vollüberwachung, BND Zusammenarbeit, „full take“s und weit mehr unfassbarem Bockmist etlicher Geheimdienste und Regierungen, muss man sich über Datenschutz und Verschlüsselung langsam mehr Gedanken machen. Ich danke jedem Entwickler, der den Nutzern dabei hilft, diese zwei wichtigen Ziele zu erreichen.

Also preise ich hier mal die Chrome Erweiterung BlockPRISM deutscher Studenten des Hasso Plattner Instituts und eines Studenten der Stanford University an. Diese Erweiterung verpasst dem Facebook Chat eine PGP Verschlüsselung und macht sie somit unlesbar für alle Fremden „Zuschauer“.

blockprism-facebook-verschlüsselung-chrome-erweiterung-passwordDazu müssen beide Chatpartner das Plugin installieren, sich damit bei Facebook anmelden und ein komplexes Passwort eingeben, mit dem die Verschlüsselung erfolgen soll. An dieser Stelle ist ein wirklich komplexes Passwort sinnvoll. Wichtig aber: merkt euch das Passwort! Ihr müsst an allen Geräten, auf denen ihr die Chats verschlüsseln wollt, das gleiche Passwort eingeben.

Und schon läuft die Verschlüsselung unsichtbar im Hintergrund. Ist das Plugin installiert und aktiv sieht man nur den normalen Text. Deaktiviert man aber die Erweiterung, sieht man nur unlesbaren Text.
blockprism-facebook-verschlüsselung-chrome-erweiterung-sichtbar blockprism-facebook-verschlüsselung-chrome-erweiterung-verschlüsselt

Das rockt und ist ziemlich sicher. Nun kann man also auch privatere Informationen über den Chat austauschen, ohne sich Gedanken machen zu müssen.

Wenn ein frisch installiertes Betriebssystem erstmal fertig eingerichtet ist und perfekt läuft sollte man diesen Zustand im Notfall wiederherstellen können. Das Sichern von funktionierenden Treibern ist einer der Schritte, die man dafür regelmäßig durchführen sollte.

Double Driver ist klein, portable, kostenlos, einfach zu bedienen und besonders schnell!

Die Oberfläche ist besonders einfach und die Bedienung ist selbsterklärend:

Die Treiber des eigenen Systems sind in weniger als 1 Sekunde komplett geladen (zumindest bei mir). Irgendwie soll man auch andere Systeme scannen können; wie das geht habe ich aber noch nicht getestet.

Wie bei den meisten Treiber Backup Tools werden alle Systemtreiber gelistet aber nur die non-Microsoft Treiber ausgewählt. Diese Selektion ist schon am sinnvollsten, lässt sich bei Bedarf aber verändern. „All“, „None“, „Invert“ beschleunigen die Anpassung.

Die Treiber lassen sich als Ordner, als gezippte Ordnerstruktur oder als selbstentpackendes Archiv sichern. Treiber größerer Systeme können schon mal 100-200MB groß sein, die 2 ZIP Auswahlmöglichkeiten würde ich also empfehlen. Damit kann die Größte auf 40-80MB verringert werden. Das Wiederherstellen der Treiber ist ebenso simpel. Die Sicherung wird ausgewählt und alle gesicherten Treiber werden aufgelistet. Hier kann man dann entweder alle Treiber wiederherstellen oder einzelne Einträge deselektieren.

Das Tool ist dazu portable, muss also nicht installiert werden und funktioniert sofort auf jedem System, gerne auch vom USB Stick aus.

Super Freeware, Hut ab.
Das Sichern der Treiber funktioniert auch bei Windows 8. Ich gehe davon aus, dass auch die Wiederherstellung funktioniert. Probieren geht über studieren.

Bis vor Kurzem habe ich noch FastStone Capture als mein Windows Screenshot Utility genutzt. Die Software wurde irgendwann kostenpflichtig und ich blieb dann auf der letzten kostenlosen Version des Programms sitzen.
Letztens las ich auf lifehacker von einer angeblich guten Screenshot Freeware: PicPick!

Ich habe die Software mittlerweile auf all meinen Computern installiert und bin wirklich überzeugt; die Software kann alles, was man von einem Screenshot Utility erwartet!

Übersichtliche Oberfäche in modernem Design:

Oberfläche, Nutzung und Dialoge an das bekannte Office Ribbon angelehnt:

Komplexer Bildeditor mit vielen Funktionen, Formen, Effekten, guter Handhabung, einfach top:

Vielen Einstellungsmöglichkeiten, u.A. automatischer FTP Server Upload und wichtige Shotcuts:

Wer also eine solche Freeware sucht, mit seiner aktuellen Software nicht so zufrieden ist oder einfach den King der Screenshots testen möchte: PicPick ist euer Kandidat!