Hallo
In einem MajorUpgrade wird bei mir eine (gleiche) Komponente (mit unterschiedlicher ComponentId), nach der DeInstallation über RemoveExistingProducts nicht wieder neu installiert, wenn RemoveExistingProducts nach Installvalidate und vor InstallInitialize eingeordnet ist. Schon CostFinalize wird dann mit folgendem Resultat ausgewiesen:
Disallowing installation of component: {E5DF42C9-76EA-49D4-ACC5-BD25206AEE95} since the same component with higher versioned keyfile exists
(obwohl diese KomponentenGUID im ersten Packet nicht existiert, die gepackte Form dieser GUID in der Registry auch nicht registriert ist und die entsprechend korrespondierende Datei im alten und im neuen Packet unversioniert mit gleichem Zeitstempel vorliegt)
und InstallValidate meldet:
Component: Comp297; Installed: Absent; Request: Local; Action: Null
(obwohl keine Condition gesetzt ist, welche eine Installation unterbinden und eine 'Action: Null' erklären könnte)
Ordne ich hingegen die Action RemoveExistingProducts vor dem FileCosting, bzw. vor CostInitialize an, so installiert mir der MajorUpgrade nach erfolgreicher DeInstallation diese Datei korrekt. Bei der Datei handelt es sich um einen Truetypefont, welcher normal als File kopiert wird. Es handelt sich um eine einzelne von 500 Komponenten. Warum sich gerade für diese und nur für diese Datei dieses merkwürdige Verhalten zeigt, kann ich auch nicht erklären.
Weiss jemand warum?
hier ist's ok:
RemoveExistingProducts
CostInitialize
ResolveSource
FileCost
CostFinalize
SetODBCFolders
InstallValidate
InstallInitalize
hier entsteht Fehler:
CostInitialize
ResolveSource
FileCost
CostFinalize
SetODBCFolders
InstallValidate
RemoveExistingProducts
InstallInitalize
Edited by Oebi02, 16 October 2006 - 11:42.