title: PDFCreator and VB6 on 64-bit: ActiveX component can't create object
body: <p>I'm using <a href="http://www.pdfforge.org/pdfcreator" rel="nofollow">PDFCreator</a> to create PDFs in VB6. My VB6 development VM is Windows XP 32-bit. On that system PDF generation works both from a desktop app and from ASP (via VB web class runtime).</p>
  
  <p>When I create an exe to run on Windows 7 or Windows Server 2008 R2 or use it in the web class runtime I get:</p>
  
  <pre><code>Run-time error '429':
  ActiveX component can't create object
  </code></pre>
  
  <p>This is when using early binding. I add a project reference to "C:\Program Files\PDFCreator\PDFCreator.exe" and then in my code I do:</p>
  
  <pre><code>Public WithEvents mPDFCreator As PDFCreator.clsPDFCreator
  Set mPDFCreator = New PDFCreator.clsPDFCreator
  </code></pre>
  
  <p>If I don't use a project references and use late binding instead, then it works on the desktop app but still not in the web class runtime. Late binding is done like so:</p>
  
  <pre><code>Set mPDFCreator = CreateObject("PDFCreator.clsPDFCreator")
  </code></pre>
  
  <p>I want to use early binding so that I can use the events, plus I need it to work in ASP/Web Class Runtime.</p>
  
  <p>I realise I'm dealing with ancient technologies here and I should have tempered expectations when running such things on modern 64-bit Windows and IIS. If porting this legacy app to .NET were an option, I would.</p>
  
  <p>On IIS I have set the <em>Enable 32-bit Applications</em> setting on my app pool. I have also tried running it as Administrator to rule-out security problems.</p>
  
  <p>I've done everything I know how to debug this, but I'm stumped. I suspect it has something to do with PDFCreator being a 32-bit app and COM registration. I've also tried running <code>regsvr32</code> out of SYSWOW64 but PDFCreator.exe can't be registered.</p>