title: Validating SSIS 2012 packages programatically via SSIS Catalog Managed Object Model
body: <p>I'd like to validate and then execute SSIS package stored in SSIS Catalog (Project Deployment Model) via objects from <code>Microsoft.SqlServer.Management.IntegrationServices</code> namespace.
  When I execute <a href="http://msdn.microsoft.com/en-us/library/ff930482.aspx" rel="noreferrer">Validate</a> method from <a href="http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.integrationservices.packageinfo.aspx" rel="noreferrer">PackageInfo</a> class it only runs validation, but no wait till its end. In <a href="http://blogs.msdn.com/b/mattm/archive/2011/07/26/overview-of-the-ssis-mom.aspx" rel="noreferrer">one example</a> I've found author fires validation in 'fire and forget' mode - why fire it when we don't bother with result? In <a href="http://blogs.msdn.com/b/mattm/archive/2011/11/17/ssis-and-powershell-in-sql-server-2012.aspx" rel="noreferrer">another one</a> execution is fired without previous validation.</p>
  
  <ol>
  <li>Should I verify package before every execution?</li>
  <li>If so, how to do it in synchronous mode?</li>
  <li>I'm also curious with <a href="http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.integrationservices.validationoperation.aspx" rel="noreferrer">ValidationOperation</a> Status property. It's
  wrapped <a href="http://msdn.microsoft.com/en-us/library/ff878143.aspx" rel="noreferrer"><code>catalog.validations status</code></a> column and can have, inter
  alia, values <code>succeeded (7)</code> and <code>completed (9)</code> - what is
  difference between them?</li>
  </ol>