On 1/4/06, LeFevre, Ken <> wrote: > Thanks to Steven Manross, I'm a step further along in troubleshooting this. > Using Steven's suggestion, I got the following from OLE->LastError: > 'Win32::OLE(0.1403) error 0x80070005: "Access is denied"'. Does anyone out > there know anything about how the Win2k scheduler accesses objects (and, more > importantly, how to circumvent this problem)? As I stated earlier, the > scheduled task is running under the same userid I use to log on when I > successfully run my program at a command prompt. > > Ken > -----Original Message----- > From: Steven Manross [] > Sent: Tuesday, January 03, 2006 5:18 PM > To: LeFevre, Ken; > Subject: RE: Win32::Ole (MAPI) and Win2K scheduler > > > Replace : > > die "Oops, cannot start Outlook"; > > with > > open (FILE,">>c:\\outlookerror.txt"); > print FILE "Oops, cannot start Outlook\n".Win32::OLE->LastError(); > close (FILE); > die "Oops, cannot start Outlook"; > > It will help refine what error the script is throwing (and refine the > possible solutions to the problem). > > Steven > ________________________________ > > From: > [mailto:] On Behalf Of > LeFevre, Ken > Sent: Tuesday, January 03, 2006 1:01 PM > To: > Subject: Win32::Ole (MAPI) and Win2K scheduler > > > I created a program using ActiveState's perl 5.8.4, compiled it using > perlapp 5.3.0 and ran it on Windows 2000 Professional SP4 against > Outlook 2000 SR-1 (9.0.0.3821). It runs properly both from a command > prompt and as a scheduled task. I released it into production on > Windows 2000 server SP4 using the identical version of Outlook 2000. > Again, it runs great from a command prompt. When I run it as a > scheduled task, however, it dies because it's not able to get the > Outlook Application. > > Here's the relevant code: > > > Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE); > die Win32::OLE->LastError(),"\n" if Win32::OLE->LastError( ); > eval { $Outlook = Win32::OLE->GetActiveObject('Outlook.Application') > }; > die "Outlook is not installed" if $@; > unless (defined $Outlook) { > $Outlook = Win32::OLE->new('Outlook.Application', sub > {$_[0]->Quit;}); > or die "Oops, cannot start Outlook"; > <======================= dies here under Win2k srvr as a scheduled task > > As best I can tell, Outlook is registered the same on both machines. > The same dlls exist on both. I even set up the scheduled task to run > under the same userid I used when logging on to the server to run the > program from the command prompt. My theory is that there is some sort > of permissions issue or a difference in the scheduled task environment > between the two versions of the Win2k OS, but I'm not succeeded at > finding the problem and how to resolve it. > > I would greatly appreciate any insight or assistance in getting this to > run in the new environment. > > Thanks, > > Ken > > _______________________________________________ > Perl-Win32-Users mailing list > Perl-Win32-Users@listserv.ActiveState.com > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs >
Try going into Administrative Tools => Local Security Settings => User Rights Assignment and experiment with the 'Log on as a batch job' and 'Log on as a service' settings. -Jason _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs