none
MSI Installer (repair) startet automatisch RRS feed

  • Frage

  • Hallo,

    ich schlage mich jetzt schon etwas länger mit einem Problem herum, das ich nicht selber lösen kann.

    Windows Server 2016 konfiguriert als Termialserver. Es sind 2 Programme installiert, die untereinander kommuniziere. Sobald ich in Programm 'A' in die Einstellungen wechsel, öffnet sich ein MSI installer und versucht Programm 'B' zu reparieren.
    Laut Eventviewer taucht der Fehler mit ID 1001 auf: 
    'Erkennung von Produkt "{xxx}" und Feature "OleInterface" fehlgeschlagen beiem Anfordern der Komponente "{yyy}".

    Ich habe nun schon mehrfach versucht das System neu aufzusetzen. Durch mehrmalige Neuinstallation habe ich es kurzfristig 'geschafft' dass der MSI Installer nicht getriggert wird. Letzendlich taucht der Installer aber immer wieder auf.
    Die Installation der Programme erfolgte immer im Installationsmodus (ohne change user /install tauchte das gleiche Problem auf).

    Was mich verwundert: OleInterface wird laut Bedienungsanleitung in meiner Konstellation nicht verwendet, ist aber als Komponente des Programms 'B' bekannt. 

    Vom Hersteller erhalte ich leider keinen Support, so dass ich auf eigene Fehlersuche angewiesen bin. Vorher liefen die gleichen Programme auf Windows Server 2008R2 ohne dass der MSI Installer auftauchte.

    Hat hier jemand schon einmal mit ähnlichen Problemen gekämpft? Mir würde es auch reichen diese Anforderung 'unsichtbar' zu machen, ohne ggf das eigentliche Problem zu beheben.

    Danke,
    Jan


    • Bearbeitet jkreutzer Sonntag, 23. Juni 2019 17:09
    Sonntag, 23. Juni 2019 17:08

Antworten

  • Ja immer, denn es ist keine Lösung.

    Dann prüfe vor und nach der Installation diese DLL (falls es die Einzige ist), ob es da Versionsunterschiede gibt (Nummer/Länge).
    Irgendwas ist an der DLL faul und sollte vom Hersteller/Lieferanten korrigiert oder ein anderer Installationsort gewählt werden.

    Ansonsten musst du da halt mit leben.

    • Als Antwort markiert jkreutzer Montag, 24. Juni 2019 17:18
    Montag, 24. Juni 2019 17:11

Alle Antworten

  • Das Problem tritt meist bei inkompatibller Installation auf.
    Auf einen TS kann es keine Per/User-Installation geben, da eine Software nur einmal installiert werden darf.

    Diese muss unter Admin grundsätzlich für "Alle User" installiert sein.
    Hinzu kommt, dass auch alle möglichen Komponenten installiert werden müssen.
    Dazu kommen dann auch die Programme, die halt mit benutzt werden können.

    OLE (Object Link and Embed) ist ein Standard, um z.B. ein Excel in ein Word einzubetten.
    Diese wird auch häufig mit Bildern so gemacht. Dann reicht z.B. ein Doppelklick, um in den Bearbeitungsmodus zu kommen.

    Merkt also beim Einbetten Windows eine Abweichung der installierten Komponente, wird der, der Anwendung zugeordnete Installer mit seiner Reparaturfunktion aufgerufen.
    Auf einem Standalonesystem ist das letztlich egal und nur lästig.
    Auf einem TS kommt es dabei auber zu massiven gegenseitigen Behinderungen nebst u.U. fehlenden Admin-Berechtigungen.

    Wichtig wäre also folgendes:
    Der MSI-Installer welcher Anwendung wird da aufgerufen?
    Diese Anwendung noch mal sauber deinstallieren und mit Allem per AllUsers neu installieren.

    Montag, 24. Juni 2019 07:55
  • Es wird der MSI-Installer der Applikation 'B' aufgerufen, sobald ich in Applikation 'A' in die Optionen wechsel. Beide Programme sind zu Windows 2016 und TS kompatibel.

    Wie genau erfolgt die Installation per AllUsers? Ich habe die Installation auf dem lokalen Administratorkonto mit Installationsmodus ausgeführt, während der Installation konnte ich nicht AllUser / einen expliziten User auswählen.

    Montag, 24. Juni 2019 08:49
  • Das deutet auf jeden Fall auf gemeinsame Ressourcen der beiden Applikationen hin, deren Basiskomponenten aber unterschiedliche aber inkompatible Versionen benötigen.
    Die meisten Komponenten werden nämlich durchaus in der System32 bzw. bei 32-Bit in die SysWOW64 installiert.
    Der Name der DLL enthält hierbei ggf. keine Versionsnummer wie z.B. bei den C++-Runtimes.
    Somit ersetzt die eine Komponante die Andere.

    In diesem Fall mal mit dem Hersteller der Anwendungen A/B kontakt aufnehmen wegen Inkompatibilität.
    Benötigte DLL's kann man auch ins Anwednungsverzeichnis installieren.

    Da gibts übrigens ein schönes Tool (Orca), mit dem man sich die Komponenten eines MSI's ansehen und dann eben abgleichen kann.

    Montag, 24. Juni 2019 14:14
  • Ich habe mir jetzt mal vom MSI Installer die Komponenten angeschaut, die bei der Installation von Programm 'B' installiert werden:

    Features: OleInterface

    Components: appname.OleInterface.dll

    Files:

    appname.OleInterfaces.dll [SystemFolder] appname.OleInterfaces.dll

    Spricht etwas dagegen jedem TS User volle Zugriffsrechte auf den Windows Ordner zu geben? (Sicherheitsbedenken spielen bei uns keine Rolle)

    Montag, 24. Juni 2019 17:01
  • Ja immer, denn es ist keine Lösung.

    Dann prüfe vor und nach der Installation diese DLL (falls es die Einzige ist), ob es da Versionsunterschiede gibt (Nummer/Länge).
    Irgendwas ist an der DLL faul und sollte vom Hersteller/Lieferanten korrigiert oder ein anderer Installationsort gewählt werden.

    Ansonsten musst du da halt mit leben.

    • Als Antwort markiert jkreutzer Montag, 24. Juni 2019 17:18
    Montag, 24. Juni 2019 17:11