When you install IIS6, it removes read/execute permission for the IUSR_XXXX user from lots of places.
You could create a separate site or virtual folder and have it run under a different user id. Be sure you understand the security ramifications of this however. From: activeperl-boun...@listserv.activestate.com [mailto:activeperl-boun...@listserv.activestate.com] On Behalf Of Justin Allegakoen Sent: Monday, January 12, 2009 7:39 PM To: activeperl@listserv.activestate.com Subject: Re: Win32::OLE problem 2009/1/11 Dorian Winterfeld <dor...@uaqa.com> Hi, I have a Web based Win32::OLE script that uses Excel on the server side. It has been working happily for years on a Win2000 server running Excel2000. We recently upgraded to Win2003/Excel2003 and I now get the following error from the script: Win32::OLE(0.1709) error 0x80070005: "Access is denied" at create_worksheet_lib.plx line 637 eval {...} called at create_worksheet_lib.plx line 637 line 637 is: $Excel = Win32::OLE->new('Excel.Application', 'Quit') or return 0; This appears to be a permissions problem as nothing has changed in the script. Any Windows gurus out there that might be able to help trouble shoot this? Sounds as if the IIS limited access web account and its settings in Win2K3 are preventing you from creating the Excel file in the desired server side directory. Write the file to a shared drive where Everyone has Write perms. You will of course have to evaluate the security risks this may present to your setup. Cheers, Just in <http://listserv.ActiveState.com/mailman/mysubs> Offline you wrote:- 2009/1/13 Dorian Winterfeld <dor...@uaqa.com> Thanks Justin, I did try setting the output folder to everyone/full-control but that didn't do it. It seems that in this case "Access is denied" because Win32::OLE doesn't have access to Excel. It's failing when it tries to create a new OLE Excel object. At least that is what I think. I set the Excel permissions to everyone/full-control as well but that didn't do it either. So I am stuck for now..... - Dorian My apologies. I did this years ago and have only just had my memory jolted. Calling Win32::OLE on a server from a client if you think about it is a serious security threat (think about getting macros to execute server side). I do remember writing ASPs on Win2K with IIS 5 and then migrating to Win2K3 with a whole load of problems because the newer IIS (6) was locked down a lot more. My guess is IIS 5 allowed calling of Win32::OLE whereas IIS6 doesnt. I was able to overcome IIS6 by using the Spreadsheet::WriteExcel and SpreadSheel::ReadExcel modules. These modules will require installation on your web server, but they do run on *nix if thats any consolation. The bad news is of course moving forward would mean a rewrite of your script. Now theres a happy new year for you . . . Just in
_______________________________________________ ActivePerl mailing list ActivePerl@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs