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

Repair-Installation: set SRCDIR


5 replies to this topic

danielh

danielh
  • Full Members
  • 4 posts

Posted 04 September 2014 - 08:47

Hallo,

 

das Setup, welches ich entwickel, enthält auch die Repair-Funktion. Diese Funktion kann auch per Programs&Features aus der Windows Systemsteuerung aufgerufen werden. Einer der ersten Schritte, welche ich als CustomAction ausführe ist es zu prüfen, ob das setup von der original Installations-CD aufgerufen wurde oder per Programs&Features:

function BOOL CheckAndSetSetupSource()
STRING szCurrentSrcDir, szVersionFileName, szVersionFilePathAndName;
NUMBER nRet;
BOOL bRet;
begin	
	szCurrentSrcDir = SRCDIR;
	
	//Check if the Versionfile is in the current directory
	szVersionFileName = "__Version_" + IFX_PRODUCT_VERSION;
	szVersionFilePathAndName = szCurrentSrcDir ^ szVersionFileName;
	
	
	if(Is(FILE_EXISTS, szVersionFilePathAndName) == TRUE) then
		bRet = TRUE;
	else
		//Setup was NOT started from the original Disk
		nRet = EnterDisk(@IDS_MSG_ENTER_DISK + " (" + IFX_PRODUCT_VERSION + ")",  szVersionFileName);
		if(nRet < 0) then
			bRet = FALSE;
		else
			bRet = TRUE;
		endif; 
	endif;
	
	VarSave(SRCTARGETDIR);
return bRet;
end;

Wenn nun 3rdParty Tools isntalliert werden  (zumBeispiel SRCDIR ^ "3rdPartySetupRepair.exe") dann wird der neue gewählte Pfad verwendet.

 

Wenn nun aber die ersten Files aus data2.cab repariert / neu kopiert werden sollen, so fragt IS wieder nach dem Pfad/CD, an welchem sich die Datei data2.cab befindet. Als vorausgefüllter Pfad ist der Pfad aus der Erstinstallation eingetragen (registry).

 

Wie kann ich diese zweite Abfrage verhindern? Welche IS Variable wird denn für FeatureTransfere verwendet?

 

Viele Grüße

Daniel



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 04 September 2014 - 15:56

Ich verstehe ide Frage nicht. Ist das SRCDIR bereits richtig gesetzt oder möchtest du das SRCDIR setzen?



danielh

danielh
  • Full Members
  • 4 posts

Posted 05 September 2014 - 06:19

Hallo,

 

doch SRCDIR wird in dieser Funktion neu gesetzt. In einer Logausgabe wird auch der neue Pfad angezeigt. Auch ein Aufruf von zum Beispiel SRCDIR ^ "MeineExe.exe" funktioniert ohne Probleme in einer CustomAction. Wenn ich nun allerdings FeatureTransfereData() aufrufe, dann kommt wieder die Meldung, dass man die CD mit der Datei data2.cab einlegen soll. Dieser Dialog ist mit dem alten Pfad (aus der Erstinstallation) vorausgefüllt.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 September 2014 - 15:33

Welchen Projektyp verwendest du? "InstallScript" (da gibt es keine Custom Actions) oder "InstallScript MSI"?



danielh

danielh
  • Full Members
  • 4 posts

Posted 15 September 2014 - 06:48

Hallo,

ja ich verwende InstallScript. Sorry dann habe ich mich wohl mit der Naming-Convention vertan. Ich meine eine eigene function() innerhalb des InstallScrips, welche zu Beginn des setups aufgerufen wird.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 September 2014 - 17:49

Okay, danke für die Klarstellung.

Überprüfe und/oder setze das Verzeichnis do noch einmal kurz vor dem Kopiervorgang, z.B. in OnMoving. Evtl. macht irgendjemand ein VarRestore?