summaryrefslogtreecommitdiff
path: root/setup.nsi
diff options
context:
space:
mode:
authorced <>2007-06-05 13:05:35 +0000
committerced <>2007-06-05 13:05:35 +0000
commited2c8b7cbb54ca631b0b4430d8783ee413f02fbb (patch)
tree333a07b520e1eaf001dc808273a28989b1a24a85 /setup.nsi
parentc8ffed812a44d25fa2c5e2e5863c121da4b854cd (diff)
KERNEL: add new win32 build script
bzr revid: ced-46d2945759645b49f61adf4274093766670dc123
Diffstat (limited to 'setup.nsi')
-rw-r--r--setup.nsi213
1 files changed, 213 insertions, 0 deletions
diff --git a/setup.nsi b/setup.nsi
new file mode 100644
index 00000000000..c15b48cda72
--- /dev/null
+++ b/setup.nsi
@@ -0,0 +1,213 @@
+;NSIS Modern User Interface
+;Start Menu Folder Selection Example Script
+;Written by Joost Verburg
+
+;--------------------------------
+;Include Modern UI
+
+ !include "MUI.nsh"
+
+;--------------------------------
+;General
+
+ ;Name and file
+ Name "TinyERP Server"
+ OutFile "tinyerp-server-setup.exe"
+
+ ;Default installation folder
+ InstallDir "$PROGRAMFILES\TinyERP Server"
+
+ ;Get installation folder from registry if available
+ InstallDirRegKey HKCU "Software\TinyERP Server" ""
+
+ ;Vista redirects $SMPROGRAMS to all users without this
+ RequestExecutionLevel admin
+
+;--------------------------------
+;Variables
+
+ Var MUI_TEMP
+ Var STARTMENU_FOLDER
+
+;--------------------------------
+;Interface Settings
+
+ !define MUI_ABORTWARNING
+
+;--------------------------------
+;Pages
+
+ !insertmacro MUI_PAGE_WELCOME
+ !insertmacro MUI_PAGE_LICENSE "doc\\License.rtf"
+ # !insertmacro MUI_PAGE_COMPONENTS
+ !insertmacro MUI_PAGE_DIRECTORY
+
+ ;Start Menu Folder Page Configuration
+ !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+ !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\TinyERP Server"
+ !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "TinyERP Server"
+
+ !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+
+ !insertmacro MUI_PAGE_INSTFILES
+
+ !define MUI_FINISHPAGE_NOAUTOCLOSE
+ !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+ !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\README.txt
+ !insertmacro MUI_PAGE_FINISH
+
+
+ !insertmacro MUI_UNPAGE_WELCOME
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+ !insertmacro MUI_LANGUAGE "English"
+
+;--------------------------------
+;Installer Sections
+
+Section "TinyERP Server" SecTinyERPServer
+
+ SetOutPath "$INSTDIR"
+
+ ;ADD YOUR OWN FILES HERE...
+ File /r "dist\\*"
+
+ ;Store installation folder
+ WriteRegStr HKCU "Software\TinyERP Server" "" $INSTDIR
+
+ ;Create uninstaller
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+ ;Create shortcuts
+ CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\TinyERP Server.lnk" "$INSTDIR\tinyerp-server.exe"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+;Descriptions
+
+ ;Language strings
+ LangString DESC_SecTinyERPServer ${LANG_ENGLISH} "TinyERP Server."
+
+ ;Assign language strings to sections
+ !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTinyERPServer} $(DESC_SecTinyERPServer)
+ !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+ ;ADD YOUR OWN FILES HERE...
+ Delete "$INSTDIR\Uninstall.exe"
+ Push "$INSTDIR\addons"
+ Push ""
+ Call un.RmFilesButOne
+ Delete "$INSTDIR\*"
+ Delete "$INSTDIR\Uninstall.exe"
+
+ Push "$INSTDIR\addons"
+ Push ""
+ Call un.RmDirsButOne
+ RMDir "$INSTDIR\addons"
+ RMDir "$INSTDIR"
+
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+ Delete "$SMPROGRAMS\$MUI_TEMP\TinyERP Server.lnk"
+ Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+
+ ;Delete empty start menu parent diretories
+ StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+ startMenuDeleteLoop:
+ ClearErrors
+ RMDir $MUI_TEMP
+ GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+ IfErrors startMenuDeleteLoopDone
+
+ StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
+ startMenuDeleteLoopDone:
+
+ DeleteRegKey /ifempty HKCU "Software\TinyERP Server"
+
+SectionEnd
+
+Function un.RmDirsButOne
+ Exch $R0 ; exclude dir
+ Exch
+ Exch $R1 ; route dir
+ Push $R2
+ Push $R3
+
+ FindFirst $R3 $R2 "$R1\*.*"
+ IfErrors Exit
+
+ Top:
+ StrCmp $R2 "." Next
+ StrCmp $R2 ".." Next
+ StrCmp $R2 $R0 Next
+ IfFileExists "$R1\$R2\*.*" 0 Next
+ RmDir /r "$R1\$R2"
+
+ #Goto Exit ;uncomment this to stop it being recursive
+
+ Next:
+ ClearErrors
+ FindNext $R3 $R2
+ IfErrors Exit
+ Goto Top
+
+ Exit:
+ FindClose $R3
+
+ Pop $R3
+ Pop $R2
+ Pop $R1
+ Pop $R0
+FunctionEnd
+
+Function un.RmFilesButOne
+ Exch $R0 ; exclude file
+ Exch
+ Exch $R1 ; route dir
+ Push $R2
+ Push $R3
+
+ FindFirst $R3 $R2 "$R1\*.*"
+ IfErrors Exit
+
+ Top:
+ StrCmp $R2 "." Next
+ StrCmp $R2 ".." Next
+ StrCmp $R2 $R0 Next
+ IfFileExists "$R1\$R2\*.*" Next
+ Delete "$R1\$R2"
+
+ #Goto Exit ;uncomment this to stop it being recursive
+
+ Next:
+ ClearErrors
+ FindNext $R3 $R2
+ IfErrors Exit
+ Goto Top
+
+ Exit:
+ FindClose $R3
+
+ Pop $R3
+ Pop $R2
+ Pop $R1
+ Pop $R0
+FunctionEnd