Hallo,
ich habe derzeit ein Problem mit einem Upgrade, bei dem ich einfach nicht weiterkomme. Für eine neue Version haben wir ein MajorUpgrade erstellt, bisher eine Sache die auch Problemlos funktioniert hat. Im aktuellen Fall schreiben wir auch Werte unter HKCU, in einen neuen Registry Key. Die Registry Werte für HKCU stehen in einer neuen Komponente die es in der vorherigen Version nicht gab und in welcher nur diese Registry Werte enthalten sind.
Bei der Installation als Upgrade kommt es nun zu zwei verschiedenen Ergebnissen.
Der 1. Fall:
Die Installation erfolgt per Kommandozeile (mit Parameter für die Logdatei) durch einen angemeldeten Administrator - in diesem Fall werden die Registry Werte unter HKCU geschrieben. (Silent mode wurde auch ausprobiert)
Der 2. Fall:
Die Installation erfolgt über einen Dienst im System Context - In diesem Fall werden die Registry Werte nicht geschrieben.
Ich habe daraufhin die Log-Dateien angesehen, welche in beiden Fällen mit Erfolg ("Installation completed successfully") endeten. Im zweiten Fall folgt hierauf noch ein Block mit mehreren "Post-install cleanup" Meldungen, was schon einmal ein erster Unterschied ist den ich mir nicht erklären kann.
Ein weiterer Unterschied liegt in der Ablauffolge beim schreiben der Registry Keys.
Im 1. Fall:
MSI (s) (90:C4) [10:59:07:974]: Executing op: RegOpenKey(Root=-2147483647,Key=Software\Pisoftware\Abacus\Manufacturer\Abacus IEEE\Settings,,BinaryType=0)
MSI (s) (90:C4) [10:59:07:974]: Executing op: RegAddValue(Name=ClearBCGSettings,Value=#1,)
WriteRegistryValues: Key: \Software\Pisoftware\Abacus\Manufacturer\Abacus IEEE\Settings, Name: ClearBCGSettings, Value: #1
Im 2. Fall:
MSI (s) (E4:3C) [11:07:14:046]: Executing op: RegOpenKey(Root=-2147483647,Key=Software\Pisoftware\Abacus\Manufacturer\Abacus IEEE\Settings,,BinaryType=0)
MSI (s) (E4:3C) [11:07:14:046]: Executing op: RegAddValue(Name=ClearBCGSettings,Value=#1,)
Die Meldung "WriteRegistryValues" erfolgt im 2. Fall also nicht, was dazu passt, dass diese Werte in der Registry nicht zu finden sind.
Für Hinweise, warum hier ein unterschiedliches Verhalten vorliegt und/oder wie man dies verhindern kann, wäre ich Dankbar.
Gruß
Florian