Author: kkolinko
Date: Sat Nov 13 23:39:57 2010
New Revision: 1034911
URL: http://svn.apache.org/viewvc?rev=1034911&view=rev
Log:
Reimplemented the Windows installer GUI using nsDialogs and MUI2 libraries,
instead of deprecated InstallOptions.
The *.ini files are no more used. All is specified in the nsi script.
Migration was straightforward, except for a DirRequest field
(the field on the JVM selection page that displays path to JRE):
I had to create the Browse button explicitly and implement an OnClick handler.
It is not spelled in the docs, but is discussed a lot on forums.
Other improvements:
- Added a textfield to display/edit the roles for the user that we add to
tomcat-user.xml
- The roles are calculated depending on what webapps are installed (manager,
host-manager, or both).
- I do not display "username", "password", "roles" fields when neither manager
nor host-manager are selected. In the previous version we showed them as
disabled. Now I do not show them on screen.
- Implemented creating Windows Shortcuts for the Manager, Host Manager apps and
Documentation. There was implementation for that already (Manager and Docs
shortcut only), but it was not working: it used IfFileExist check that always
evaluated to false, because shortcuts were created before those files were
installed.
- Added support for the '/?' command line option. It displays a message box
with some short text about the /S and /D options. See .onInit function in
tomcat.nsi for details.
- Using LogicLib.nsh for logic. I hope that the script became more easily
readable.
Removed:
tomcat/trunk/res/config.ini
tomcat/trunk/res/jvm.ini
Modified:
tomcat/trunk/res/tomcat.nsi
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/res/tomcat.nsi
URL:
http://svn.apache.org/viewvc/tomcat/trunk/res/tomcat.nsi?rev=1034911&r1=1034910&r2=1034911&view=diff
==============================================================================
--- tomcat/trunk/res/tomcat.nsi (original)
+++ tomcat/trunk/res/tomcat.nsi Sat Nov 13 23:39:57 2010
@@ -33,15 +33,30 @@
VIAddVersionKey InternalName "apache-tomc...@[email protected]"
VIProductVersion @VERSION_NUMBER@
-!include "MUI.nsh"
+!include "MUI2.nsh"
+!include "nsDialogs.nsh"
!include "StrFunc.nsh"
+!include "LogicLib.nsh"
+!include "FileFunc.nsh"
${StrRep}
- Var "JavaHome"
- Var "JavaExe"
- Var "JvmDll"
- Var "Arch"
- Var "ResetInstDir"
+Var JavaHome
+Var JavaExe
+Var JvmDll
+Var Arch
+Var ResetInstDir
+Var TomcatPort
+Var TomcatAdminEnable
+Var TomcatAdminUsername
+Var TomcatAdminPassword
+Var TomcatAdminRoles
+
+; Variables that store handles of dialog controls
+Var CtlJavaHome
+Var CtlTomcatPort
+Var CtlTomcatAdminUsername
+Var CtlTomcatAdminPassword
+Var CtlTomcatAdminRoles
;--------------------------------
;Configuration
@@ -57,9 +72,6 @@ ${StrRep}
!define MUI_ABORTWARNING
- !define TEMP1 $R0
- !define TEMP2 $R1
-
!define MUI_ICON tomcat.ico
!define MUI_UNICON tomcat.ico
@@ -75,12 +87,21 @@ ${StrRep}
LangString TEXT_CONF_SUBTITLE ${LANG_ENGLISH} "Tomcat basic configuration."
LangString TEXT_CONF_PAGETITLE ${LANG_ENGLISH} ": Configuration Options"
+ LangString TEXT_JVM_LABEL1 ${LANG_ENGLISH} "Please select the path of a Java
SE 6.0 or later JRE installed on your system."
+ LangString TEXT_CONF_LABEL_PORT ${LANG_ENGLISH} "HTTP/1.1 Connector Port"
+ LangString TEXT_CONF_LABEL_ADMIN ${LANG_ENGLISH} "Tomcat Administrator Login
(optional)"
+ LangString TEXT_CONF_LABEL_ADMINUSERNAME ${LANG_ENGLISH} "User Name"
+ LangString TEXT_CONF_LABEL_ADMINPASSWORD ${LANG_ENGLISH} "Password"
+ LangString TEXT_CONF_LABEL_ADMINROLES ${LANG_ENGLISH} "Roles"
+
;Install Page order
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE INSTALLLICENSE
+ ; Use custom onLeave function with COMPONENTS page
+ !define MUI_PAGE_CUSTOMFUNCTION_LEAVE pageComponentsLeave
!insertmacro MUI_PAGE_COMPONENTS
- Page custom SetConfiguration Void "$(TEXT_CONF_PAGETITLE)"
- Page custom SetChooseJVM checkJava "$(TEXT_JVM_PAGETITLE)"
+ Page custom pageConfiguration pageConfigurationLeave "$(TEXT_CONF_PAGETITLE)"
+ Page custom pageChooseJVM pageChooseJVMLeave "$(TEXT_JVM_PAGETITLE)"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
Page custom CheckUserType
@@ -116,9 +137,8 @@ ${StrRep}
; Main registry key
InstallDirRegKey HKLM "SOFTWARE\Apache Software
foundation\tomc...@version_major_minor@" ""
- !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
- ReserveFile "jvm.ini"
- ReserveFile "config.ini"
+ ReserveFile "${NSISDIR}\Plugins\System.dll"
+ ReserveFile "${NSISDIR}\Plugins\nsDialogs.dll"
;--------------------------------
;Installer Sections
@@ -220,50 +240,6 @@ SectionEnd
SubSectionEnd
-Section "Start Menu Items" SecMenu
-
- SectionIn 1 2 3
-
- SetOutPath "$SMPROGRAMS\Apache Tomcat @VERSION_MAJOR_MINOR@"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat Home
Page.lnk" \
- "http://tomcat.apache.org/"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\welcome.lnk"
\
- "http://127.0.0.1:$R0/"
-
- IfFileExists "$INSTDIR\webapps\manager" 0 NoManagerApp
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
Manager.lnk" \
- "http://127.0.0.1:$R0/manager/html"
-
-NoManagerApp:
-
- IfFileExists "$INSTDIR\webapps\webapps\tomcat-docs" 0 NoDocumentaion
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
Documentation.lnk" \
- "$INSTDIR\webapps\tomcat-docs\index.html"
-
-NoDocumentaion:
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\uninstall
Tomcat @[email protected]" \
- "$INSTDIR\Uninstall.exe"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
@VERSION_MAJOR_MINOR@ Program Directory.lnk" \
- "$INSTDIR"
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\monitor
Tomcat.lnk" \
- "$instdir\bin\tom...@[email protected]" \
- '//MS//tom...@version_major@' \
- "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
-
- CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\configure
Tomcat.lnk" \
- "$instdir\bin\tom...@[email protected]" \
- '//ES//tom...@version_major@' \
- "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
-
-SectionEnd
-
Section "Documentation" SecDocs
SectionIn 1 3
@@ -302,6 +278,57 @@ Section "Examples" SecExamples
SectionEnd
+Section "Start Menu Items" SecMenu
+
+ SectionIn 1 2 3
+
+ SetOutPath "$SMPROGRAMS\Apache Tomcat @VERSION_MAJOR_MINOR@"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat Home
Page.lnk" \
+ "http://tomcat.apache.org/"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\welcome.lnk"
\
+ "http://127.0.0.1:$TomcatPort/"
+
+ SectionGetFlags ${SecManager} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ ${If} $0 <> 0
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
Manager.lnk" \
+ "http://127.0.0.1:$TomcatPort/manager/html"
+ ${EndIf}
+
+ SectionGetFlags ${SecHostManager} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ ${If} $0 <> 0
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
Host Manager.lnk" \
+ "http://127.0.0.1:$TomcatPort/host-manager/html"
+ ${EndIf}
+
+ SectionGetFlags ${SecDocs} $0
+ IntOp $0 $0 & ${SF_SELECTED}
+ ${If} $0 <> 0
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
Documentation.lnk" \
+ "$INSTDIR\webapps\tomcat-docs\index.html"
+ ${EndIf}
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\uninstall
Tomcat @[email protected]" \
+ "$INSTDIR\Uninstall.exe"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\tomcat
@VERSION_MAJOR_MINOR@ Program Directory.lnk" \
+ "$INSTDIR"
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\monitor
Tomcat.lnk" \
+ "$instdir\bin\tom...@[email protected]" \
+ '//MS//tom...@version_major@' \
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
+
+ CreateShortCut "$SMPROGRAMS\Apache Tomcat @version_major_mi...@\configure
Tomcat.lnk" \
+ "$instdir\bin\tom...@[email protected]" \
+ '//ES//tom...@version_major@' \
+ "$INSTDIR\tomcat.ico" 0 SW_SHOWNORMAL
+
+SectionEnd
+
Section -post
FileWrite $R7 '"$instdir\bin\tom...@[email protected]"
//US//tom...@version_major@ --Classpath
"$INSTDIR\bin\bootstrap.jar;$INSTDIR\bin\tomcat-juli.jar" --StartClass
org.apache.catalina.startup.Bootstrap --StopClass
org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
--StartMode jvm --StopMode jvm'
FileWrite $R7 "$\r$\n"
@@ -327,62 +354,146 @@ Section -post
SectionEnd
Function .onInit
- StrCpy $ResetInstDir $INSTDIR
+ ${GetParameters} $R0
+ ClearErrors
+
+ ${GetOptions} "$R0" "/?" $R1
+ ${IfNot} ${Errors}
+ MessageBox MB_OK|MB_ICONINFORMATION 'Available options:$\r$\n\
+ /S - Silent install.$\r$\n\
+ /D=INSTDIR - Specify installation directory.'
+ Abort
+ ${EndIf}
+ ClearErrors
- ;Extract Install Options INI Files
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "jvm.ini"
+ StrCpy $ResetInstDir "$INSTDIR"
+
+ ;Initialize default values
+ StrCpy $JavaHome ""
+ StrCpy $TomcatPort "8080"
+ StrCpy $TomcatAdminEnable "0"
+ StrCpy $TomcatAdminUsername ""
+ StrCpy $TomcatAdminPassword ""
+ StrCpy $TomcatAdminRoles ""
FunctionEnd
-Function SetChooseJVM
+Function pageChooseJVM
!insertmacro MUI_HEADER_TEXT "$(TEXT_JVM_TITLE)" "$(TEXT_JVM_SUBTITLE)"
- Call findJavaHome
- Pop $3
- !insertmacro MUI_INSTALLOPTIONS_WRITE "jvm.ini" "Field 2" "State" $3
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "jvm.ini"
+ ${If} $JavaHome == ""
+ Call findJavaHome
+ Pop $JavaHome
+ ${EndIf}
+
+ nsDialogs::Create 1018
+ Pop $R0
+
+ ${NSD_CreateLabel} 0 5u 100% 25u "$(TEXT_JVM_LABEL1)"
+ Pop $R0
+ ${NSD_CreateDirRequest} 0 65u 280u 13u "$JavaHome"
+ Pop $CtlJavaHome
+ ${NSD_CreateBrowseButton} 282u 65u 15u 13u "..."
+ Pop $R0
+ ${NSD_OnClick} $R0 pageChooseJVM_onDirBrowse
+
+ ${NSD_SetFocus} $CtlJavaHome
+ nsDialogs::Show
+FunctionEnd
+
+; onClick function for button next to DirRequest control
+Function pageChooseJVM_onDirBrowse
+ ; R0 is HWND of the button, it is on top of the stack
+ Pop $R0
+
+ ${NSD_GetText} $CtlJavaHome $R1
+ nsDialogs::SelectFolderDialog "" "$R1"
+ Pop $R1
+
+ ${If} $R1 != "error"
+ ${NSD_SetText} $CtlJavaHome $R1
+ ${EndIf}
FunctionEnd
-Function SetConfiguration
- !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"
+Function pageChooseJVMLeave
+ ${NSD_GetText} $CtlJavaHome $JavaHome
+ ${If} $JavaHome == ""
+ Abort
+ ${EndIf}
+
+ Call checkJava
+FunctionEnd
+
+; onLeave function for the COMPONENTS page
+; It updates options based on what components were selected.
+;
+Function pageComponentsLeave
+ StrCpy $TomcatAdminEnable "0"
+ StrCpy $TomcatAdminRoles ""
SectionGetFlags ${SecManager} $0
IntOp $0 $0 & ${SF_SELECTED}
- IntCmp $0 0 0 Enable Enable
+ ${If} $0 <> 0
+ StrCpy $TomcatAdminEnable "1"
+ StrCpy $TomcatAdminRoles "manager-gui"
+ ${EndIf}
+
SectionGetFlags ${SecHostManager} $0
IntOp $0 $0 & ${SF_SELECTED}
- IntCmp $0 0 Disable 0 0
+ ${If} $0 <> 0
+ StrCpy $TomcatAdminEnable "1"
+ ${If} $TomcatAdminRoles != ""
+ StrCpy $TomcatAdminRoles "admin-gui,$TomcatAdminRoles"
+ ${Else}
+ StrCpy $TomcatAdminRoles "admin-gui"
+ ${EndIf}
+ ${EndIf}
+FunctionEnd
-Enable:
- ; Enable the user and password controls if the manager or host-manager app is
- ; being installed
- !insertmacro MUI_INSTALLOPTIONS_READ $0 "config.ini" "Field 5" "HWND"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 5" "Flags" ""
- EnableWindow $0 1
- !insertmacro MUI_INSTALLOPTIONS_READ $0 "config.ini" "Field 7" "HWND"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 7" "Flags" ""
- EnableWindow $0 1
- Goto Display
-
-Disable:
- ; Disable the user and password controls if neither the manager nor
- ; host-manager app is being installed
- !insertmacro MUI_INSTALLOPTIONS_READ $0 "config.ini" "Field 5" "HWND"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 5" "Flags"
"DISABLED"
- EnableWindow $0 0
- !insertmacro MUI_INSTALLOPTIONS_READ $0 "config.ini" "Field 7" "HWND"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 7" "Flags"
"DISABLED"
- EnableWindow $0 0
- ; Clear the values
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 5" "State" ""
- !insertmacro MUI_INSTALLOPTIONS_WRITE "config.ini" "Field 7" "State" ""
+Function pageConfiguration
+ !insertmacro MUI_HEADER_TEXT "$(TEXT_CONF_TITLE)" "$(TEXT_CONF_SUBTITLE)"
-Display:
- !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
+ nsDialogs::Create 1018
+ Pop $R0
-FunctionEnd
+ ${NSD_CreateLabel} 0 5u 100u 15u "$(TEXT_CONF_LABEL_PORT)"
+ Pop $R0
-Function Void
-FunctionEnd
+ ${NSD_CreateText} 150u 5u 50u 13u "$TomcatPort"
+ Pop $CtlTomcatPort
+ ${NSD_SetTextLimit} $CtlTomcatPort 5
+
+ ${If} $TomcatAdminEnable == "1"
+ ${NSD_CreateLabel} 0 30u 100% 15u "$(TEXT_CONF_LABEL_ADMIN)"
+ Pop $R0
+ ${NSD_CreateLabel} 10u 50u 140u 15u "$(TEXT_CONF_LABEL_ADMINUSERNAME)"
+ Pop $R0
+ ${NSD_CreateText} 150u 50u 110u 13u "$TomcatAdminUsername"
+ Pop $CtlTomcatAdminUsername
+ ${NSD_CreateLabel} 10u 70u 140u 15u "$(TEXT_CONF_LABEL_ADMINPASSWORD)"
+ Pop $R0
+ ${NSD_CreateText} 150u 70u 110u 13u "$TomcatAdminPassword"
+ Pop $CtlTomcatAdminPassword
+ ${NSD_CreateLabel} 10u 90u 140u 15u "$(TEXT_CONF_LABEL_ADMINROLES)"
+ Pop $R0
+ ${NSD_CreateText} 150u 90u 110u 13u "$TomcatAdminRoles"
+ Pop $CtlTomcatAdminRoles
+ ${EndIf}
+
+ ${NSD_SetFocus} $CtlTomcatPort
+ nsDialogs::Show
+FunctionEnd
+
+Function pageConfigurationLeave
+ ${NSD_GetText} $CtlTomcatPort $TomcatPort
+ ${If} $TomcatAdminEnable == "1"
+ ${NSD_GetText} $CtlTomcatAdminUsername $TomcatAdminUsername
+ ${NSD_GetText} $CtlTomcatAdminPassword $TomcatAdminPassword
+ ${NSD_GetText} $CtlTomcatAdminRoles $TomcatAdminRoles
+ ${EndIf}
+FunctionEnd
+
+; Not used
+;Function Void
+;FunctionEnd
;--------------------------------
;Descriptions
@@ -440,36 +551,32 @@ FunctionEnd
; 64-bit JVMs, also determines if it is x64 or ia64
Function checkJava
- IfSilent SilentFindJavaHome
- !insertmacro MUI_INSTALLOPTIONS_READ $5 "jvm.ini" "Field 2" "State"
- Goto TestJavaHome
-
- ; Silent install so try and find JavaHome from registry
-SilentFindJavaHome:
- Call findJavaHome
- Pop $5
-
-TestJavaHome:
- IfFileExists "$5\bin\java.exe" FoundJavaExe
- IfSilent +2
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$5"
- DetailPrint "No Java Virtual Machine found in folder:$\r$\n$5"
- Quit
-
-FoundJavaExe:
- StrCpy "$JavaHome" $5
- StrCpy "$JavaExe" "$5\bin\java.exe"
+ ${If} $JavaHome == ""
+ ; E.g. if a silent install
+ Call findJavaHome
+ Pop $JavaHome
+ ${EndIf}
+
+ ${If} $JavaHome == ""
+ ${OrIfNot} ${FileExists} "$JavaHome\bin\java.exe"
+ IfSilent +2
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$JavaHome"
+ DetailPrint "No Java Virtual Machine found in folder:$\r$\n$JavaHome"
+ Quit
+ ${EndIf}
+
+ StrCpy "$JavaExe" "$JavaHome\bin\java.exe"
; Need path to jvm.dll to configure the service - uses $JavaHome
Call findJVMPath
Pop $5
- StrCmp $5 "" 0 FoundJvmDll
- IfSilent +2
- MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$5"
- DetailPrint "No Java Virtual Machine found in folder:$\r$\n$5"
- Quit
+ ${If} $5 == ""
+ IfSilent +2
+ MessageBox MB_OK|MB_ICONSTOP "No Java Virtual Machine found in
folder:$\r$\n$5"
+ DetailPrint "No Java Virtual Machine found in folder:$\r$\n$5"
+ Quit
+ ${EndIf}
-FoundJvmDll:
StrCpy "$JvmDll" $5
; Read PE header of JvmDll to check for architecture
@@ -527,15 +634,16 @@ DonePEHeader:
DetailPrint 'Architecture: "$Arch"'
-SetInstallDir:
- StrCpy $INSTDIR $ResetInstDir
+ StrCpy $INSTDIR "$ResetInstDir"
; The default varies depending on 32-bit or 64-bit
- StrCmp $INSTDIR "" 0 +5
- StrCmp $Arch "x86" 0 +2
- StrCpy $INSTDIR "$PROGRAMFILES32\Apache Software Foundation\Tomcat
@VERSION_MAJOR_MINOR@"
- StrCmp $Arch "x86" +2 0
- StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat
@VERSION_MAJOR_MINOR@"
+ ${If} "$INSTDIR" == ""
+ ${If} $Arch == "x86"
+ StrCpy $INSTDIR "$PROGRAMFILES32\Apache Software Foundation\Tomcat
@VERSION_MAJOR_MINOR@"
+ ${Else}
+ StrCpy $INSTDIR "$PROGRAMFILES64\Apache Software Foundation\Tomcat
@VERSION_MAJOR_MINOR@"
+ ${EndIf}
+ ${EndIf}
FunctionEnd
@@ -632,38 +740,31 @@ FunctionEnd
; Configure Function
; ==================
;
-; Display the configuration dialog boxes, read the values entered by the user,
-; and build the configuration files
+; Writes server.xml and tomcat-users.xml
;
Function configure
-
- !insertmacro MUI_INSTALLOPTIONS_READ $R0 "config.ini" "Field 2" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R1 "config.ini" "Field 5" "State"
- !insertmacro MUI_INSTALLOPTIONS_READ $R2 "config.ini" "Field 7" "State"
-
- IfSilent 0 +2
- StrCpy $R0 '8080'
-
- StrCpy $R4 'port="$R0"'
+ StrCpy $R4 'port="$TomcatPort"'
StrCpy $R5 ''
- IfSilent Silent 0
-
- ; Escape XML
- Push $R1
- Call xmlEscape
- Pop $R1
- Push $R2
- Call xmlEscape
- Pop $R2
-
- StrCmp $R1 "" +4 0 ; Blank user - do not add anything to tomcat-users.xml
- StrCmp $R2 "" +3 0 ; Blank password - do not add anything to
tomcat-users.xml
- StrCpy $R5 '<user name="$R1" password="$R2" roles="admin-gui,manager-gui" />'
- DetailPrint 'Admin user added: "$R1"'
+ ${If} $TomcatAdminEnable == "1"
+ ${AndIf} "$TomcatAdminUsername" != ""
+ ${AndIf} "$TomcatAdminPassword" != ""
+ ${AndIf} "$TomcatAdminRoles" != ""
+ ; Escape XML
+ Push $TomcatAdminUsername
+ Call xmlEscape
+ Pop $R1
+ Push $TomcatAdminPassword
+ Call xmlEscape
+ Pop $R2
+ Push $TomcatAdminRoles
+ Call xmlEscape
+ Pop $R3
+ StrCpy $R5 '<user name="$R1" password="$R2" roles="$R3" />$\r$\n'
+ DetailPrint 'Admin user added: "$TomcatAdminUsername"'
+ ${EndIf}
-Silent:
- DetailPrint 'HTTP/1.1 Connector configured on port "$R0"'
+ DetailPrint 'HTTP/1.1 Connector configured on port "$TomcatPort"'
SetOutPath $TEMP
File /r confinstall
@@ -679,11 +780,9 @@ Silent:
Call copyFile
FileClose $R9
-
DetailPrint "server.xml written"
; Build final tomcat-users.xml
-
Delete "$INSTDIR\conf\tomcat-users.xml"
FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w
; File will be written using current windows codepage
@@ -700,7 +799,6 @@ Silent:
Call copyFile
FileClose $R9
-
DetailPrint "tomcat-users.xml written"
RMDir /r "$TEMP\confinstall"
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1034911&r1=1034910&r2=1034911&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Sat Nov 13 23:39:57 2010
@@ -257,6 +257,10 @@
directory when performing a silent install with the Windows installer
on
64-bit platforms. (markt)
</fix>
+ <update>
+ Reimplemented Windows installer dialogs, using modern libraries
+ (nsDialogs, MUI2). (kkolinko)
+ </update>
<add>
When installing with the Windows installer on 64-bit platforms, allow
the user to select either a 32-bit JDK or a 64-bit JDK. If a 32-bit JDK
@@ -264,6 +268,17 @@
be installed. If a 64-bit JDK is selected, the 64-bit service wrapper
and the 64-bit native DLL will be installed. (markt/kkolinko)
</add>
+ <add>
+ Create Windows shortcuts for the Manager and Host Manager webapps.
+ (kkolinko)
+ </add>
+ <add>
+ Support /? command line option in the Windows Installer. (kkolinko)
+ </add>
+ <add>
+ Display and allow to change roles for the Tomcat admin user in the
+ Windows installer. (kkolinko)
+ </add>
<fix>
<bug>49819</bug>: Redesign of home page by Pid (pidster at apache).
(timw)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]