SERVER: improve win32 installer
authorced <>
Tue, 12 Jun 2007 06:17:48 +0000 (06:17 +0000)
committerced <>
Tue, 12 Jun 2007 06:17:48 +0000 (06:17 +0000)
bzr revid: ced-ecbc91661cc1c28373db5d9769a4b36c4f23b79b

pixmaps/tinyerp-header.bmp [new file with mode: 0644]
pixmaps/tinyerp-intro.bmp [new file with mode: 0644]
pixmaps/tinyerp.ico [new file with mode: 0644]
setup.nsi [deleted file]
setup_py2exe.py [new file with mode: 0644]
setup_win32.py [deleted file]
tinyerp-icon.ico [deleted file]
tinyerp-server-installer.nsi [new file with mode: 0644]

diff --git a/pixmaps/tinyerp-header.bmp b/pixmaps/tinyerp-header.bmp
new file mode 100644 (file)
index 0000000..c22ca74
Binary files /dev/null and b/pixmaps/tinyerp-header.bmp differ
diff --git a/pixmaps/tinyerp-intro.bmp b/pixmaps/tinyerp-intro.bmp
new file mode 100644 (file)
index 0000000..efff657
Binary files /dev/null and b/pixmaps/tinyerp-intro.bmp differ
diff --git a/pixmaps/tinyerp.ico b/pixmaps/tinyerp.ico
new file mode 100644 (file)
index 0000000..cde3e96
Binary files /dev/null and b/pixmaps/tinyerp.ico differ
diff --git a/setup.nsi b/setup.nsi
deleted file mode 100644 (file)
index 756a3a1..0000000
--- a/setup.nsi
+++ /dev/null
@@ -1,246 +0,0 @@
-;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_RUN
-  !define MUI_FINISHPAGE_RUN_CHECKED
-  !define MUI_FINISHPAGE_RUN_TEXT "Start TinyERP Server"
-  !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
-  !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
-
-  nsExec::Exec "net stop tinyerp-service"
-  sleep 2
-
-  SetOutPath "$INSTDIR"
-  
-  ;ADD YOUR OWN FILES HERE...
-  File /r "dist\\*"
-
-  SetOutPath "$INSTDIR\service"
-  File /r "win32\\dist\\*"
-  File "win32\\start.bat"
-  File "win32\\stop.bat"
-
-  ;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"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Start service.lnk" "$INSTDIR\service\start.bat"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Stop service.lnk" "$INSTDIR\service\stop.bat"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Edit config.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.conf"
-    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\View log.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.log"
-  
-  !insertmacro MUI_STARTMENU_WRITE_END
-
-  nsExec::Exec '"$INSTDIR\\tinyerp-server.exe" --stop-after-init --logfile "$INSTDIR\\tinyerp-server.log" -s'
-  nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -auto -install'
-
-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"
-
-  nsExec::Exec "net stop tinyerp-service"
-  sleep 2
-  nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -remove'
-  sleep 2
-
-  ;ADD YOUR OWN FILES HERE...
-  Delete "$INSTDIR\Uninstall.exe"
-  Push "$INSTDIR\addons"
-  Push ""
-  Call un.RmFilesButOne
-  Delete "$INSTDIR\service\*"
-  Delete "$INSTDIR\*"
-  Delete "$INSTDIR\Uninstall.exe"
-
-  Push "$INSTDIR\addons"
-  Push ""
-  Call un.RmDirsButOne
-  RMDir "$INSTDIR\addons"
-  RMDir "$INSTDIR\service"
-  RMDir "$INSTDIR"
-  
-  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-    
-  Delete "$SMPROGRAMS\$MUI_TEMP\TinyERP Server.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Start service.lnk"
-  Delete "$SMPROGRAMS\$MUI_TEMP\Stop service.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 LaunchLink
-  nsExec::Exec "net start tinyerp-service"
-FunctionEnd
-
-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
diff --git a/setup_py2exe.py b/setup_py2exe.py
new file mode 100644 (file)
index 0000000..46deeb4
--- /dev/null
@@ -0,0 +1,30 @@
+from distutils.core import setup\r
+import py2exe\r
+import glob\r
+import os\r
+import sys\r
+import itertools\r
+\r
+sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), "bin"))\r
+\r
+options = {"py2exe": {"compressed": 0,\r
+                                               "optimize": 2,\r
+                                               "packages": ["encodings","mx.DateTime","wizard","pychart","PIL", "pyparsing", "pydot"],\r
+                                               "excludes" : ["Tkconstants","Tkinter","tcl"],\r
+                                               }}\r
+\r
+data_files = []\r
+\r
+os.chdir('bin')\r
+for (dp,dn,names) in os.walk('addons', 'i18n'):\r
+       if '.svn' in dn:\r
+               dn.remove('.svn')\r
+       data_files.append((dp, map(lambda x: os.path.join('bin', dp,x), names)))\r
+os.chdir('..')\r
+\r
+setup(\r
+       name="tinyerp-server",\r
+       console = [{"script":"bin\\tinyerp-server.py", "icon_resources":[(1,"pixmaps\\tinyerp.ico")]}],\r
+       data_files = data_files,\r
+       options = options\r
+       )\r
diff --git a/setup_win32.py b/setup_win32.py
deleted file mode 100644 (file)
index 223a9dd..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-from distutils.core import setup\r
-import py2exe\r
-import glob\r
-import os\r
-import sys\r
-import itertools\r
-\r
-sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), "bin"))\r
-\r
-options = {"py2exe": {"compressed": 0,\r
-                                               "optimize": 2,\r
-                                               "packages": ["encodings","mx.DateTime","wizard","pychart","PIL", "pyparsing", "pydot"],\r
-                                               "excludes" : ["Tkconstants","Tkinter","tcl"],\r
-                                               }}\r
-\r
-data_files = []\r
-\r
-os.chdir('bin')\r
-for (dp,dn,names) in os.walk('addons', 'i18n'):\r
-       if '.svn' in dn:\r
-               dn.remove('.svn')\r
-       data_files.append((dp, map(lambda x: os.path.join('bin', dp,x), names)))\r
-os.chdir('..')\r
-\r
-setup(\r
-       name="tinyerp-server",\r
-       console = [{"script":"bin\\tinyerp-server.py", "icon_resources":[(1,"tinyerp-icon.ico")]}],\r
-       data_files = data_files,\r
-       options = options\r
-       )\r
diff --git a/tinyerp-icon.ico b/tinyerp-icon.ico
deleted file mode 100644 (file)
index cde3e96..0000000
Binary files a/tinyerp-icon.ico and /dev/null differ
diff --git a/tinyerp-server-installer.nsi b/tinyerp-server-installer.nsi
new file mode 100644 (file)
index 0000000..ce03240
--- /dev/null
@@ -0,0 +1,252 @@
+;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
+
+  !define MUI_ICON ".\pixmaps\tinyerp.ico"
+  !define MUI_UNICON ".\pixmaps\tinyerp.ico"
+  !define MUI_WELCOMEFINISHPAGE_BITMAP ".\pixmaps\tinyerp-intro.bmp"
+  !define MUI_HEADERIMAGE
+  !define MUI_HEADERIMAGE_BITMAP ".\pixmaps\tinyerp-header.bmp"
+
+  !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_RUN
+  !define MUI_FINISHPAGE_RUN_CHECKED
+  !define MUI_FINISHPAGE_RUN_TEXT "Start TinyERP Server"
+  !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
+  !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
+
+  nsExec::Exec "net stop tinyerp-service"
+  sleep 2
+
+  SetOutPath "$INSTDIR"
+  
+  ;ADD YOUR OWN FILES HERE...
+  File /r "dist\\*"
+
+  SetOutPath "$INSTDIR\service"
+  File /r "win32\\dist\\*"
+  File "win32\\start.bat"
+  File "win32\\stop.bat"
+
+  ;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"
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Start service.lnk" "$INSTDIR\service\start.bat"
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Stop service.lnk" "$INSTDIR\service\stop.bat"
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Edit config.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.conf"
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\View log.lnk" "notepad.exe" "$INSTDIR\tinyerp-server.log"
+  
+  !insertmacro MUI_STARTMENU_WRITE_END
+
+  nsExec::Exec '"$INSTDIR\\tinyerp-server.exe" --stop-after-init --logfile "$INSTDIR\\tinyerp-server.log" -s'
+  nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -auto -install'
+
+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"
+
+  nsExec::Exec "net stop tinyerp-service"
+  sleep 2
+  nsExec::Exec '"$INSTDIR\\service\\TinyERPServerService.exe" -remove'
+  sleep 2
+
+  ;ADD YOUR OWN FILES HERE...
+  Delete "$INSTDIR\Uninstall.exe"
+  Push "$INSTDIR\addons"
+  Push ""
+  Call un.RmFilesButOne
+  Delete "$INSTDIR\service\*"
+  Delete "$INSTDIR\*"
+  Delete "$INSTDIR\Uninstall.exe"
+
+  Push "$INSTDIR\addons"
+  Push ""
+  Call un.RmDirsButOne
+  RMDir "$INSTDIR\addons"
+  RMDir "$INSTDIR\service"
+  RMDir "$INSTDIR"
+  
+  !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+    
+  Delete "$SMPROGRAMS\$MUI_TEMP\TinyERP Server.lnk"
+  Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+  Delete "$SMPROGRAMS\$MUI_TEMP\Start service.lnk"
+  Delete "$SMPROGRAMS\$MUI_TEMP\Stop service.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 LaunchLink
+  nsExec::Exec "net start tinyerp-service"
+FunctionEnd
+
+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