|
From: Ted H. <thu...@ro...> - 2004-07-19 05:29:05
|
>Ahhh, I think I might know what the problem is then. Some versions of >Office have a little auto registration wizard that pops up the very first time any specific >user runs office.. What >may be happening is that when the Wrapper is running as the SYSTEM user, >Excel is popping >up that wizard and waiting for the user to complete it?? That is an excellent hypothesis. I experimented with an even simpler version of the VB script that, rather than opening Excel, simply created a new text file in the root directory. E.g.: Set objFS = CreateObject( "Scripting.FileSystem" ) objFS.CreateTextFile "C:\foobar.txt" This works fine in both console and service modes, and with the service running either as LocalSystem or Administrator (the account I normally log in as). Unfortunately, when I substitute the commands to open Excel back into the VB script, Excel does not open. Same result happens if the script is changed to simply display a message box: MsgBox foo So it does indeed appear that the issue is interactivity with the desktop by the service wrapper under certain user identities. >What happens if you run the Wrapper as the user you are normally logged >in as? You can >do this using the wrapper.ntservice.account / wrapper.ntservice.password >properties. Let >me know whether or not it works when running as you. If so then we can >proceed with >trying to figure out how to get it running as the SYSTEM user. I uninstalled, then reinstalled the JBoss service, making sure that I had the following properties set in the wrapper.conf: wrapper.ntservice.adviser=true wrapper.ntservice.account=.\Administrator wrapper.ntservice.password=mypassword wrapper.ntservice.interactive=true However, the following warning appears: wrapper | Ignoring the wrapper.ntservice.interactive property because it can not be set when wrapper.ntservice.account is also set. Checking your source code, this string appears in wrapperBuildNTServiceInfo() Wrapper_3.1.0_src\src\c\wrapper.c Here, you force the interactive property to FALSE when both flags are set in wrapper.conf. Not being familiar with your code, it's unclear in what context this is called. Is this called every time the wrapper runs, or just when you install the wrapper as a service? The Windows Services GUI does not permit you to set "Allow service to interact with desktop" for accounts other than Local System account. This article suggests a hack to the Registry entry for that service: http://www.dotnet247.com/247reference/msgs/33/166835.aspx I tried setting this bit for the JBoss service after installing with InstallJBoss-NT.bat But this still didn't work as desired. Ted |