| 1 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 2 | // FILE: Tolbase.nsi.generate.tol
|
|---|
| 3 | // Genera el archivo de creación del instalador de tolbase
|
|---|
| 4 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 5 |
|
|---|
| 6 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 7 | Text tolbase.nsi.create(Text name, Real isFile)
|
|---|
| 8 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 9 | {
|
|---|
| 10 | Text nameWin = Replace(name,"/","\\");
|
|---|
| 11 | Text txt = If(isFile,
|
|---|
| 12 | {
|
|---|
| 13 | " File \""+nameWin+"\"\n"
|
|---|
| 14 | },
|
|---|
| 15 | {
|
|---|
| 16 | Text aux = " SetOutPath \""+nameWin+"\"\n";
|
|---|
| 17 | Replace(aux,"..\\ActiveTOL","$INSTDIR")
|
|---|
| 18 | });
|
|---|
| 19 | txt
|
|---|
| 20 | };
|
|---|
| 21 |
|
|---|
| 22 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 23 | Text tolbase.nsi.delete(Text name, Real isFile)
|
|---|
| 24 | //////////////////////////////////////////////////////////////////////////////
|
|---|
| 25 | {
|
|---|
| 26 | Text nameWin = Replace(name,"/","\\");
|
|---|
| 27 | Text aux = If(isFile,
|
|---|
| 28 | {
|
|---|
| 29 | " Delete \""+nameWin+"\"\n"
|
|---|
| 30 | },
|
|---|
| 31 | {
|
|---|
| 32 | " RmDir \""+nameWin+"\"\n"
|
|---|
| 33 | });
|
|---|
| 34 | Replace(aux,"..\\ActiveTOL","$INSTDIR")
|
|---|
| 35 | };
|
|---|
| 36 |
|
|---|
| 37 |
|
|---|
| 38 | Real OSFilRemove("../ActiveTOL/bin/stdlib/last_tol_release_check.tol");
|
|---|
| 39 |
|
|---|
| 40 | Text CreateDirAndFiles = SetSum(RecDir.DoWithTree
|
|---|
| 41 | (
|
|---|
| 42 | tolbase.nsi.create,
|
|---|
| 43 | "../ActiveTOL",
|
|---|
| 44 | "*", //Se procesan todos los ficheros
|
|---|
| 45 | false,
|
|---|
| 46 | 2, //Los ficheros se procesan en segundo lugar
|
|---|
| 47 | 1, //Los directorios se procesan en primer lugar
|
|---|
| 48 | 3, //Primero entra recursivamente en los directorios
|
|---|
| 49 | 0 //No muestra trazas
|
|---|
| 50 | ));
|
|---|
| 51 |
|
|---|
| 52 | Text DeleteDirAndFiles = SetSum(RecDir.DoWithTree
|
|---|
| 53 | (
|
|---|
| 54 | tolbase.nsi.delete,
|
|---|
| 55 | "../ActiveTOL",
|
|---|
| 56 | "*", false, //Se procesan todos los ficheros
|
|---|
| 57 | 3, //Los ficheros se procesan en tercer lugar
|
|---|
| 58 | 2, //Los directorios se procesan en segundo lugar
|
|---|
| 59 | 1, //Primero entra recursivamente en los directorios
|
|---|
| 60 | 0 //No muestra trazas
|
|---|
| 61 | ));
|
|---|
| 62 |
|
|---|
| 63 | Text Tolbase.nsi.template = ReadFile("Tolbase.nsi.template");
|
|---|
| 64 |
|
|---|
| 65 | Text release =
|
|---|
| 66 | {
|
|---|
| 67 | Set aux = Tokenizer(Version," ");
|
|---|
| 68 | aux[1]+" "+aux[2]
|
|---|
| 69 | };
|
|---|
| 70 |
|
|---|
| 71 | Text version =
|
|---|
| 72 | {
|
|---|
| 73 | Set aux = Tokenizer(Version," ");
|
|---|
| 74 | aux[1]
|
|---|
| 75 | };
|
|---|
| 76 |
|
|---|
| 77 | Text Tolbase.nsi = ReplaceTable(Tolbase.nsi.template,
|
|---|
| 78 | [[
|
|---|
| 79 | [["##APP_VERSION##",version]],
|
|---|
| 80 | [["##APP_RELEASE##",release]],
|
|---|
| 81 | [["##CreateDirAndFiles##",CreateDirAndFiles]],
|
|---|
| 82 | [["##DeleteDirAndFiles##",DeleteDirAndFiles]]
|
|---|
| 83 | ]]);
|
|---|
| 84 |
|
|---|
| 85 | Text WriteFile("Tolbase.nsi", Tolbase.nsi);
|
|---|
| 86 |
|
|---|
| 87 | /* */
|
|---|