2009-10-30 6 views
5

Eines unserer MSIs hat mit Fehler 2902 begonnen. Es wird den größten Teil der Installation durchlaufen, ein Fehlerfeld öffnen und dann die Installation beenden. Wir haben seit der letzten funktionierenden Version keine größeren Änderungen am Installationsprogramm vorgenommen.Was kann Fehler 2902 bei der Installation eines MSI verursachen?

Lauf msiexec mit Protokollierung aktiviert gibt auf eine informative Nachricht:

Action 17:21:22: RegisterProduct. Registering product 
Error 2902: Operation ixoFileCopy called out of sequence 

Dies kommt unmittelbar nach dem "WriteRegistryValues" Abschnitt. Weiß jemand, was den Aufruf von ixoFileCopy verursacht? Ich nehme an, dass die Auflösung die Reihenfolge des "RegisterProduct" Schrittes ändern wird, aber ich bin nicht sicher, was es weitergehen soll.

Vielen Dank für jede Hilfe!

Antwort

2

Es stellt sich heraus, dass dies in unserem Fall geschieht aufgrund einer Datendatei zu bekommen groß für MSI ohne Chunking die Kabine zu handhaben. This thread erwähnt das Problem und eine mögliche Problemumgehung.

+0

Nur der Vollständigkeit halber, die ** ** Msi.chm (SDK-Dokumentation) heißt es in einer Bemerkung für den Fehlercode 2902: *“... dass die Installation von Win32-Baugruppen zeigen möglicherweise falsch verfasst wurde ein Win32 Side-. Neben-Komponente kann einen Schlüsselpfad benötigen. * " –

1

Ich hatte den gleichen Fehler.

Offenbar gab es Dateien fehlen oder beschädigt sind (Netzwerkfehler?). Das Problem wurde behoben, nachdem der gesamte Ordner erneut kopiert wurde.

1

Ich habe auch diesen Fehler zu sehen, wenn Komponenten mit leeren guids versehen sind.

z.B.

<Component Id="cmp_MyFailingComponent" Guid=""> 
    <File Id="f_myFile" 
    Assembly=".net" 
    Source="C:\Program Files\MyFile.dll" 
    KeyPath="yes"/> 
</Component> 
+0

Also, wenn ich googlen für ein Problem, das ich habe und auf meine eigene Antwort vor 3 Jahren kam, denke ich, bedeutet das, dass ich meine Murmeln verlieren ... (Seufzer...) –

0

Ich habe diesen Fehler gesehen, wenn einige Datenbankspaltenfelder länger als die Spaltenbreite sind.

ich ein MSI in ein Installshield-Projekt, machte ein paar Ergänzungen umgewandelt hatte, und ein neues MSI gebaut - es ohne Fehler aufgebaut. Installation fehlgeschlagen dann mit Fehler 2902.

Die Komponenten, die Komponentennamen versagt hatten mehr als die zulässigen 72 Zeichen. (Siehe Komponententabelle) Das ursprüngliche MSI funktionierte trotz der langen Namen gut, aber ich vermute, dass sie dazu führten, dass InstallShield das MSI irgendwie falsch erstellte. Nicht InstallShields Fehler, obwohl ich denke, dass es während des Builds einen Fehler ausgelöst haben sollte.

Verwandte Themen