Как можно установить и обновить плагин .NET AutoCAD? - PullRequest
1 голос
/ 05 ноября 2010

Прямо сейчас у меня есть набор инструментов для AutoCAD, которые развертываются для пользователей в нашей компании.В настоящее время они развертываются через MSI, который я поддерживаю через проект установки Visual Studio.Файлы включают в себя .NET dll для некоторых наших пользовательских команд и функций lisp, а также многие файлы script, lisp, .pc3, .ctb и т. Д.Текущий метод установки таков:

Во время входа в систему проверяется, установлены ли на машине инструменты или требуется ли обновление.Если они не установлены, то он молча запускает MSI.Если они установлены, но требуют обновления, тогда он выполняет деинсталляцию, а затем устанавливает также без вывода сообщений.

Когда пользователь закрывает AutoCAD, он также запускает тот же метод, за исключением того, что он уведомляет пользователя через системный трей, чтобы он не открывался снова.AutoCAD, пока обновление не будет завершено.

Сейчас кажется, что вход в систему или средство обновления не всегда работают, потому что у меня есть пользователи, получающие ошибки, вызванные отсутствующими компонентами, и они кажутся случайными.Я предполагаю, что одна из миссис получает отсечение в середине процесса.

Принимая во внимание, что мне нужно иметь возможность делать обновления на лету (т.е. сообщить пользователю выйти из AutoCAD и вернуться, чтобы получать обновления), какие существуют альтернативные способы обновления моего подключаемого модуля AutoCAD

Ответы [ 2 ]

3 голосов
/ 05 ноября 2010

Мы помещаем наши .Net DLL в общую сетевую папку.Когда пользователи запускают AutoCad, мы запускаем подпрограмму LISP, которая выполняет «загрузку сети» из DLL.Таким образом, если мы хотим обновить, мы просто переименовываем старые библиотеки DLL и помещаем новые в общую сетевую папку.В следующий раз, когда пользователи запустят AutoCad, они получат последнюю версию.Вы заявили, что хотите обновляться на лету и сообщать пользователям об этом, и нам не о чем беспокоиться.Если мы обеспокоены, мы просто отправим электронное письмо нашей группе пользователей AutoCad и сообщим им, что они должны перезапустить, чтобы последние изменения вступили в силу.

Возможно, это не совсем то, что вы ищетено, надеюсь, это заставило вас осознать возможный «другой» подход.

1 голос
/ 05 ноября 2010

Сейчас кажется, что вход в систему или средство обновления не всегда работают, потому что у меня есть пользователи, получающие ошибки, вызванные отсутствующими компонентами, и они кажутся случайными. Я предполагаю, что одна из msis получает обрезание в середине процесса.

По номинальной стоимости это говорит о том, что пользователи не видят уведомления в системном трее (может быть, слишком маленького размера) и запускают AutoCAD до завершения установки.

Упрощенные и / или драконовские предложения ...

  • Используйте обычный диалог, который более очевиден, и / или
  • Временно переименуйте исполняемый файл AutoCAD до завершения установки, например, acad.exe.save , и / или
  • Во время установки следите за всеми процессами, и, если AutoCAD запускается, немедленно уничтожайте указанный процесс; отобразить диалоговое окно, сообщающее пользователю, что он отключается и почему и / или
  • Добавьте еще один модуль в свой пакет, который будет проверять тщательность установки после ее завершения, чтобы вы сразу знали о проблемах, а не ожидали, когда пользователи наткнулись на них, и сообщали о проблемах позже, и / или
  • Ведение основного списка файлов / версий / дат и т. Д. И наличие пакета запуска AutoCAD, возможно, такого же простого, как запись функции самодиагностики в S :: Startup, проверка текущей конфигурации / настройки и сравнение ее с основным списком, сообщать соответственно.

Удачи, Майкл.

Редактировать / PS: не видел пост Дж.Спранга, пока я не опубликовал пост. В целом, я думаю, что он является превосходной стратегией и похож на то, что мы делаем с простыми библиотеками lisp.

...