0

Ich bin InstallShield Entwickler und vor kurzem ein seltsames Szenario auf meinem Client-Computer aufgetreten, in dem die InstallShield-Anwendung unseres Kunden auf Hauptaktualisierung geht, während ich versuche Mach eine neue Installation. Details sind wie folgt:InstallShield erstellte Anwendung geht während der Neuinstallation auf Hauptaktualisierung, während vorherige Version auf dem Computer nicht vorhanden ist

  1. Ich habe versucht, meine Anwendung zu installieren, die über InstallShield entwickelt wurde. Es wurde die vorherige Version auf dem Zielcomputer erkannt und es wurde ein großes Upgrade-Szenario ausgeführt, aber das Upgrade ist fehlgeschlagen, da auf meinem Computer keine frühere Version vorhanden ist.

  2. überprüfte ich die ausführlichen Protokolle und den Wert von „IS_MAJOR_UPGRADE“ gesetzt ist „Ja“

  3. Ich habe Programme hinzufügen/entfernen, aber kein Eintrag gefunden werden. Ich überprüfte auch den uninstall-Stock des Registrierungs-Editors, aber das enthielt auch keinen Eintrag meines Produkts (irgendwelche seiner vorherigen Version)

  4. Ich überprüfte für alle Binärdateien, die über mein Produkt installiert werden, und löschte sie manuell aus die Maschine (Registrierung und Dateien), aber es geht immer noch auf ein Upgrade.

  5. Ich überprüft den Speicherort "C: \ Windows \ Installer" für alle MSI bezogen auf mein Produkt, aber keine dort gefunden.

  6. Ich habe in "C: \ Windows \ Downloaded Installations" nach der zwischengespeicherten MSI gesucht und sie auch dort gelöscht, aber dann erkennt auch mein Produkt die vorherige Version auf dem Rechner.

Jeder kann das helfen, was die mögliche Ursache sein kann für seine die MSI-Eigenschaft „IS_MAJOR_UPGRADE“ = „Ja“ einstellen, wie ich mich die möglichen Standorte alle auf meiner Maschine zu meinem Produkt, wo alles im Zusammenhang konnte gesucht gefunden werden, aber es ist immer noch die vorherige Version Details von irgendwo abholen?

Antwort

0

Vyom,

Ihre Log-Datei sollte die uninstallcode erkennen, dass es für die Aktualisierung identifiziert. Die lange und kurze ist, dass es eine Art von Registry-Restposten für dieses Produkt gibt. Wenn die Protokolldatei die uninstall-GUID enthält, versuchen Sie in Ihrer gesamten Registrierung nach dieser GUID zu suchen, insbesondere dann, wenn Ihre Anwendung benutzerspezifische Installationen unterstützt.

+0

Danke für die Antwort Daniel. – Vyom

+0

Nein, die Anwendung unterstützt keine Benutzerinstallationen. Es führt pro Maschineninstallationen durch. Die Deinstallationszeichenfolge für die Anwendung war nirgends in den Registries zu sehen.Die Protokolldatei enthielt nur die heruntergeladene Installationsanleitung. Ich habe den Ordner, der zwischengespeicherte MSI enthält, manuell gelöscht, es ging immer noch auf ein Upgrade-Szenario. – Vyom

0

Sie haben alle Orte überprüft, mit Ausnahme der, auf die es ankommt. Ein MSI kann sein zwischengespeichertes MSI löschen, das spielt keine Rolle. Ein MSI kann die Eigenschaft ARPSYSTEMCOMPONENT verwenden, um keinen Eintrag in ARP zu platzieren. Es ist egal. Sie können das Installationsverzeichnis löschen. Es .... (finde ich werde aufhören).

MSI verfolgt seine Statusdaten unter HKCR \ Installer \ Products mit etwas namens Darwin Deskriptoren.

http://druss.co/2013/10/darwin-descriptor-guid-converter/

Ihre installieren Start und bei der Begrüßung Dialog abzubrechen. Sehen Sie sich nun Ihr ausführliches Protokoll an und zeigen Sie, was FindRelatedProducts meldet. Es wird Ihnen den Namen des Produktcodes mitteilen, den es findet. Sie können dann ein Programm schreiben, um MSI abzufragen, um Informationen zu diesem Produkt zu erhalten oder den Darwin-Deskriptor zu berechnen und in der Registrierung nachzuschlagen.

+0

Danke Christopher, das weiß ich nicht. Lass mich das auch versuchen. – Vyom

Verwandte Themen