You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2014/02/16 14:16:15 UTC

[Bug 56143] New: Allow "service.bat install" to be used in an non-UAC cmd.exe session

https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

            Bug ID: 56143
           Summary: Allow "service.bat install" to be used in an non-UAC
                    cmd.exe session
           Product: Tomcat 7
           Version: 7.0.50
          Hardware: PC
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Integration
          Assignee: dev@tomcat.apache.org
          Reporter: knst.kolinko@gmail.com

If you use a Microsoft Windows OS that has UAC and use service.bat script to
install Tomcat as a service, you have to first launch command console (cmd.exe)
in elevated privileges mode ("Run as administrator") and then call "service.bat
install" from there.

This requirement is mentioned in Tomcat documentation:
http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html#Installing_services

[quote]
NOTE: On Windows Vista or any other operating system with User Account Control
(UAC) you must either disable UAC or right-click on cmd.exe and select "Run as
administrator" in order to run this script. If UAC is enabled being logged on
with an Administrator account is not sufficient. 
[/quote]



If you forget to launch cmd.exe in that mode and just run "service.bat
install",  with the current Tomcat versions (6.0.39, 7.0.50, 8.0.3) you will be
prompted 3 times by UAC [3], but the service will be installed incorrectly.

With r1565781 / r1567742 (7.0.52) this was improved and you will be prompted by
UAC only once, but still the service will be installed incorrectly.


The cause for this behaviour is that install command in service.bat script uses
environment variables (such as PR_CLASSPATH) to pass parameters to service
installer (prunsrv).[1] Apparently, when a child application is launched with
elevated privileges it does not inherit environment variables from its parent.
[2]

The consequence is that a number of crucial settings in the installed service
will be blank. For example, its classpath and its log path will be blank.

As a result, an attempt to launch such service will fail shortly and silently,
as Tomcat bootstrap classes are not found and logging is not configured either.

(There will be some logs in %SystemRoot%\system32\LogFiles\Apache  though).


A workaround is to fix such configuration by using service configuration
application (tomcat7w.exe) to configure missing options.


I hope that this can be solved by changing service.bat so that all necessary
options are passed as command-line arguments instead of variables.

For reference:
[1] Apache Commons Daemon documentation
http://commons.apache.org/proper/commons-daemon/procrun.html

[2] "Re: r1567742" thread on dev mailing list
http://tomcat.markmail.org/thread/tjmwxc5vb5ut4zuq

[3] Bug 56079
https://issues.apache.org/bugzilla/show_bug.cgi?id=56079#c6

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 56143] Allow "service.bat install" to be used in an non-UAC cmd.exe session

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

--- Comment #5 from Konstantin Kolinko <kn...@gmail.com> ---
(In reply to Abdul Wahid from comment #4)

You are asking on a different topic. Your question cannot be answered here.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 56143] Allow "service.bat install" to be used in an non-UAC cmd.exe session

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

Konstantin Kolinko <kn...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Konstantin Kolinko <kn...@gmail.com> ---
Fixed in Tomcat 7 by r1568920 and will be in 7.0.53.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 56143] Allow "service.bat install" to be used in an non-UAC cmd.exe session

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

Konstantin Kolinko <kn...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 OS|                            |All

--- Comment #1 from Konstantin Kolinko <kn...@gmail.com> ---
Fixed in Tomcat 8 by r1568779, docs updated by r1568786. Will be in 8.0.4.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 56143] Allow "service.bat install" to be used in an non-UAC cmd.exe session

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

--- Comment #4 from Abdul Wahid <AA...@ebix.com> ---
Hi Konstantin,

I am getting permission issue only for tomcat service while installing TOMCAT 7
on windows 2000 server.

I logged into the server with Administrator privileges. 
Please update with your feedback.

Thanks,
Abdul Wahid

-- 
You are receiving this mail because:
You are the assignee for the bug.

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


[Bug 56143] Allow "service.bat install" to be used in an non-UAC cmd.exe session

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56143

--- Comment #3 from Konstantin Kolinko <kn...@gmail.com> ---
Fixed in Tomcat 6 with r1589390 , will be in 6.0.40.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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