|
From: Leif M. <lei...@ta...> - 2013-10-23 08:11:56
|
Gaurav, As we wrote on the site, this is unfortunately the result of a change to the way Windows works. For security reasons, Microsoft decided to make this impossible. http://wrapper.tanukisoftware.com/doc/english/prop-ntservice-interactive.html It is now necessary for interactive services to have desktop specific clients which then communicate with the service using pipes or sockets. We have been looking into ways of implementing this for a future version, but it will almost certainly require changes to the user application to make it work. Cheers Leif On Tue, Oct 22, 2013 at 7:16 PM, Gaurav Pgoel <gau...@tc...> wrote: > Hi > > We have an application that uses swings to display pop up messages and > accept user inputs. For e.g. > > JOptionPane.*showInputDialog*("Enter User Id"); > > This when converted to Windows service works perfectly fine in Windows XP. > It displays proper pop ups as expected. > > But same service when installed in Windows 7 does not show pop ups. The > program just waits there. We added following in conf file, but to no avail. > > wrapper.ntservice.interactive=true > wrapper.ntservice.hide_console=true > > We also checked Windows Registry and set > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices > to 0. But the same does not work. > > Below is the conf file: > > wrapper.lang.folder=../lang > > #******************************************************************** > # Wrapper Java Properties > #******************************************************************** > # Java Application > # Locate the java binary on the system PATH: > wrapper.java.command=java > > # Tell the Wrapper to log the full generated Java command line. > wrapper.java.command.loglevel=INFO > > # Java Main class. This class must implement the WrapperListener interface > # or guarantee that the WrapperManager class is initialized. Helper > # classes are provided to do this for you. See the Integration section > # of the documentation for details. > wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp > > # Java Classpath (include wrapper.jar) Add class path elements as > # needed starting from 1 > wrapper.java.classpath.1=../lib/wrapper.jar > wrapper.java.classpath.2=../lib/auto-upload.jar > wrapper.java.classpath.3=../lib/log4j-1.2.11.jar > wrapper.java.classpath.4=../lib/commons-io-2.0.jar > # Java Library Path (location of Wrapper.DLL or libwrapper.so) > wrapper.java.library.path.1=../lib > > # Java Bits. On applicable platforms, tells the JVM to run in 32 or > 64-bit mode. > wrapper.java.additional.auto_bits=TRUE > > > wrapper.java.additional.1=-Dorg.tanukisoftware.wrapper.WrapperSimpleApp.waitForStartMain=FALSE > > # Java Additional Parameters > > #wrapper.java.additional.2=-Dorg.tanukisoftware.wrapper.WrapperSimpleApp.maxStartMainWait=300 > > # Initial Java Heap Size (in MB) > #wrapper.java.initmemory=3 > > # Maximum Java Heap Size (in MB) > #wrapper.java.maxmemory=64 > > # Application parameters. Add parameters as needed starting from 1 > wrapper.app.parameter.1=com.auto.upload.client.AutoFileUpload > > #******************************************************************** > # Wrapper Logging Properties > #******************************************************************** > # Enables Debug output from the Wrapper. > wrapper.debug=TRUE > > # Format of output for the console. (See docs for formats) > wrapper.console.format=PM > > # Log Level for console output. (See docs for log levels) > wrapper.console.loglevel=INFO > > # Log file to use for wrapper output logging. > wrapper.logfile=../system.log > > # Format of output for the log file. (See docs for formats) > wrapper.logfile.format=LPTM > > # Log Level for log file output. (See docs for log levels) > wrapper.logfile.loglevel=INFO > > # Maximum size that the log file will be allowed to grow to before > # the log is rolled. Size is specified in bytes. The default value > # of 0, disables log rolling. May abbreviate with the 'k' (kb) or > # 'm' (mb) suffix. For example: 10m = 10 megabytes. > wrapper.logfile.maxsize=2m > > # Maximum number of rolled log files which will be allowed before old > # files are deleted. The default value of 0 implies no limit. > wrapper.logfile.maxfiles=10 > > # Log Level for sys/event log output. (See docs for log levels) > wrapper.syslog.loglevel=NONE > > #******************************************************************** > # Wrapper General Properties > #******************************************************************** > # Allow for the use of non-contiguous numbered properties > wrapper.ignore_sequence_gaps=TRUE > > # Title to use when running as a console > wrapper.console.title=Automatic File Upload Service > > #******************************************************************** > # Wrapper JVM Checks > #******************************************************************** > # Detect DeadLocked Threads in the JVM. (Requires Standard Edition) > wrapper.check.deadlock=TRUE > wrapper.check.deadlock.interval=60 > wrapper.check.deadlock.action=RESTART > wrapper.check.deadlock.output=FULL > > # Out Of Memory detection. > wrapper.filter.trigger.1000=java.lang.OutOfMemoryError > wrapper.filter.action.1000=RESTART > wrapper.filter.message.1000=The JVM has run out of memory. > > # Specify custom mail content > wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease > check on its status.\n > > # Name of the service > wrapper.name=Automatic File Upload > > # Display name of the service > wrapper.displayname=Automatic File Upload Service > > # Description of the service > wrapper.description=Automatic File Upload Application. > > # Service dependencies. Add dependencies as needed starting from 1 > wrapper.ntservice.dependency.1= > > # Mode in which the service is installed. AUTO_START, DELAY_START or > DEMAND_START > wrapper.ntservice.starttype=AUTO_START > > # Allow the service to interact with the desktop. > wrapper.ntservice.interactive=true > wrapper.ntservice.hide_console=true > > Please help. > > Thanks & Regards > Gaurav > > |