wildlife

Hacking MSI-Packages oder wie entferne ich einen OS Check

// August 10th, 2009 // IT, Tutorials

Manchmal kann es vorkommen das man z.B. ein älteres Programm installieren möchte, der Installer jedoch prompt die Arbeit verweigert, da das gegenwärtig eingesetzte Betriebssystem nicht unterstützt wird:

Um dies nun zu umgehen, habe ich für den Workshop hier ein spezielles MSI Paket erstellt, welches sich lediglich unter dem Betriebssystem Windows 95 installieren lässt. Versucht man das Programm unter einem anderen Betriebssystem zu installieren erhält man folgenden “Hinweisdialog“: image

Das eigentliche Programm welches hier installiert wird (%programfiles%\ Patched Taskmanager), ist eine modifizierte Version des Taskmanagers. Der Unterschied zum normalen Taskmanger ist der, dass sich die modifizierte Version trotz eines gesetzten Registrierungsschlüssels

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
DisableTaskMgr = "dword:00000001"

aufrufen lässt (gesetzt z.B. durch Malware, Daddy,... ); also keine Sorge (Ihr könnts das Paket gern entpacken).

imageBitte daran denken, ein Backup zu erstellen, bevor wichtige Änderungen am System vorgenommen werden.

Oft sind MSI Pakete in EXE Dateien eingebunden. Um nun an das eigentliche MSI File zu kommen hat man mehrere Möglichkeiten:

  1. Zum MSI Package entpacken dient die Software UNIExtract (http://legroom.net/software/uniextract), sehr einfach über das Kontext-Menü im Explorer zu verwendenimage
    Das MSI Setup ausführen bis das Fenster mit der “Fehlermeldung“ aufgeht (Fenster noch nicht schließen, da sonst die MSI Datei gelöscht wird), in %temp% wechseln, die XXX.msi (XXX: der Dateiname des MSI Pakets wechselt mit jedem Aufruf) irgendwo hin kopieren, Setup abbrechen.
  2. Alternativ die manuelle Methode via msiexec
    msiexec /a <name>.msi TARGETDIR=<path> /qb

    msiexec Kommandozeilen Optionen: http://msdn.microsoft.com/en-us/library/aa367988.aspx

Ich bevorzuge das schnelle kopieren des MSI Pakets aus dem %temp% Verzeichnis

image

Nun muß das MSI Paket mit einem entsprechenden Editor bearbeitet werden. Die Gratislösung Orca von Microsoft tut dabei gute Dienste. Orca gibts bei Microsoft aus dem SDK Paket (http://support.microsoft.com/kb/255905/de) oder bei Google (orca.msi). Nach der Installation das (kopierte) MSI-Paket mit Orca öffnen und die “Fehlermeldung“ oder einen Teil dieser suchen:

image

Die Zeile, die die Abfrage beinhaltet markieren, Rechtsklick, “Drop Row“ zum löschen, abspeichern, Orca beenden (wichtig, sonst gehts nicht), Installer starten, have fun!

Einige MSI Pakete enthalten mehrere Abfragen, also nicht direkt beim ersten Anlauf aufgeben

Um ein MSI Paket zu erstellen kann ich WinINSTALL LE (enthalten auf der Windows 2000 Server CD unter VALUEADD\MGMT) empfehlen, welches seit Oktober 2008 wieder frei erhältlich ist http://www.scalable.com/WinINSTALL_LE.aspx

Da eine Zwangsregistrierung zum Download nötig ist, gibts hier den  Direktlink: http://downloads.scalable.com/Download/Installs/Winstall10/LE/Enu/WinINSTALL_LE.exe

WinINSTALL LE muss zwingend in einer Domäne hängen, damit sich die Software mit der "Firmenadresse" beim Hersteller registrieren kann. Sollte man nicht in einer Domäne hängen, erscheint folgende Fehlermeldung:

image

Um die „Hinweismeldung“ zu umgehen einfach die Netzwerkkarte temporär deaktivieren und installieren – oder halt das MSI Package modifizieren – have a lot of fun ;)

Das MSI-Paket könnt Ihr hier herunterladen:

  MSI Paket für OS Check Workshop (2.1 MiB, 1,432 hits)

Der Dank für diesen Artikel geht hierbei an Daniel, der sowohl das MSI-Paket gebaut, als auch den Workshop geschrieben hat. :)

Ähnliche Beiträge:


One Response to “Hacking MSI-Packages oder wie entferne ich einen OS Check”

  1. Andy says:

    Klingt interessant und man lernt etwas dabei. ;-)

Leave a Reply