Нашел мою ошибку -
Это будет хорошо работать:
[STAThread]
private static void Main()
{
MMAppInitialize mmAppInitialize = new MMAppInitialize();
mmAppInitialize.IsProductCodeAvailable(mmLicensedProductCode.mmLPDesigner);
mmAppInitialize.Initialize(mmLicensedProductCode.mmLPDesigner);
mmAppInitialize.Shutdown();
}
Есть еще маленькая ошибка -
Это не работает:
[STAThread]
private static void Main()
{
MMAppInitialize mmAppInitialize = new MMAppInitialize();
mmAppInitialize.IsProductCodeAvailable(mmLicensedProductCode.mmLPDesigner);
mmAppInitialize.Shutdown();
}
Хотя это не настоящий сценарий использования - просто проверка лицензии без ее получения.
В моем «реальном» коде я вызывал Initialize
и, наконец, Shutdown
, но я получил исключение LoaderLock, потому что я выключал mmAppInitialize после aoAppInitialize. После переключения заказа программа завершилась правильно.