Подготовка приложения к Магазину

Автор Тема: Подготовка приложения к Магазину  (Прочитано 21710 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #15 : 20-01-2016, 22:31:54 »
Все так.
Что так? Ничего не понял.
Я боюсь стандартный установщик, который распаковывает ims не сможет ввести в реестр SModeller.exe.
Наверное msi, а не ims. И он то уж точно сможет внести данные в реестр - прав хватит, так как:
1. Можно сообщить пользователю, что у него не хватает прав для инсталляции если инсталляция запущена нет от имени Администратора.
2. Можно принудительно заставить его распаковывать bundle в %ProgramData%\Autodesk\ApplicationPlugin

Ну и на всякий случай: Получить имя папки, где находится запущенный dll-файл
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #16 : 21-01-2016, 07:40:19 »
Кто формирует msi, который устанавливает bundle?
Я думал, что команда apps store.
Когда и где разработчик (то есть я) может установить опции
- где установить bundle,
- запустить для регистрации exe
?

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #17 : 21-01-2016, 10:34:57 »
Кто формирует msi, который устанавливает bundle?
Я думал, что команда apps store.
В общем я сам не особо разбираюсь :-)

Но на сколько я понял, msi формируют как ты и предположил команда apps store.
Этот MSI помещает наш boundle в одно из доступных для этого мест, заранее придуманных Autodesk (об этом в начали темы писали), ну и что-то там куда-то там записывает, чтоб наше приложение появилось в "Программах и компонентах" чтоб его в случаи сего можно было удалить нафиг, стандартным путем. И как мне кажется на этом работа установщика msi заканчивается.

Дальше уже AutoCAD-ы начиная с 2012(2013 точно) при запуске заглядывают, в эти папки с boundle-ами и читают  PackageContents, в которых уже указано какие модули в какие AutoCAD-ы загружать.
Опять же не знаю для чего вводить exe в реестр, и умеет ли при необходимости это делать сам AutoCAD встретив описание таких exe  в PackageContents?

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #18 : 21-01-2016, 11:17:41 »
так, давайте по порядку. в требованиях магазина значится, что приложение должно после инсталляции встроиться в автокад и нормально работать без  каких-либо дополнительных телодвижений с бубном или запросов каких-то ключей у создателя плагина (бесплатное - постоянно, демоверсия - определенный период времени). как именно это будет сделано их мягко говоря, волнует не сильно, но сделать это можно двумя способами:
первый вариант. они предлагают нам заливать файлы в zip архиве в структурированном виде (думаю схематическое описание папки *.bundle приводить не стоит, да и от правил можно отступать). дальше они из этой папки после тестирования содержимого на работоспособность просто делают msi-инсталлер, который в процессе своей работы пихает папку плагина с её содержимым по одному из двух путей. по поводу логики распределения путей я вопросы не задавал, но напрашивается закономерность: бесплатные программы под текущего пользователя, платные в общую папку (это из личного опыта).
второй вариант. не хочу я никакой папки автозагрузки, моё приложение состоит из 50-100 команд и имеет собственное меню, справку и т.п. в этом случае в магазин на проверку выкладывается СОБСТВЕННЫЙ инсталлятор, который в процессе своей работы корректно сможет установить программу хоть куда, настроить все пути доступа, привязать меню, проинсталлировать COM объекты и т.п. короче говоря, в этом случае они запускают инсталлятор, ждут пока всё поставится, отвечая на вопросы в процессе установки и потом запускают автокад. если что-то не работает, пишут письмо с описанием проблемы и ждут ответа с нашей стороны.

так что, если не устраивает стандартный подход к папке bundle, то всегда можно слепить собственный инсталлятор.
PS: с папкой bundle тоже не всё гладко и приходится как минимум 1 раз возвращать им на доработку из-за того, что или в xml файле чего-то намудрят или хлама лишнего накидают в папку (в основном картинки, хотя у меня в первой программе было аж два html файла идентичных кроме картинок левых :) )

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #19 : 21-01-2016, 11:24:40 »
в этом случае они запускают инсталлятор, ждут пока всё поставится, отвечая на вопросы в процессе установки и потом запускают автокад. если что-то не работает, пишут письмо с описанием проблемы и ждут ответа с нашей стороны.
А что этот инсталлятор, ещё им на компьютер, помимо приложения AutoCAD, наустанавливал они не проверяют?

Отмечено как Решение Валериян 03-02-2016, 22:14:54

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #20 : 21-01-2016, 11:26:55 »
в этом случае в магазин на проверку выкладывается СОБСТВЕННЫЙ инсталлятор
Вот об этом я и говорил неоднократно в этой теме.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #21 : 21-01-2016, 11:34:11 »
А что этот инсталлятор, ещё им на компьютер, помимо приложения AutoCAD, наустанавливал они не проверяют?
я так подозреваю, что вся работа идет в песочнице а не на каком-то конкретном компьютере. так что могут и не смотреть, а только антивирусом прошерстить, хотя... кто их знает )))

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #22 : 03-02-2016, 22:25:10 »
Спасибо большое. С bundle вроде все прояснилось.
AutoCADы загружают Приложение.

Появилась другая проблема.
Есть технология помесячной и годовой активации приложения в App Exchange
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244237
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243971
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243607
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244123

Для этого используется класс RestClient d C #
Visual Studio 10 Windows 7 и методы RestRequest и т.д.
Откуда можно скачать библиотеку для реализации данной технологии и как подсоединить
к проекту C#.

Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #23 : 03-02-2016, 23:27:59 »
Эта: http://restsharp.org/ ?
Из всех ссылок, которые ты привёл к делу имеет отношение только эти две ссылки:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244237
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
Остальные для защиты WEB-приложений, а у тебя (как я понимаю) то, что называется Desktop-приложение.
По первой ссылке есть пример: https://github.com/ADN-DevTech/Termlicensing
Но если ты внимательно прочитал, то для него требуется создание своего сервера, который будет обслуживать IPN-запросы. Не думаю, что у тебя появится желание этим заниматься. Тебе легче воспользоваться Entitlement API. Пример здесь: http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
Там как раз и ссылка на RestSharp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #24 : 04-02-2016, 07:33:44 »
Именно это я имел в виду.
А именно
Код - C# [Выбрать]
  1. ...
  2. //check for online entitlement
  3.  
  4.     RestClient client = new RestClient("https://apps.autodesk.com");
  5.  
  6.     RestRequest req = new RestRequest("webservices/checkentitlement");
  7.  
  8.     req.Method = Method.GET;
  9. ...

Чтобы этот фрагмент сработал нужна правильная библиотека. Откуда взять, как подключить?




 
Код - C# [Выбрать]
  1.    req.AddParameter("userid", _userID);
  2.  
  3.     req.AddParameter("appid", _appID);
  4.  
« Последнее редактирование: 04-02-2016, 16:49:51 от Александр Ривилис »

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #25 : 04-02-2016, 07:59:55 »
Чтобы этот фрагмент сработал нужна правильная библиотека. Откуда взять, как подключить?
Вам же уже давали ссылку http://restsharp.org/ там есть кнопочка NuGet, это значит, что этот пакет можно поставить через управление пакетами NuGet в MS VS (Сервис - Диспетчер пакетов NuGet - Управление пакетами NuGet для решения. В открывшимся окне в строке поиска вбить restsharp и собственно установить)

Только это круто, что автодеск предлагает использовать открытую библиотеку, вот бы еще эта библиотека стабильно работала...
Извините, вам запрещён просмотр содержимого спойлеров.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #26 : 04-02-2016, 08:39:05 »
Валериян
Как форматировать код на нашем форуме написано у меня в подписи. Жду исправления.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #27 : 04-02-2016, 10:38:51 »
Есть технология помесячной и годовой активации приложения в App Exchange
по поводу технологии. работает оно приблизительно так (в случае, если пользоваться автодесковской онлайн "защитой"), если объяснять на пальцах :)
всё написанное ниже - личные умозаключения, которые, надеюсь, не несут конфиденциальной информации :)
для каждого приложения есть таблица с полями "360ID", "дата начала", "дата окончания", ...
после покупки приложения (нажал кнопку купить и оплатил покупку) строка в такой таблице заполняется в соответствии с тем, какую кнопку нажал:
- постоянная версия,
- месячная подписка,
- годовая подписка.
если скачал ДЕМО или бесплатную версию, в эту таблицу даты не ставятся

дальше, когда отправляем запрос на сервер https://apps.autodesk.com/webservices/checkentitlement... это дает файлу checkentitlement.php данные для проверки валидности пользователя. если для указанного приложения есть пользователь с указанным ID и текущая дата сервера находится между датами в полях  "дата начала", "дата окончания", то на возврат идет true. во всех остальных случаях - false.

теперь по поводу RestAPI. вот посмотрел я как оно работает на С++ (через лисп, вызывающий C# библиотеку), поржал минут с 15, сел и написал своё собственное. если знания позволяют, не стоит хвататься за сырой готовый код, который к тому же написан на C#.

PS: надеюсь дотнетовцев я не обижу своим вопросом, так что спрошу. ребята, а вы в курсе, что C# - интерпретируемый а не компиллируемый язык? защита, написанная на C# при желании ломается за пол часа написанием своей собственной dll по мотивам вашей? :):):). главное, чтоб возврат из функций был таким, как при успешной проверке валидности :)

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #28 : 04-02-2016, 11:23:12 »
PS: надеюсь дотнетовцев я не обижу своим вопросом, так что спрошу. ребята, а вы в курсе, что C# - интерпретируемый а не компиллируемый язык? защита, написанная на C# при желании ломается за пол часа написанием своей собственной dll по мотивам вашей? :):):). главное, чтоб возврат из функций был таким, как при успешной проверке валидности
не обидишь и да, в курсе. Более того, сам качал и смотрел внутренности программ выложенных в магазине, было интересно.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #29 : 04-02-2016, 12:10:42 »
Так получается, без собственного web-сервиса не обойтись?
Если все у пользователя взламывается.