title: Programmatic Windows user profile creation
body: <p>I am trying to do something similar to what the user who asked this question is trying to do:</p>
  
  <p><a href="https://stackoverflow.com/questions/5307284/https-request-from-a-credential-provider-dll">HTTPS Request From a Credential Provider DLL</a></p>
  
  <p>Concerning the components of a user profile, I found <a href="https://serverfault.com/questions/9253/in-windows-what-is-a-user-profile/9268#9268">this</a>.</p>
  
  <ul>
  <li>What is the minimum profile that Windows will recognize and load?</li>
  <li>How do I create and register a profile with Windows?</li>
  </ul>
  
  <p>My target is Windows 7 (Professional or Enterprise). I'm more of a Linux guy, so I'm pretty clueless when it comes to programming on Windows, so please be gentle.</p>
  
  <p>P.S. Is there a way that I can start developing on Linux then test on Windows without using a VM?</p>
  
  <h2>This is what I'm trying to do</h2>
  
  <p>I am building a profile synchronization program to be used by people that move around a lot so they don't have to bring a laptop everywhere.  This question addresses the case where the user logs in to a new computer.  Possible applications are:</p>
  
  <ul>
  <li>Businessmen that travel between offices frequently</li>
  <li>Students who use different computers everyday</li>
  <li>Users of internet cafes in foreign countries</li>
  <li>Home users who don't like copying files when they get a new computer</li>
  </ul>
  
  <p>I want to provide the best possible user experience that I can, and this means near-instantaneous profile creation.  Roaming profiles are slow and buggy at best.  Letting Windows create a profile is not really an option because I need to do custom authentication (I figured this one out) and I need to copy down settings from a server.</p>
  
  <p>What I need is a way to:</p>
  
  <ul>
  <li>Create only the bare essentials on user logon</li>
  <li>Update settings from the cloud if the profile has been updated</li>
  <li>Get the user from logon screen to working in under 30 seconds (preferably much faster)</li>
  </ul>
  
  <p>This is what I'm thinking of doing:</p>
  
  <ul>
  <li>Authenticate user with server</li>
  <li>Contact Windows service to handle profile creation/update</li>
  <li>windows service will download bare settings while profile is created</li>
  <li>Settings are applied</li>
  <li>User is logged in</li>
  </ul>