--- a/ApplicationDefinition.st Thu Sep 14 21:26:56 2006 +0200
+++ b/ApplicationDefinition.st Thu Sep 14 21:50:52 2006 +0200
@@ -193,11 +193,19 @@
"
#('abbrev.stc' #'generate_abbrev_dot_stc')
#('bmake.bat' #'generate_bmake_dot_mak')
-"/ #('buildDate.h' #'generate_buildDate_dot_h') -- done by nt.mak
- )
+ ) , (Array
+ with:
+ (Array
+ with:self rcFilename
+ with:#'generate_packageName_dot_rc')
+ with:
+ (Array
+ with:self nsiFilename
+ with:#'generate_packageName_dot_nsi')
+ ).
"Created: / 14-09-2006 / 14:36:00 / cg"
- "Modified: / 14-09-2006 / 17:51:10 / cg"
+ "Modified: / 14-09-2006 / 21:03:08 / cg"
!
generateFile:filename
@@ -341,14 +349,14 @@
REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS)
-ALL:: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) $(REQUIRED_SUPPORT_DIRS)
+ALL:: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) $(REQUIRED_SUPPORT_DIRS) setup
setup: install_%(APPLICATION).exe
# This uses the Nullsoft Installer Package and works in Windows only
install_%(APPLICATION).exe: $(PROJECT) %(APPLICATION).nsi
- makensis %(APPLICATION).nsi
+ $(MAKENSIS) %(APPLICATION).nsi
new:
bmake clean
@@ -435,7 +443,7 @@
^ def.
- "Modified: / 14-09-2006 / 18:10:02 / cg"
+ "Modified: / 14-09-2006 / 21:48:47 / cg"
!
nt_dot_mak_resource_rules
@@ -533,6 +541,216 @@
"Modified: / 14-09-2006 / 20:50:08 / cg"
!
+packageName_dot_nsi
+ "the template code for the <appname>.nsi file"
+
+^
+'; $','Header','$
+; Script generated by ProjectDefinition.
+
+!!define PRODUCT_NAME "%(PRODUCT_NAME)"
+!!define PRODUCT_VERSION "%(PRODUCT_VERSION)"
+!!define PRODUCT_PUBLISHER "%(PRODUCT_PUBLISHER)eXept Software AG"
+!!define PRODUCT_WEB_SITE "http://www.expecco.de"
+!!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+
+!!define STX_ROOT "%(TOP)\.."
+
+SetCompressor lzma
+
+
+; MUI 1.67 compatible ------
+!!include "MUI.nsh"
+
+; MUI Settings
+
+!!define MUI_ABORTWARNING
+; !!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
+!!define MUI_ICON "dapasx.ico"
+;!!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
+!!define MUI_UNICON "dapasx.ico"
+
+; Language Selection Dialog Settings
+!!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
+
+; Welcome page
+!!insertmacro MUI_PAGE_WELCOME
+; License page
+!!define MUI_LICENSEPAGE_CHECKBOX
+
+!!insertmacro MUI_PAGE_LICENSE $(license)
+!!insertmacro MUI_PAGE_COMPONENTS
+; Directory page
+!!insertmacro MUI_PAGE_DIRECTORY
+; Instfiles page
+!!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!!insertmacro MUI_UNPAGE_INSTFILES
+
+; Language files
+!!insertmacro MUI_LANGUAGE "English"
+!!insertmacro MUI_LANGUAGE "German"
+
+; MUI end ------
+
+;LicenseLangString license ${LANG_ENGLISH} "..\doc\demo_licence_en.txt"
+;LicenseLangString license ${LANG_GERMAN} "..\doc\demo_licence_de.txt"
+
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+VIProductVersion "${PRODUCT_VERSION}.0"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "%(FILE_VERSION)"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "%(LEGAL_COPYRIGHT)"
+
+
+OutFile "%(PRODUCT_NAME)Setup.exe"
+InstallDir "%(PRODUCT_INSTALLDIR)"
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+ !!insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+InstType Full
+InstType Partial
+
+Section "Programme" Section1
+ SectionIn 1 2
+ SetOutPath "$INSTDIR\bin"
+ SetOverwrite ifnewer
+ File "*.dll"
+ File "%(APPLICATION).exe"
+ File "symbols.stc"
+ File "modules.stx"
+ File /r "resources"
+ File "keyboard.rc"
+
+; File "${STX_ROOT}\stx\projects\smalltalk\patches"
+; File /r "${STX_ROOT}\stx\projects\smalltalk\include"
+ File /r "${STX_ROOT}\stx\*.rs"
+ File /r "${STX_ROOT}\bosch\dapasx\*.rs"
+ File /x CVS "${STX_ROOT}\stx\libview\styles\*"
+
+; WriteRegStr HKCR ".xprg" "" "%(MODULE_KEY).%(PRODUCT_NAME).1"
+ WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1" "" "%(PRODUCT_NAME) File"
+ WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\DefaultIcon" "" ''$INSTDIR\bin\%(APPLICATION).exe,0''
+ WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\Shell\open" "" $(appOpen)
+ WriteRegStr HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1\Shell\open\command" "" ''"$INSTDIR\bin\%(APPLICATION).exe" -- "%1"''
+SectionEnd
+
+Section "Online-Documentation" Section2
+ SectionIn 1
+ SetOutPath "$INSTDIR\doc"
+ SetOverwrite ifnewer
+; File /r /x CVS "${STX_ROOT}\bosch\dapasx\doc\*"
+SectionEnd
+
+Section "DapasX Libraries and Demos" Section3
+ SectionIn 1
+ SetOutPath "$INSTDIR\lib"
+ SetOverwrite ifnewer
+; File /r /x CVS /x "*.sav" "..\projects\examples" "..\projects\libraries"
+SectionEnd
+
+Section "DapasX Reports and Printing" Section4
+ SectionIn 1
+ SetOutPath "$INSTDIR\reportGenerator"
+ SetOverwrite ifnewer
+; File /r /x CVS "..\reportGenerator\java" "..\reportGenerator\rules" "..\reportGenerator\*.xml" "..\reportGenerator\*.xslt" "..\reportGenerator\CloseApp.exe" "..\reportGenerator\eXpecco.jpg"
+SectionEnd
+
+Section -AdditionalIcons
+ SetOutPath "$INSTDIR"
+ WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+ CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
+ CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\%(APPLICATION).lnk" "$INSTDIR\bin\%(APPLICATION)"
+ CreateShortCut "$DESKTOP\%(APPLICATION).lnk" "$INSTDIR\bin\%(APPLICATION)"
+ CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
+ CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+LangString dapasxOpen ${LANG_GERMAN} "Mit %(PRODUCT_NAME) öffnen"
+LangString dapasxOpen ${LANG_ENGLISH} "Open with %(PRODUCT_NAME)"
+
+LangString DESC_Section1 ${LANG_ENGLISH} "Program components of %(PRODUCT_NAME)"
+LangString DESC_Section1 ${LANG_GERMAN} "Alle Programmkomponenten von %(PRODUCT_NAME)"
+LangString DESC_Section2 ${LANG_ENGLISH} "Online-Documentation of %(PRODUCT_NAME)"
+LangString DESC_Section2 ${LANG_GERMAN} "Online-Dokumentation zu %(PRODUCT_NAME)"
+LangString DESC_Section3 ${LANG_ENGLISH} "Libraries and Demo Projects"
+LangString DESC_Section3 ${LANG_GERMAN} "Bibliotheken und Beispielprojekte"
+LangString DESC_Section4 ${LANG_ENGLISH} "Logfile Printing and Report Generation"
+LangString DESC_Section4 ${LANG_GERMAN} "Drucken und Report-Generierung aus Log-Dateien"
+
+
+!!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
+ !!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
+ !!insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3)
+ !!insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4)
+!!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+
+Function un.onUninstSuccess
+ HideWindow
+ MessageBox MB_ICONINFORMATION|MB_OK "%(PRODUCT_NAME) wurde erfolgreich deinstalliert"
+FunctionEnd
+
+Function un.onInit
+!!insertmacro MUI_UNGETLANGUAGE
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie %(PRODUCT_NAME) und alle seinen Komponenten deinstallieren?" IDYES +2
+ Abort
+FunctionEnd
+
+Section Uninstall
+ Delete "$INSTDIR\${PRODUCT_NAME}.url"
+ Delete "$INSTDIR\uninst.exe"
+ Delete "$INSTDIR\*"
+
+ Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk"
+ Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk"
+ Delete "$SMPROGRAMS\${PRODUCT_NAME}\%(APPLICATION).lnk"
+ Delete "$DESKTOP\%(APPLICATION).lnk"
+
+ RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
+ RMDir /r "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKCR "%(MODULE_KEY).%(PRODUCT_NAME).1"
+; DeleteRegKey HKCR ".xprg"
+
+ SetAutoClose true
+SectionEnd
+'
+ "
+ bosch_dapasx_application packageName_dot_nsi
+ bosch_dapasx_application generateFile:'dapasx.nsi'
+ "
+
+ "Modified: / 09-08-2006 / 15:10:57 / fm"
+ "Created: / 14-09-2006 / 21:09:18 / cg"
+!
+
packageName_dot_rc
"the template code for the <appname>.rc file"
@@ -1054,5 +1272,5 @@
!ApplicationDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.33 2006-09-14 18:49:13 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ApplicationDefinition.st,v 1.34 2006-09-14 19:50:52 cg Exp $'
! !