- Bearbeitet
Installshield startet für die eigentliche Installation/Deinstallation einen eigenen Prozess "IDriver.exe".
Dieser Prozess ist als Out-Of-Process DCOM Server implementiert.

Im obigen Bild funktioniert die Installation des Windows Treibers einer SpeedLink SL-6810
Square Webcam nicht, obwohl "STD 3_75E.exe" als Administrator ausgeführt wurde.
Das Installationsprogramm "STD 3_75E.exe" erstellt ein "ISetupDriver" DCOM Objekt.
Das Objekt ist in "IDriver.exe" implementiert.
IDriver.exe wird von "svchost -DcomLaunch" gestartet und bekommt blöder Weise den Benutzer-Token der Windows Shell zugewiesen und nicht den administrativen Token von "STD 3_75E.exe".
Also läuft "IDriver.exe" mit eingeschränkten Rechten und funktioniert nicht. :-(
"proof of theory":
Ich habe "c:\Programme\Gemeinsame Dateien\InstallShield\Driver\9\Intel 32\IDriver.exe" mit SuRun als Administrator gestartet.
Danach habe ich "STD 3_75E.exe" auch mit SuRun gestartet:

...und siehe da, die Installation lief einwandfrei durch.
Dieser Prozess ist als Out-Of-Process DCOM Server implementiert.

Im obigen Bild funktioniert die Installation des Windows Treibers einer SpeedLink SL-6810
Square Webcam nicht, obwohl "STD 3_75E.exe" als Administrator ausgeführt wurde.
Das Installationsprogramm "STD 3_75E.exe" erstellt ein "ISetupDriver" DCOM Objekt.
Das Objekt ist in "IDriver.exe" implementiert.
IDriver.exe wird von "svchost -DcomLaunch" gestartet und bekommt blöder Weise den Benutzer-Token der Windows Shell zugewiesen und nicht den administrativen Token von "STD 3_75E.exe".
Also läuft "IDriver.exe" mit eingeschränkten Rechten und funktioniert nicht. :-(
"proof of theory":
Ich habe "c:\Programme\Gemeinsame Dateien\InstallShield\Driver\9\Intel 32\IDriver.exe" mit SuRun als Administrator gestartet.
Danach habe ich "STD 3_75E.exe" auch mit SuRun gestartet:

...und siehe da, die Installation lief einwandfrei durch.