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