title: Run word on server for COM to work?
body: <p>I got this from php.net website. This is related to the problem I am having with tho code below. Can anyone explain me what the following does. I am using Vista. What does running Word on server implies?</p>
  
  <blockquote>
    <p>In order to get the Word example
    running, do the following on the
    server side. Worked for me...
    1. Click START-->RUN and enter "dcomcnfg"
    2. In the "Applications" tab, go down to "Microsoft Word Document"
    3. Click PROPERTIES button
    4. Go to the "Security" Tab
    5. Click "Use custom access permissions", and then click EDIT
    6. Click ADD and then click SHOW USERS
    7. Highlight the IIS anonymous user account (usually IUSR_),
    click ADD
    8. Go back to the "Security" tab by hitting OK 
    9. Click "Use custom launch permissions", and the click EDIT
    10. Click ADD and then click SHOW USERS
    11. Highlight the IIS anonymous user account (usually IUSR_),
    click ADD
    12. Hit OK, and then hit APPLY. </p>
    
    <p>Also, you should look at the
    "Identity" tab in the Microsoft Word
    Document PROPERTIES and see that it is
    set to "Interactive User" </p>
    
    <p>ALSO, log into the machine AS the
    IUSR_ account, start
    word, and make sure to click through
    the dialog boxes that Word shows the
    first time it is run for a certain
    user.  In other words, make sure Word
    opens cleanly for the IUSR_ user.</p>
  </blockquote>
  
  <pre><code>&lt;?php
      // starting word
      $word = new COM("word.application") or die("Unable to instantiate Word");
      echo "Loaded Word, version {$word-&gt;Version}\n";
  
      //bring it to front
      $word-&gt;Visible = 1;
  
      //open an empty document
      $word-&gt;Documents-&gt;Add();
  
      //do some weird stuff
      $word-&gt;Selection-&gt;TypeText("This is a test...");
      $word-&gt;Documents[1]-&gt;SaveAs("Useless test.doc");
  
  
      //closing word
      $word-&gt;Quit();
  
      //free the object
      $word = null;
      ?&gt;
  </code></pre>