mayho33
Goto Top

Wie erkennt das System dass etwas installiert wird (Windows 7, 8, 8.1)?

Hallo @ All!

Ich wurde kürzlich gefragt wie das System erkennt, dass gerade eine Installation durchgeführt, was in diesem Fall genau passiert und wo das zur Laufzeit gelogt (nicht nur das Eventlog) wird. Ich konnte die Frage nur rudimentär beantworten und möchte es nun selbst ganz genau wissen.
Google spuckt mir dazu nicht wirklich detailreiche Antworten aus, eventuell verwende ich auch nur die falschen Suchbegriffe. Kann mit von euch jemand Infos dazu geben (Links zu irgendwelchen Artikeln, usw.)?

Danke für die Unterstützung!

Mayho

Content-Key: 252637

Url: https://administrator.de/contentid/252637

Printed on: April 19, 2024 at 04:04 o'clock

Member: colinardo
colinardo Oct 21, 2014 updated at 12:03:52 (UTC)
Goto Top
Member: Ausserwoeger
Ausserwoeger Oct 21, 2014 at 12:02:27 (UTC)
Goto Top
Hi

Soweit ich weiss wird für die meisten Programme der windows installer zu installation verwendet da die Setups diesen aufrufen weiss das System das etwas installiert wird. Ausnahmen gibt es natürlich wie zb. winrar hier werden nur dateien kopiert.

Das Logen der installation hängt von der Anwendung die installiert wird ab wenn man den Windows installer überwachen möchte muss man die log funktion erst Aktivieren http://support.microsoft.com/kb/223300/de
natürlich gibt es auch noch wie du geschrieben hast das Eventlog und falls ein Systemfehler bei der installtion auftritt gibt es noch memory dumps zum auslesen was das problem oder den absturz verursacht hat.

Setups die nicht den windows installier verwenden kopieren ihre dateien in die Ordner und ihre einträge in die Regisitrierung und fertig hier weiss das Betriebssystem nicht das etwas installiert wird.

PS: Google hilft in dem fall nur wenn man sich über den Windows Installer informieren will.

LG
Member: emeriks
emeriks Oct 21, 2014 at 12:03:38 (UTC)
Goto Top
Hi,
ich kenne sowas (das "Erkennen einer Instalation") sowieso nur von Terminalservern, wo der Server automatisch in den Installationsmodus schaltet, wenn ein Program gestartet wird, das vermeintlich eine Installationsroutine ist. Von "normalen" Workstations kenne ich das gar nicht.
Wenn Du für "normale" Workstations meinst, dass da die Frage nach den benötigten erhöten Rechten aufpopt, dann kann ich nur sagen, dass das meines Wissen direkt beim Kompilieren des Programms mit eingebaut werden muss. Das Programm fordert dann beim Start diese Rechte an und je nach UAC Einstellung bzw. Rechten des aktuellen Benutzers popt dann dieser Dialog auf.
Bei Terminalservern läuft das etwas anders: Rein zu den Anfordern von erhöten Rechten geht das genauso wie bei den Workstatitions. Das automatisch Umschalten in den Installationsmodus (change user /install) erfolgt rein nach dem Deteinamen. Wenn eine "install" oder "setup" EXE oder COM gestartet wird, dann geht Windows pauschal davon aus, dass jemand auf dem TS eine Installation gestartet hat. Ebenso, wenn man ein MSI-Paket installiert (alles was über msiexec.exe geht).

E.
Member: mayho33
mayho33 Oct 21, 2014 updated at 12:35:05 (UTC)
Goto Top
Hi emeriks!

Eigentlich geht's mehr in die Richtung systemumfassend zu erkennen ob gerade (egal ob MSI, EXE oder 3rd-party-Installer wie z.b. NSIS, usw.) eine Software installiert wird. Bei MSI kann ich den Trustedinstaller überwachen. Der springt nur an wenn eine MSI oder ein sonstige Produkt mit Mircosofts Installer-Technologie gestartet wird. da gibst standardisierte Logs, EventLog-Einträge usw. Bei anderen "Installation" oder gar Copy-Jobs wird's wohl schwieriger.

Mich interessiert aber eher wie das System selbst das erkennt, was es in so einem Fall macht und wo das alles getriggerd usw. wird.

Installshield (also MSI) ist ein gut bekanntes Thema für mich. Nur halt noch nie so weit ins System rein dass ich mir darüber große Gedanken machen musste was im Detail alles passiert. Macht ja Installshield für mich, wenn ich z.B. eine CustomAction erstelle. ich muss mich nur um die richtige Syntax und den richtigen Zeitpunkt im richtigen Kontext kümmern. Genauso beim Aufdröseln eines Setups oder Repaketieren.

Die Systemseite habe ich etwas vernachlässigt. Das möchte ich jetzt gerne nachholen.

grüße Mayho

PS: Sorry wegen dem Doppelpost
Member: mayho33
mayho33 Oct 21, 2014 at 12:34:22 (UTC)
Goto Top
Hi Colinardo!

Leider halt auch nur TrustedInstaller bzw. MSI. Ich dachte eher an etwas allumfassendes. Irgendwo im System muss doch etwas passieren bei einer Installation das bei allen Installationen gleich ist, z.B. registrieren einer OCX, kopieren einer DLL und deren Registrierung im System, Installieren einer SchriftArt durch einfaches kopieren in den Font-Ordner, what ever. Um sowas muss ich mich im Normalfall nicht kümmern. Das System macht das für mich (bis auf wenige Ausnahmen) wo ich selbst Hand anlegen muss.

Ein Tipp??

Danke und Grüße mayho
Member: colinardo
colinardo Oct 21, 2014 updated at 13:14:59 (UTC)
Goto Top
Das sind Windows-Interna, an die du so schnell nicht ran kommst. Etwas universelles für alle Installationsarten gibt es nicht. Das System selber kann bestimmte Windows API-Funktionsaufrufe abfangen und anhand dieser feststellen das da eine Installation läuft, aber selbst Windows kann hier nicht alles erfassen. Wie soll Windows auch anhand einer simplen Installationsroutine die z.B. nur aus Kopieren von Dateien besteht, erkennen können, das da was installiert wird oder der User einfach nur Dateien kopiert.

Da müsstest du die MS-Entwickler also direkt fragen face-wink

Grüße Uwe