|Version 15 (modified by 11 years ago) ( diff ),|
Blueprint for Windows Installer
We want to make the Windows installation simpler than the current one.
We want to allow an Emergency Management field worker to download a single executable which installs everything necessary even without Admin rights.
This means providing an option for which folder to install in (default to
c:\program files\sahana eden).
Inside this folder have:
- Web2Py binary inc Python
- Python dependencies:
- "making a new binary distro with an updated file is as easy as unpacking and replacing the pyc file in the library.zip file"
- lxml: http://codespeak.net/lxml/
- Shapely: http://pypi.python.org/packages/any/S/Shapely/
- xlwt: http://pypi.python.org/pypi/xlwt
- Better Internationalisation support for Sqlite: http://groups.google.com/group/web2py/browse_thread/thread/a98973adb0225649
Shortcut should be created on Desktop & Start Menu (cutomisable to turn off) which runs app:
- start service, if installed but not started
- start app if no service installed
- load Portable Firefox onto start page: http://localhost:8000/eden
If Admin rights are available, then provide the option (default) to install Service & start Service at boot.
- Developer version should also include the contents of http://eden.sahanafoundation.org/Sahana-Eden.zip
- Developer version should also add an Icon on the Start menu/Desktop for Eclipse
- Clean the Eden folder (databases/errors/sessions)
- rename it as 'init'
- Zip-up folder contents
!include "MUI.nsh" !define MUI_ICON "c:\bin\web2py\applications\eden\static\favicon.ico" !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Section "install" ;Add files SetOutPath "$INSTDIR" ;create desktop shortcut CreateShortCut "$DESKTOP\Sahana Eden.lnk" "$INSTDIR\web2py.exe" "" ;create start-menu shortcut CreateShortCut "$SMPROGRAMS\Sahana Eden.lnk" "$INSTDIR\web2py.exe" SectionEnd
- use NSIS'
zip2exe.exeto convert to an .exe
Script which can run Web2Py after installing any necessary dependencies into Source Python: