В случае, если на компьютере установлено несколько версий SW, и нужно запустить именно нужную, то можно либо воспользоваться поиском GUID версии, либо вот таким куском кода:
/// <summary>
/// Создать объект Solidworks
/// </summary>
/// <param name="swApp">Созданный объект Solidworks</param>
/// <param name="version">Требуемая версия SW. Либо null в случае если нужна последняя</param>
/// <param name="visible">Видимость запущенного SW</param>
/// <returns></returns>
public static bool CreateSolidworks(out SldWorks swApp, string version = null, bool visible = true)
{
var i = DateTime.Now.Year + 2 - 1992;
swApp = null;
if (!string.IsNullOrEmpty(version))
{
var intVersion = Convert.ToInt32(version);
if (version.Length == 4)
{
intVersion -= 1992;
}
try
{
swApp = (SldWorks)Activator.CreateInstance(Type.GetTypeFromProgID($"SldWorks.Application.{intVersion}"));
swApp.Visible = visible;
return true;
}
catch (Exception)
{
return false;
}
}
while (swApp == null)
{
try
{
swApp = (SldWorks)Activator.CreateInstance(Type.GetTypeFromProgID($"SldWorks.Application.{i}"));
swApp.Visible = visible;
return true;
}
catch (Exception) { }
--i;
}
return false;
}