title: Whats going to happen with COleTemplateServer::RegisterAll() in windows 7
body: <p>Ok, so we have a C++ app that runs fine in Windows XP.
  It has the following code in the initialization</p>
  
  <pre><code>// Register all OLE server (factories) as running.  This enables the
  //  OLE libraries to create objects from other applications.
  COleObjectFactory::RegisterAll();
  </code></pre>
  
  <p>Now like i said, it works fine in Windows XP, but as far I understand the program tries to register its COM interface Which is fine in XP, but this may be a problem in Windows Vista and Windows 7 because of the UAC.  Especially if its is run as a standard user (with no elevated privileges).</p>
  
  <p>If i understand it correctly this is needed for the program to run properly, but it cant execute this code without elevated privileges. If it will run every time the app runs (this usually runs when <code>CWinApp::init()</code> is run)</p>
  
  <p><strong>Before you say just use admin privileges</strong>, the user will not have them, there is no way to change that</p>
  
  <p>So, now my questions are:</p>
  
  <p>1) am i correct in my assumptions?</p>
  
  <p>2) if I am correct, what is the best way around this? Can i just remove this? Do i need to set up some other thing? (we changed some VB modules to use a XML file instead of stuff in the registry</p>
  
  <p>PS: the modules compiles into DLLs</p>
  
  <p>PPS: UAC MUST be on</p>