Как организовать один bundle для разных версий внешней системы?

Автор Тема: Как организовать один bundle для разных версий внешней системы?  (Прочитано 5270 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Добрый день

Подскажите пожалуйста, если например есть один и тот же плагин, но под разные версии другой внешней системы, то надо клонировать 3 раза и получить три одинаковых названия, описания и при этом в каждый загрузить три разных bundle которые  отличаются только dll или как то по другому это можно сделать?
« Последнее редактирование: 12-03-2015, 12:29:50 от Doublefish »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13088
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Вопрос про версии
« Ответ #1 : 12-03-2015, 10:31:17 »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 948
  • Карма: 155
Re: Вопрос про версии
« Ответ #2 : 12-03-2015, 11:46:50 »
Правила форума (особенно п.4.3.) написаны для красоты?
Doublefish, меняй название!
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Прочитал ещё раз - там про это не сказано

Если всё в один bundle, например тогда
папка Win64 в папке 2014 будет содержать:
- system_v1.dll
- system_v2.dll
- system_v3.dll

в xml прописывается dll которую надо грузить, но на компьютере, например, установлена Внешняя система 2 и надо загрузить именно system_v2.dll, а не system_v1.dll и system_v3.dll. Как быть в этом случае? Надо сделать какую-то одну общую dll в которой определять какая версия системы установлена на компьютера, прописать её в xml и уже в ней грузить system_v2.dll ? или как-то по другому?

переименовал (первоначально сам не знал как сформулировать про версии чтобы понятнее была суть)

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 948
  • Карма: 155
переименовал (первоначально сам не знал как сформулировать про версии чтобы понятнее была суть)
Тема до сих пор не переименована
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
что-то не сохранилось - теперь точно должно было сохраниться

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13088
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
но на компьютере, например, установлена Внешняя система 2 и надо загрузить именно system_v2.dll, а не system_v1.dll и system_v3.dll.
Что такое "Внешняя система 2"? Я подразумевал, что речь идёт о AutoCAD или одной из вертикалок. Если я прав, то ничего дополнительного делать не нужно.
Пример:
Код - XML [Выбрать]
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ApplicationPackage SchemaVersion="1.0" AutodeskProduct="AutoCAD" ProductType="Application" Name="DWG MgdDBG" AppVersion="1.0.0" Description="Debugging tools for AutoCAD - MgdDBG" Author="Fenton Webb" Icon="./Contents/Resources/resource/Inspector.jpg" AppNameSpace="adn.exchange.autodesk.com" OnlineDocumentation=" " HelpFile="./Contents/Resources/helpfile.html" ProductCode="{DB35F952-289A-4453-A46D-B424A6FCFDFB}" UpgradeCode="{E5B78003-2D7B-490F-B947-65D804392151}" SupportedLocales="Enu">
  3.   <CompanyDetails Name="Autodesk" Phone=" " Url=" www.autodesk.com" Email=" adn.autodesk.com" />
  4.   <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD|AutoCAD*" SeriesMin="R18.2" SeriesMax="R19.0" />
  5.   <Components Description="AutoCAD 2012">
  6.     <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*|AutoCAD" SeriesMin="R18.2" SeriesMax="R18.2" />
  7.     <ComponentEntry AppName="DWGMgdDBG" Version="1.0.0" ModuleName="./Contents/Resources/DWGMgdDbgSource/bin/Debug2012/MgdDbg.dll" AppDescription="Debugging tools for AutoCAD - MgdDBG" />
  8.   </Components>
  9.   <Components Description="AutoCAD 2013">
  10.     <RuntimeRequirements OS="Win32|Win64" Platform="AutoCAD*|AutoCAD" SeriesMin="R19.0" SeriesMax="R19.0" />
  11.     <ComponentEntry AppName="DWGMgdDBG" Version="1.0.0" ModuleName="./Contents/Resources/DWGMgdDbgSource/bin/Debug2013/MgdDbg.dll" AppDescription="Debugging tools for AutoCAD - MgdDBG" />
  12.   </Components>
  13. </ApplicationPackage>
Т.е. тут и AutoCAD (и вертикальные приложения) 2012 и 2013 x86 и x64
Если же речь идёт о каком-то совершенно другом приложении, то тебе самому придётся с этим разбираться.
« Последнее редактирование: 12-03-2015, 13:53:41 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
С самим автокадом всё понятно - речь идет о загрузки dll зависящих от другой установленной программы

Под внешней системой понимается любая другая программа НЕ  AutoCAD - например три разные версии программы не AutoCAD с версиями  9, 10 и 11

Если три bundle нельзя опубликовать под три версии другой программы - то тогда как запихать всё в один bundle чтобы подгрузилась именно нужная dll на компьютере для определённой версии установленной программы?

И зачем тогда нужна кнопка  clone на  apps.exchange https://apps.exchange.autodesk.com?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13088
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Если три bundle нельзя опубликовать - то тогда как записхать всё в один bundle чтобы подгрузилась именно нужная dll ?
Значит делаешь свой загрузчик (dll), который не зависит от версии "программа НЕ  AutoCAD" и который сам загрузит в зависимости от версии этой "программа НЕ  AutoCAD" то что нужно. Как он определит какая версия этой ""программа НЕ  AutoCAD" установлена, или если установлено несколько её версий, то какую версию нужно использовать - решать тебе. Это при помощи PackageContents.xml ты реализовать не сможешь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
 :(
Спасибо за разъяснение.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13088
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Спасибо за разъяснение.
Мне честно говоря даже в голову не могло прийти, что можно рассчитывать на то, что Application Manager будет уметь анализировать версии каких-то посторонних приложений.  ;)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Не - первоначальный вопрос возник  как опубликовать на  https://apps.exchange.autodesk.com три bundle с одним названием, но с разными dll (потому что они есть) и с указанием что они для разных версий внешней программы, а не про xml.

Подскажите, а в каких, например, случаях может понадобиться кнопка Clone?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13088
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Подскажите, а в каких, например, случаях может понадобиться кнопка Clone?
Не в курсе. Думаю что для создания подобного приложения с аналогичными настройками, которые потом "вручную" донастраиваются.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн DoublefishАвтор темы

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Оказывается кнопка clone нужна только если требуется опубликовать для другой платформы и языка.