PHP/COM object

Hi all,

Im trying to migrate a php application from an windows 2k3 server to an amazon’s AWS EBS instance, which is windows 2008 Datacenter with IIS7.

I have office installed on the instance and the relevant permissions assigned to the office powerpoint DCOM object.

My problem is that DCOM object gets instantiated ok, but cannot open or save files… i get the following error ‘Source: Microsoft Office PowerPoint 2003 Description: Presentation.SaveAs : An error occurred while PowerPoint was saving the file.’

This is the code im testing:

$ppoint = new COM("PowerPoint.application") or die("Unable to instantiate PowerPoint"); 
//Add a slide
$slide=$ppoint->Presentations[1]->Slides->Add(1,1);

//Get the name of this slide
$slidename = $slide->Name();

//Change the name of this new slide
$slide->Name = "New Slidename";

//Save the presentation
$ppoint->Presentations[1]->SaveAs("D:\\\\wwwroot\\\	est.ppt");
$ppoint->Presentations[1]->Close();

Does the COM process user have sufficient access rights to the wwwroot folder ? Have you tried saving it elsewhere to see if permissions maybe an issue ?

Yes I have tried multiple locations, with the ‘everyone’ and the iis user set to full control.

Im thinking, is this an AWS issue, in the way it brings the EC2 operating system and EBS storage together. Or does that generally act just like any other webserver.

I forgot to mention i upgrade PHP in process from 3.5.2 -> 3.5.6… if that makes a difference.

I ended reverting back to an windows 2003 server with IIS6 installed.
I assigned the “Launch IIS process account” permission to the ppt dcom object and bam it works.

Im probably missing a tickbox somewhere on windows 2008, but from my little experience with windows2008 /iis7… alot seems to be locked down as default.