/installer/camelbox_build_tester.nsi

https://code.google.com/p/camelbox/ · text · 121 lines · 108 code · 13 blank · 0 comment · 0 complexity · 96ee40caac98953af7ee54a0fe987ceb MD5 · raw file

  1. #==========================================================================
  2. #
  3. # TYPE: NSIS Installer Source File
  4. #
  5. # NAME: camelbox.nsi
  6. #
  7. # AUTHOR: $LastChangedBy: elspicyjack $
  8. # DATE: $LastChangedDate: 2008-07-30 09:39:57 -0700 (Wed, 30 Jul 2008) $
  9. #
  10. # COMMENT: $Id: camelbox_builder.nsi 406 2008-07-30 16:39:57Z elspicyjack $
  11. #
  12. # The NSIS manual is located at http://nsis.sourceforge.net/Docs. Parameters
  13. # used below should have the appropriate section number from the NSIS manual
  14. # listed somewhere nearby in the comments.
  15. #
  16. # Simple tutorials: http://nsis.sourceforge.net/Simple_tutorials
  17. #
  18. # For support with this file, please visit the Camelbox mailing list at
  19. # http://groups.google.com/group/camelbox
  20. #==========================================================================
  21. # Copyright (c)2008 by Brian Manning <elspicyjack at gmail dot com>
  22. #
  23. # This program is free software; you can redistribute it and/or modify
  24. # it under the terms of the GNU General Public License as published by
  25. # the Free Software Foundation; either version 1, or (at your option)
  26. # any later version.
  27. #
  28. # This program is distributed in the hope that it will be useful,
  29. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  30. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  31. # GNU General Public License for more details.
  32. #
  33. # You should have received a copy of the GNU General Public License
  34. # along with this program; if not, write to the Free Software Foundation,
  35. # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
  36. #==========================================================================
  37. # TODO
  38. # - put the examples back into the -dev packages? This would prevent the user
  39. # from running demos that they don't have libraries for
  40. # - the installer adds the Camelbox distro to the user's path; maybe make
  41. # it a choice to add it systemwide instead?
  42. # - unless you can figure out how to change the Perl paths during the
  43. # install, you need to not give the user the option on where to install
  44. # Camelbox; if they put it someplace funky, it will not work; it still may not
  45. # work if the new path has spaces in it
  46. # - once you are able to get the distro to install in the directory chosen by
  47. # the user, you'll have to find some way to save the uninstall path, meaning
  48. # the path that needs to be removed
  49. # - at the end of the install, offer the user the option of viewing the
  50. # UsageInstructions wiki page on the web?
  51. # - add a Camelbox folder to the Start menu, with Windows shortcuts to the zsh
  52. # shell, all of the demos as run through wperl.exe, and maybe the docs and
  53. # whatnot
  54. # - maybe add a shortcut to zsh on the desktop/quicklaunch bar, if zsh is
  55. # installed
  56. # - a copy of perl shell for shits and giggles?
  57. # - the byte sizes shown in AddSize are the archive file sizes, not the
  58. # unpacked archive sizes; this is really what should be shown
  59. #### DEFINES ####
  60. # Section 5.4.1 of the NSIS manual describes !define
  61. # The strftime strings for this next !define are here:
  62. # http://msdn2.microsoft.com/en-us/library/fe06s4ak.aspx
  63. !define /utcdate RELEASE_VERSION "%Y.%j.%H%MZ-odin"
  64. # define some macros for use later on
  65. !define CAPTION_TEXT "Camelbox ${RELEASE_VERSION}"
  66. !define INSTALLER_BASE "C:\temp\camelbox-svn\installer"
  67. !define LICENSE_FILE "${INSTALLER_BASE}\License\License.txt"
  68. !define MAIN_ICON "${INSTALLER_BASE}\Icons\camelbox-logo.ico"
  69. !define BASE_URL "http://camelbox.googlecode.com/files"
  70. !define INSTALL_PATH "C:\camelbox"
  71. !define SHORTCUT_INI "${INSTALLER_BASE}\shortcuts.ini"
  72. OutFile "C:\temp\camelbox_build_tester-${RELEASE_VERSION}.exe" # 4.8.1.31
  73. #### NSIS OPTIONS ####
  74. # compiler flags
  75. SetCompressor /SOLID lzma # 4.8.2.4
  76. SetDatablockOptimize ON # 4.8.2.6
  77. # set up the installer attributes
  78. AutoCloseWindow FALSE # 4.8.1.3
  79. CRCCheck ON # 4.8.1.12
  80. InstallColors /WINDOWS # 4.8.1.20
  81. ShowInstDetails SHOW # 4.8.1.34
  82. SilentInstall NORMAL # 4.8.1.36
  83. # now set up the installer dialog box, from top top bottom 4.8.1.18
  84. Icon "${MAIN_ICON}"
  85. # caption for this dialog, shown in titlebar 4.8.1.7
  86. Caption "${CAPTION_TEXT}"
  87. # shown at the bottom of this dialog 4.8.1.6
  88. BrandingText "Thanks to Milo for the installer!"
  89. #BrandingText "http://code.google.com/p/camelbox/"
  90. # name of this project 4.8.1.30
  91. Name "${CAPTION_TEXT}"
  92. LicenseBkColor /windows
  93. LicenseText "${CAPTION_TEXT}" # 4.8.1.28
  94. LicenseData "${LICENSE_FILE}" # 4.8.1.26
  95. InstallDir "${INSTALL_PATH}"
  96. #### EXTERNAL FUNCTION SCRIPTS ####
  97. !include "nsDialogs.nsh"
  98. !include "camelbox_functions.nsh" # functions used by all scripts
  99. !include "camelbox_shortcuts.nsh" # functions used by all scripts
  100. #### PAGES ####
  101. #Page Directory
  102. #Page custom ShortcutsAndReadme
  103. Page custom ShortcutsDialog
  104. #UninstPage uninstConfirm
  105. #UninstPage RemoveShortcutsAndReadme
  106. Section # dummy section to keep NSIS happy
  107. SectionEnd
  108. # vim: filetype=nsis paste