Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

MinorUpgrade sucht MSI-Paket auf der CD-Root


3 replies to this topic

MegDino

MegDino
  • Full Members
  • 47 posts

Posted 21 November 2008 - 20:32

Hallo zusammen,

ich habe schon einige Hinweise zum Grund der Meldung "Bitte legen sie den Datenträger ein: 1" gelesen. Man weißt darauf hin, dass der VolumeLabel Eintrag in der Tabelle "Media" mit dem Label der CD übereinstimmen muss. Diese Einträge waren aber alle schon recht alt und scheinen auch nicht auf jedes Problem zuzutreffen.

Ich erhalte diese Meldung, wenn ich ein MSI-Paket über MsiInstallProduct installieren möchte. Parameter sind "REINSTALL=ALL REINSTALLMODE=vomus".
Nach vielem Testen habe ich herausgefunden, dass alles Fehlerfrei läuft, wenn das MSI-Paket direkt in der Root der CD liegt, also zum Beispiel "D:\produkt.msi". Liegt es in einem Unterverzeichnis auf der CD, z.B. "D:\Insallation\produkt.msi" startet die Installation zwar, bringt aber beim "Kopieren neuer Dateien" etwa ab der Mitte des Fortschittbalkens die besagte Meldung.

Im Log ist zu erkennen, dass er zur Verifizierung bestimmter Dateien das MSI-Paket in der Root sucht, und zwar nacheinander in allen Verfügbaren CD-Laufwerken. Der Installer weiß wohl noch, dass von CD gestartet wurd und wie das MSI-Paket heißt, aber nicht mehr wo es liegt, obwohl weiter oben im Log korrekt steht, wo das Original Paket liegt.

Langsam gehen mir nun die Ideen aus, hab schon 20 CDs hier rumliegen und weiß nicht mehr, wohin ich noch gucken soll. Das MSI-Paket in die Root der CD zu packen, ist für unsere Produkt-CDs ein absolutes No-Go!

Hat noch irgendwer eine Idee, wie man hier vorgehen könnte???

Schon mal vielen Dank voraus. Hoffe er ist berechtigt ;-

LG Micha

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 November 2008 - 14:49

Die msi-Datei (dauerhaft) auf die Festplatte kopieren und das Setup von dort starten.

MegDino

MegDino
  • Full Members
  • 47 posts

Posted 25 November 2008 - 13:19

Hallo,

die Sache mit der lokalen Kopie der MSI-Datei haben wir auch in Betracht gezogen, wobei wir dann das komplette Setup hätten kopieren müssen. Das war uns in Anbetracht alter Rechner und kleinen Festplatten bei unseren Kunden nicht die beste Lösung.

Doch ich bin nun schlauer: Laut Microsoft muss der Pfad auf das Package explizit angegeben werden, wenn es bei CDs nicht in der Root, sondern in einem Unterverzeichnis liegt.
Hierfür gibt es die Properties "MEDIAPACKAGEPATH" bzw. die Installer Methode MsiSourceListAddSource. Analog zur MSI-function gibt es auch noch das Property "SOURCELIST".

Die Doku zu all diesen Möglichkeiten ist denkbar schlecht und wiederspricht sich teilweise sogar. Mein MEDIAPACKAGEPATH-Angabe tauchte zwar im Log auf, wurde aber nicht verwendet. MsiSourceListAddSource lieferte immer nur Fehlercode 87 (invalid parameter), egal was ich übergeben habe, und folglich klappte auch die Verwendung von SOURCELIST nicht.

Der Installer schreibt den Pfad zum MediaPackage in die Registry und auf diesen Wert greift er erneut zu, wenn ein Upgrade gemacht wird. Da meine Erstinstallation von einem Netzlaufwerk gestartet wurde und das Upgrade von CD, hatte ich somit ein Problem, weil der Pfad in der Registry fehlte. Ich habe ihn nun in meinem Bootstrapper direkt eingetragen.
Jetzt geht es!

Der Fehler tritt wie gesagt nur auf, wenn der Pfad zur MSI-Datei zwischen Erstinstallation und Upgrade unterschiedlich ist und zumindest das Upgrade von CD gestartet wird.

Soweit zur Info! Wünsche noch fröhlisches Setupbauen ;-)
Micha

MegDino

MegDino
  • Full Members
  • 47 posts

Posted 25 November 2008 - 13:24

Ach.. hier noch der RegistryKey, den ich gesetzt habe:

HKEY_CLASSES_ROOT\Installer\Products\<CompressesProductCode>\SourceList\Media

-> dort den String eingetragen: "MediaPackage" Wert: "\PfadZurMsi\"