Jump to content

Windows Installer / INstallShield


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

HILFE!!!!!

 

Hallo alle miteinander,

 

habe ein großes Problem.

Eigentlich wollte ich nur eine Software deinstallieren, aber nun bekomme ich eine Fehlermeldung (Setup konnte die Installations-Engine nicht starten. Klasse nicht registriert).

Jetzt ist mir aufgefallen, das auch bei anderen Installationen so eine Fehlermeldung kommt. Ich dreh noch durch :mad:

Habe daraufhin mir gedacht okay dann registriere ich eben den MSI Server noch einmal (msiexec /unreg und danach msiexec /regserver) nix gebracht. Habe viel gegoogelt aber nix brachbares gefunden. Habe auch schon von Microsoft den "WindowsInstaller-KB893803-v2-x86.exe" heruntergeladen und installiert - auch nix geholfen.

Desweiteren habe ich nun gelegentlich bei anderen msi Installationsroutinen eine Fehlermeldung ("The Installshield Engine (iKernel.exe) could not be launched. Klasse nicht registriert").

Hat von euch jemand eine Idee? :confused:

Neuinstallieren wollte ich nicht!

Link zu diesem Kommentar
(Setup konnte die Installations-Engine nicht starten.

 

und auch

 

("The Installshield Engine (iKernel.exe) could not be launched. Klasse nicht registriert").

Das ist kein Problem des Windows Installers, sondern von Installshield.

 

Hoffentlich hast du durch dein voreiliges gebastel nicht noch mehr demoliert.

Also schaut man bei http://www.installshield.com nach um das Problem zu lösen.

Link zu diesem Kommentar
  • 3 Monate später...

Hi Forum

 

mich hat diese Meldung auch desöfteren heimgesucht. Nach vielem googeln und Foren-lesen bin ich auf einen möglichen Lösungsweg gestossen. Da dieses Problem weit verbreitet zu sein scheint, hier mal meine Tipps.

System: NT4 Sp6a, InstallShield V 6.31.

Das OS scheint nicht primär interessant zu sein, da der Fehler unter ME, NT, W2K oder XP auftritt.

(Hilfreich wäre eine 2. Maschine gleichen OS, auf der der Fehler nicht auftritt.)

 

a) als erstes muss hier klar gesagt werden, dass der Fehler nix mit dem MSI-Installer zu tun hat! Dieser bearbeitet msi-Pakete. Der Fehler, der hier auftritt, bezieht sich auf die Verwendung von z.B. setup.exe, install.exe o.ä. Dabei jeweils bei Installation und/oder Deinstallation des betreffenden Produktes.

 

b) Viele schreiben in Foren, dass sich Anwendung XY nicht de-/installieren läßt. Es liegt definitiv nicht an der Anwendung, bzw. dem Setup der Anwendung.

Die fehlerhafte Komponente ist der InstallShield.

 

c) InstallShield gibt es in mehreren Versionsständen. Die gängigste scheint die 6.31 zu sein. Es muss also sichergestellt werden, dass alle benötigten DLL's die selbe Version besitzen.

 

Ende Teil 1

Link zu diesem Kommentar

Lösungsweg:

1.) die betreffende setup.exe, die die nicht will, mit rechts anklicken → Eigenschaften → Reiterkarte Version → Versionsnummer merken (z.B. Dateiversion: 6,31,100,1190)

2.) nach http://www.installshield.com gehen, und dort das ikernelupdate für die entsprechende Version laden

3.) InstallShield (V 6.x) liegt i.d.R. unter c:\programme\gemeinsame dateien\installshield\engine\6\intel 32

Die absolut notwendigen Dateien sind:

  • corecomp.ini
  • ctor.dll
  • iKernel.exe
  • iuser.dll
  • objectps.dll

Kontrollieren und merken → Verzeichnis ab engine löschen. engine/6/intel 32 verschwindet also jetzt.

4.) Das heruntergeladene ikernelupdate installieren. I.d.R. kommt auch hier wieder die Meldung "Klasse nicht registriert". Keine Panik, Kontrolle unter (s.o.) ....\installshield sollte zeigen, dass die Ordner engine\6\intel 32 wieder angelegt wurden. In ihm sollten sich die Dateien von 3.) befinden → kontrollieren und merken.

5.) U.U. könnte jetzt das Installieren der betreffenden Anwendung funktionieren. Um allen Fehlern aus dem Weg zu gehen, noch folgendes ausführen...

6.) Nach c:\programme\gemeinsame dateien\installshield wechseln. Hier existiert u.U. ein Ordner iscript. Reinwechseln, darin sollte sich die Datei iscript.dll befinden. Wie 1.) Rechtsklick → Eigenschaften → Version. Die Versionsnummer sollte die selbe, wie das installierte InstallShield (V 6.x) sein. Meine hatte z.B. die 9.01.429, ist also zu hoch. Hier am besten von der funktionierenden Maschine die DLL-Datei drüberkopieren (nach Versionskontrolle natürlich).

7.) Jetzt kommt der wahrscheinlich nervigste Teil. In der Registry muss überprüft werden, ob die installierten InstallShield-Dateien gültig und vorhanden sind.

8.) Mit Adminrechten die Registry mit regedit.exe oder regedt32.exe (je nach verwendeten OS) öffnen. Wir brauchen auf jeden Fall einen Registry-Editor, der suchen kann!

9.) An den Anfang der Registry stellen (Arbeitsplatz) → STRG + F drücken -> Suchen nach: engine\6 → Suchoptionen: Schlüssel, Werte, Daten → ganze Zeichenfolge vergleichen nicht aktivieren → und los geht's mit suchen. (Weitersuchen, nach 10., mit F3 )

10.) Unter HKEY_CLASSES_ROOT\CLSID sollte es jetzt einige Treffer geben, die als Wert den Pfad von 3.) mit einer Datei aus 3.) bzw. 4.) besitzt. Jeder gefundene Wert sollte auf eine Datei zeigen, die es effektiv im Verzeichnis gibt. Wird hier eine Datei angezeigt, die es im o.g. Verzeichnis nicht gibt, kann der komplette Schlüssel (linke Seite mit {} ) gelöscht werden. Wer ganz sicher gehen will, kann den Cursor auf den betreffenden Schlüssel stellen und diesen zur Sicherheit exportieren. Dann kann man ihn bei Bedarf wieder laden.

11.) Das ganze Prozedere mit F3 so oft wiederholen, bis alle engine\6-Pfade kontrolliert und korrigiert sind und am Ende eine "Registrierung durchsucht" kommt.

12.) Nach HKEY_LOKAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls wechseln. Dieser Schlüsselbereich sollte bei 9.)-11.) bereits schonmal besucht worden sein.

Hier wurden bei mir z.B. zwei Werte gefunden, die auf die Dateien ilog.dll und knlwrap.exe im InstallShield-Verzeichnis verwiesen, welche nicht vorhanden waren! Diese Schlüssel sollten bereits bei 10.) gefunden und gelöscht worden sein.

13.) In diesem Registryzweig (12.) die Werte für die Dateien aus 3.)/4.) kontrollieren. Bei mir waren hier HEX 0x00000008 eingetragen. Auf der funktionierenden Maschine hatten diese aber den HEX-Wert 0x00000003 ! Jeden Eintrag also doppelklicken und als Wert 3 eingeben.

14.) registry verlassen, Kiste neu starten, Installation versuchen.

 

Hat bei mir funktioniert.

Ist zwar etwas länger geworden, aber es ging nicht kürzer. Große Fehler bedürfen langwieriger Lösungen ;)

 

Wenn's geholfen hat, mal posten.

Thomas

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...