Author: kkolinko
Date: Sun Nov 14 02:05:56 2010
New Revision: 1034924

URL: http://svn.apache.org/viewvc?rev=1034924&view=rev
Log:
When installing on Windows,
do not leave undeleted stale files in $TEMP/src/res/confinstall/

The cause is that there are two confinstall folders in $dist: '/confinstall' 
and '/src/res/confinstall'
The 'File /r confinstall' directive was selecting both paths (like issues fixed 
in r611660),
but subsequent 'RMDir /r "$TEMP\confinstall"' removed only one of them.

New implementaion selects only one copy of the files, and places them into 
$PLUGINSDIR.

Also,
added DetailPrint statements for operations that take noticeable time
(file copying and spawning external programs).

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=1034924&r1=1034923&r2=1034924&view=diff
==============================================================================
--- tomcat/trunk/res/tomcat.nsi (original)
+++ tomcat/trunk/res/tomcat.nsi Sun Nov 14 02:05:56 2010
@@ -193,6 +193,7 @@ Section "Core" SecTomcatCore
   FileWrite $R7 "$\r$\n"
   
   ClearErrors
+  DetailPrint "Installing tom...@version_major@ service"
   nsExec::ExecToStack '"$instdir\bin\tom...@version_major@.exe" 
//IS//tom...@version_major@ --DisplayName "Apache Tomcat @VERSION_MAJOR@" 
--Description "Apache Tomcat @VERSION@ Server - http://tomcat.apache.org/"; 
--LogPath "$INSTDIR\logs" --Install "$instdir\bin\tom...@version_major@.exe" 
--Jvm "$JvmDll" --StartPath "$INSTDIR" --StopPath "$INSTDIR"'
   Pop $0
   Pop $1
@@ -213,6 +214,7 @@ Section "Service" SecTomcatService
 
   FileWrite $R7 '"$instdir\bin\tom...@version_major@.exe" 
//US//tom...@version_major@ --Startup auto'
   FileWrite $R7 "$\r$\n"
+  DetailPrint "Configuring tom...@version_major@ service"
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@.exe" 
//US//tom...@version_major@ --Startup auto'
   ; Behave like Apache Httpd (put the icon in tray on login)
   WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Run" 
"apachetomcatmoni...@version_major_minor@" 
'"$instdir\bin\tom...@version_major@w.exe" //MS//tom...@version_major@'
@@ -338,6 +340,7 @@ Section -post
   FileWrite $R7 "$\r$\n"
   FileClose $R7
 
+  DetailPrint "Configuring tom...@version_major@ service"
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@.exe" 
//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'
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@.exe" 
//US//tom...@version_major@ --JvmOptions 
"-Dcatalina.home=$INSTDIR#-Dcatalina.base=$INSTDIR#-Djava.endorsed.dirs=$INSTDIR\endorsed#-Djava.io.tmpdir=$INSTDIR\temp#-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager#-Djava.util.logging.config.file=$INSTDIR\conf\logging.properties"'
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@.exe" 
//US//tom...@version_major@ --StdOutput auto --StdError auto --PidFile 
tom...@version_major@.pid'
@@ -766,17 +769,24 @@ Function configure
 
   DetailPrint 'HTTP/1.1 Connector configured on port "$TomcatPort"'
 
-  SetOutPath $TEMP
-  File /r confinstall
+  ; Extract these fragments to $PLUGINSDIR. That is a temporary directory,
+  ; that is automatically deleted when the installer exits.
+  InitPluginsDir
+  SetOutPath $PLUGINSDIR
+  File confinstall\server_1.xml
+  File confinstall\server_2.xml
+  File confinstall\tomcat-users_1.xml
+  File confinstall\tomcat-users_2.xml
 
   ; Build final server.xml
   Delete "$INSTDIR\conf\server.xml"
+  DetailPrint "Writing server.xml"
   FileOpen $R9 "$INSTDIR\conf\server.xml" w
 
-  Push "$TEMP\confinstall\server_1.xml"
+  Push "$PLUGINSDIR\server_1.xml"
   Call copyFile
   FileWrite $R9 $R4
-  Push "$TEMP\confinstall\server_2.xml"
+  Push "$PLUGINSDIR\server_2.xml"
   Call copyFile
 
   FileClose $R9
@@ -784,6 +794,7 @@ Function configure
 
   ; Build final tomcat-users.xml
   Delete "$INSTDIR\conf\tomcat-users.xml"
+  DetailPrint "Writing tomcat-users.xml"
   FileOpen $R9 "$INSTDIR\conf\tomcat-users.xml" w
   ; File will be written using current windows codepage
   System::Call 'Kernel32::GetACP() i .r18'
@@ -792,17 +803,19 @@ Function configure
     FileWrite $R9 "<?xml version='1.0' encoding='ms$R8'?>$\r$\n"
     Goto +2
     FileWrite $R9 "<?xml version='1.0' encoding='cp$R8'?>$\r$\n"
-  Push "$TEMP\confinstall\tomcat-users_1.xml"
+  Push "$PLUGINSDIR\tomcat-users_1.xml"
   Call copyFile
   FileWrite $R9 $R5
-  Push "$TEMP\confinstall\tomcat-users_2.xml"
+  Push "$PLUGINSDIR\tomcat-users_2.xml"
   Call copyFile
 
   FileClose $R9
   DetailPrint "tomcat-users.xml written"
 
-  RMDir /r "$TEMP\confinstall"
-
+  Delete "$PLUGINSDIR\server_1.xml"
+  Delete "$PLUGINSDIR\server_2.xml"
+  Delete "$PLUGINSDIR\tomcat-users_1.xml"
+  Delete "$PLUGINSDIR\tomcat-users_2.xml"
 FunctionEnd
 
 
@@ -856,8 +869,10 @@ Section Uninstall
   Delete "$INSTDIR\Uninstall.exe"
 
   ; Stop Tomcat service monitor if running
+  DetailPrint "Stopping tom...@version_major@ service monitor"
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@w.exe" 
//MQ//tom...@version_major@'
   ; Delete Tomcat service
+  DetailPrint "Uninstalling tom...@version_major@ service"
   nsExec::ExecToLog '"$instdir\bin\tom...@version_major@.exe" 
//DS//tom...@version_major@'
   ClearErrors
 

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1034924&r1=1034923&r2=1034924&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Sun Nov 14 02:05:56 2010
@@ -280,9 +280,14 @@
         Windows installer. (kkolinko)
       </add>
       <fix>
+        In the Windows installer: do not leave stale <code>server.xml</code>
+        and <code>tomcat-users.xml</code> fragments in the $TEMP folder.
+        (kkolinko)
+      </fix>
+      <update>
         <bug>49819</bug>: Redesign of home page by Pid (pidster at apache).
         (timw)
-      </fix>
+      </update>
     </changelog>
   </subsection>
 </section>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to