Hallo!
Ich habe für ein Update ein Automatic Upgrade Item erstellt.
Von InstallShield wurde dann ein MajorUpdate erzeugt.
Nur leider bekommt dann der Benutzer die Dialoge der Erstinstallation incl. der Auswahl des Installationspfades zu sehen. Für meine Installation muss aber sichergestellt werden, das kein anderer Pfad (auch nicht der vordefinierte) als der der alten Version verwendet wird.
Nun habe ich aus der Registrierung den alten Pfad ausgelesen und wollte damit den vordefinierten Installationspfad überschreiben. Das funktioniert soweit auch ganz gut, aber trotzdem wird beim Kopieren in beide Verzeichnisse geschrieben.
Im Dialog CustomSetup wird auch immernoch der vordefinierte Pfad angezeigt, obwohl er ja vorher überschrieben wurde.
Was muss ich tun, damit das Update fehlerfrei in den alten Pfad kopiert wird?
Gruß
Chris.
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.
Major Update
Started by
pylon
, Nov 25 2003 14:22
1 reply to this topic
Posted 25 November 2003 - 14:22
CODE |
function UpdateDir(hMSI) STRING szUpdate, svUpdate; STRING szSubKey, szInstallLocation, svInstallLocationValue; NUMBER nvType, nResult, uiStat, nvSize; begin uiStat = MsiGetProperty (hMSI, "ISUPDATE", svUpdate, nvSize); if (svUpdate = "ja") then nvType = REGDB_STRING; RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); szSubKey = UNINSTALL_KEY ^ "{D633C1B1-0A7A-4507-8A17-F537F02C067A}"; szInstallLocation = "InstallLocation"; nResult = RegDBGetKeyValueEx (szSubKey, szInstallLocation, nvType, svInstallLocationValue, nvSize); if (nResult < 0) then abort; endif; endif; uiStat = MsiSetProperty (hMSI, "INSTALLDIR", svInstallLocationValue); uiStat = MsiSetProperty (hMSI, "TARGETDIR", svInstallLocationValue); end; |
Posted 01 December 2003 - 16:54
Hallo,
eine Pfad-Variable wir mit dem MSI-Befehle MsiSetTargetPath (und nicht mit MsiSetProperty) beschrieben.
Im Übrigen sollte TARGETDIR nicht verändert werden, da dies für eine administrative Installation benötigt wird.
Zusätzlich ist zu beachten, dass alle Zielpfade in der Directory-Tabelle von INSTALLDIR direkt oder indirekt abgeleitet sein müssen.
eine Pfad-Variable wir mit dem MSI-Befehle MsiSetTargetPath (und nicht mit MsiSetProperty) beschrieben.
Im Übrigen sollte TARGETDIR nicht verändert werden, da dies für eine administrative Installation benötigt wird.
Zusätzlich ist zu beachten, dass alle Zielpfade in der Directory-Tabelle von INSTALLDIR direkt oder indirekt abgeleitet sein müssen.
SD-Technologies GmbH
Macrovision Certified Training Partner.
More infomation at www.sd-technologies.de
Macrovision Certified Training Partner.
More infomation at www.sd-technologies.de