Вопросы по SLK

Добрый день.

Переводим защиту с SDK на SLK в связи с чем возникают вопросы.

Как в SLK правильней будет определять подключен к нашему компьютеру USB ключ или нет ? Например, в SDK через функцию GrdSetFindMode мы по флагам ограничиваем круг поиска ключей несколькими параметрами, после чего через GrdLogin уже определяем подключен наш ключ или нет. В SLK версии, судя по описанию функций, можно обратиться только к фичам/компонентам. Но у нас несколько разных продуктов и фичи в них не пересекаются. Подозреваю что правильным вариантом будет обратиться к функции GrdGetLicenseInfo.

Отсюда ещё вопрос, в функции GrdGetLicenseInfo первым параметром передается переменная-структура GrdVisibility. Но описания возможных значений полей данной структуры я не нашел, как например задать поле flags, какие там могут быть значения, может я конечно не там ищу https://dev.guardant.ru/pages/viewpage. … d=71485800

Re: Вопросы по SLK

Добрый день.
Вы можете получить список всех лицензий с помощью функции GrdGetLicenseInfo. Далее уже искать нужный компонент для логина.
Значения флагов для GrdVisibility Вы сможете найти в файле grdlic.h (C:\Program Files (x86)\Guardant\Software Licensing Kit\api\include\grdlic).

На всякий случай посмотрите наш стандартный пример использования API (C:\Program Files (x86)\Guardant\Software Licensing Kit\samples).

(2022-09-02 11:04:26 отредактировано teamru)

Re: Вопросы по SLK

Добрый день. Появился ещё один вопрос.

В SDK в функции GrdSetFindMode задаются параметры для поиска ключей. Например, ID ключа - dwID := 0, версия программы - byVer := 0, битовая маска - wMask := 77, dwModel := GrdFMM_ALL;

Но все эти параметры не имеют значения если не указать флаги, например dwFlags := GrdFM_NProg + GrdFM_Mask и тогда из всех передеданных в функцию параметров для поиска будут иметь значения только номер программы и маска.

А как с этим обстоят дела в SLK ?

Допустим, я хочу получить информацию с помощью функции
function GrdGetLicenseInfo(
  visibility: PGrdVisibility;
  const codes: PGrdVendorCodes;
  licenseInfoList: PPointer): Integer; stdcall

Я задаю:
codes.publicCode := 'какой-то код';
и
visibility.dongleModel := GRD_DONGLE_MODEL_SIGN;

Этого достаточно чтобы в licenseInfoList пришли данные именно с указанным publicCode и visibility или как в случае с SDK нужно тоже указывать какие-то флаги, что-то типо "dwFlags := GrdFM_NProg + GrdFM_Mask" ?

(2022-09-05 15:47:43 отредактировано teamru)

Re: Вопросы по SLK

И ещё вопрос про саму Guardant Station.

Можно ли как-то узнать кто из пользователей/менеджеров формировал заказ и записывал ключи ?
Вещь очень нужная и вполне очевидная, но информация об этом нигде не выводится. Может хоть в базе данных это где-то записывается чтобы самим контролировать ?

(2022-09-13 16:35:03 отредактировано iluha)

Re: Вопросы по SLK

а при вызове GrdGetLicenseInfo, получается, обязательно надо заполнять visibility для поиска сетевых лицензий (параметр "controlCenter": { "hostName": [ ...) ?

файл gnclient.ini в SLK вообще не используется?

а "Guardant Control Center" - для чего? почему API им не пользуется, там же прописаны хосты с сетевыми ключами

Re: Вопросы по SLK

teamru пишет:

Добрый день. Появился ещё один вопрос.

В SDK в функции GrdSetFindMode задаются параметры для поиска ключей. Например, ID ключа - dwID := 0, версия программы - byVer := 0, битовая маска - wMask := 77, dwModel := GrdFMM_ALL;

Но все эти параметры не имеют значения если не указать флаги, например dwFlags := GrdFM_NProg + GrdFM_Mask и тогда из всех передеданных в функцию параметров для поиска будут иметь значения только номер программы и маска.

А как с этим обстоят дела в SLK ?

Допустим, я хочу получить информацию с помощью функции
function GrdGetLicenseInfo(
  visibility: PGrdVisibility;
  const codes: PGrdVendorCodes;
  licenseInfoList: PPointer): Integer; stdcall

Я задаю:
codes.publicCode := 'какой-то код';
и
visibility.dongleModel := GRD_DONGLE_MODEL_SIGN;

Этого достаточно чтобы в licenseInfoList пришли данные именно с указанным publicCode и visibility или как в случае с SDK нужно тоже указывать какие-то флаги, что-то типо "dwFlags := GrdFM_NProg + GrdFM_Mask" ?

Добрый день.
Функция GrdGetLicenseInfo получает информацию обо всех доступных лицензиях в соответствии с указанными параметрами поиска. В качестве параметров можно указать коды или JSON-строку для передачи параметров поиска и доступа к лицензии - visibility. Через visibility можно конкретизировать критерии поиска (ID, сетевая/локальная, модель ключа, номер продукта, и пр.)
Пример использования функций API вы можете найти в составе Guardant SLK (папка samples)

Re: Вопросы по SLK

teamru пишет:

И ещё вопрос про саму Guardant Station.

Можно ли как-то узнать кто из пользователей/менеджеров формировал заказ и записывал ключи ?
Вещь очень нужная и вполне очевидная, но информация об этом нигде не выводится. Может хоть в базе данных это где-то записывается чтобы самим контролировать ?

Добрый день.
Такой возможности на данный момент нет. Мы передали запрос на изменение продукта нашим разработчикам. Возможно в будущем в Guardatn Station будет добавлена такая опция.

Re: Вопросы по SLK

iluha пишет:

а при вызове GrdGetLicenseInfo, получается, обязательно надо заполнять visibility для поиска сетевых лицензий (параметр "controlCenter": { "hostName": [ ...) ?

файл gnclient.ini в SLK вообще не используется?

а "Guardant Control Center" - для чего? почему API им не пользуется, там же прописаны хосты с сетевыми ключами

Добрый день,

Нет, не обязательно, параметр visibility используется опционально. Если лицензии находятся в рамках одной локальной сети, можно ничего не указывать, а если в разных сетях, то нужно указать hostName

Файл gnclient.ini используется в случае, когда менеджер лицензий будет установлен на сервер вашего клиента, защищённая программа, стоящая на удалённой машине, попробует его найти. Если из-за настроек сети ей это не удастся, то рядом с программой нужно положить файл gnclient.ini следующего содержания:
[SERVER]

IP_NAME = имя или ip-адрес сервера

https://dev.guardant.ru/pages/viewpage. … d=71475146

Guardant Control Center – это многофункциональный веб-сервис. С функционалом подробнее можно ознакомиться по ссылке https://dev.guardant.ru/display/GSLK/Gu … rol+Center
Там же можно найти информацию про API

(2022-09-16 19:18:21 отредактировано iluha)

Re: Вопросы по SLK

Александра Старчаус пишет:

Если из-за настроек сети ей это не удастся, то рядом с программой нужно положить файл gnclient.ini

вы уверены, что сей пассаж применим к вашему SLK? я сделал простую вещь - поиск в TotalCmd по каталогу c:\Program Files (x86)\Guardant\ вместе с подкаталогами (у меня установлены SDK и SLK), по всем файлам, содержащим текст "gnclient.ini" - и чего вы хотите? было найдено множество файлов в каталоге SDK, и ни одного(!) в SLK

ок, теперь давайте более профессионально - я ведь не спроста задал вопрос, перед этим всё проверил, скомпилировав тестовую программу, обратимся к ней:

uses
  SysUtils, Windows, GRDDelphi, grdlic;

const
  PUBLIC_CODE = $...; // публичный код ключа

var
  Visibility: AnsiString;
  RawLicenseInfoList: PAnsiChar;
  Codes: TGrdVendorCodes;
  nRet: Integer;
  hGrd: HANDLE;
  abyGrd: array[0..GrdContainerSize] of Byte;
  dwID: DWORD;
  GrdFindInfo: TGrdFindInfo;

begin
  // grdlic
  Visibility:= '{ "controlCenter": { "hostName": [ "192.168.130.108" ] } }';
  Codes.publicCode:= PUBLIC_CODE;
  nRet:= GrdGetLicenseInfo(nil{@Visibility[1]}, @Codes, @RawLicenseInfoList);
  ...
  // grdapi
  nRet:= GrdStartup(GrdFMR_Local or GrdFMR_Remote);
  hGrd:= GrdCreateHandle(@abyGrd, GrdCHM_MultiThread, nil );
  nRet:= GrdSetAccessCodes(hGrd, PUBLIC_CODE, 0, 0, 0);
  nRet:= GrdSetFindMode(hGrd, GrdFMR_Local or GrdFMR_Remote, 0, 0, 0, 0, 0, 0, 0, GrdFMM_ALL, GrdFMI_ALL );
  nRet:= GrdFind(hGrd, GrdF_First, @dwID, @GrdFindInfo);
  ...
end.

файл gnclient.ini (лежит в каталоге программы)

[client]
uuid = {00000000000000000000000000000000}
host_id = 8371539329226683901
reconnect_try_number = 2
bc_re-search_server = NO

[server]
ip_name = 192.168.130.108
ip_name_secondary = 
port = 3186
message_port = 3187
bc_addr = 255.255.255.255
search_requests_number = 1

[timeout]
to_search = 5
to_receive = 30

при работе с локальным ключом всё ок, обе библиотеки его находят, в т.ч. GrdGetLicenseInfo с пустым Visibility (=nil)

сетевой ключ находится на хосте 192.168.130.108, мой локальный хост 192.168.5.69 (подключаюсь через VPN)
если запустить программу "как есть", то "GrdGetLicenseInfo(nil, ..." вернёт статус 34, которого нет даже в вашей документации по SLK https://dev.guardant.ru/pages/viewpage. … d=71485820, в исходниках:

GRD_NO_RESULTS_FOUND = 34; { No any results found }

да, я пробовал урезать файл gnclient.ini до одного параметра [server] ip_name - то же самое

grdapi всё находит (используя gnclient.ini)

если раскомментарить код "GrdGetLicenseInfo(@Visibility[1], ..." - то grdlic ключ находит. будете чинить? а то нелогично - тащить "низкий" уровень (список хостов для поиска ключа) в приложение!

а про "Guardant Control Center" я спросил, потому что, на мой взгляд, было бы логично использовать его настройки, раз уж они есть, и там есть список хостов с ключами... grdlic не работает с этим веб-сервисом?


PS. как-то всё мудрёно у Guardant по сравнению с HASP - там драйвер и License Manager в одном флаконе, есть веб-интерфейс "Admin Control Center", в котором прописаны хосты для поиска лицензий - всё! все приложения работают через API с этими настройками! а тут надо у каждого(!) приложения в рабочий каталог положить файл gnclient.ini - зачем такое? может, есть "магический" путь, по которому этот файл ищется всегда (например, у HASP это c:\Program Files (x86)\Common Files\Aladdin Shared\HASP\hasplm.ini)


PPS. нашёл похожую тему (вопрос аналогичен моему) - https://forum.guardant.ru/topic/983/

Re: Вопросы по SLK

Александра Старчаус пишет:
Если из-за настроек сети ей это не удастся, то рядом с программой нужно положить файл gnclient.ini

вы уверены, что сей пассаж применим к вашему LDK?

Добрый день,

у нас нет такого продукта - LDK. Уточните, пожалуйста, какой именно технологией Guardant вы пользуетесь - Guardant Station (набор инструментов Guardant SLK), или же Guardant SDK.
Обратите внимание!
Технологии SDK и SLK между собой не совместимы

(2022-09-16 19:41:11 отредактировано iluha)

Re: Вопросы по SLK

Александра Старчаус пишет:

у нас нет такого продукта - LDK

нашли к чему придраться, к опечатке! да, SLK я имел ввиду (LDK это у HASP)

Александра Старчаус пишет:

какой именно технологией Guardant вы пользуетесь

наше ПО использует ключи HASP, планируем добавить поддержку Guardant
я сейчас тестирую и SDK, и SLK

Александра Старчаус пишет:

Технологии SDK и SLK между собой не совместимы

да конечно, конечно, не волнуйтесь, я всё понимаю! )
правда, вот только непонятно, с какого перепугу вы тогда пишите про файл

Александра Старчаус пишет:

gnclient.ini

, используемый в SDK, применимо к SLK ? (мой первый вопрос)

(2022-09-17 15:52:20 отредактировано iluha)

Re: Вопросы по SLK

хочется расставить точки над 'i':
- Guardant Net Server - это продукт в составе SDK, он нужен для работы SLK или нет?
- Guardant Control Center - это продукт в составе SLK, он нужен для работы SDK или нет?
- что вы подразумеваете под "менеджером лицензий" ?
- что нужно установить на компьютер с сетевым ключом, чтобы ключ был удалённо доступен через SLK?
- если в ключ (локальный или сетевой) не прописана ни одна лицензия - он должен отображаться в Guardant Control Center? (сейчас не отображается, хотя GrdGetLicenseInfo данные возвращает)

насчёт visibility -  в документации явно идёт ссылка на Guardant Control Center:
https://dev.guardant.ru/display/GSLK/visibility

   // Configuration for Guardant Control Center
   "controlCenter":
   {
       // HostName or IP address of the computer on which Guardant Control Center is running
      "hostName": [ "192.168.77.77" ],

hostName   
Имя компьютера или его IP-адрес. Передается hostName того компьютера, где установлен Guardant Control Center, раздающий сетевые лицензии

в моём понимании, раз в конфигурации одного Guardant Control Center (назовём его cc1) есть возможность указать хост другого Guardant Control Center (cc2), и cc2 доступен для cc1 (в веб-консоли cc2 видны ключи cc1), то приложению через SLK API не обязательно обращаться к cc2 - можно слать запросы на cc1 - правильно?

а если cc1 работает на localhost, то при поиске через GrdGetLicenseInfo без указания visibility должны быть найдены все локальные ключи, а также сетевые, доступные для cc1 (в т.ч. для cc2)

Re: Вопросы по SLK

iluha пишет:

правда, вот только непонятно, с какого перепугу вы тогда пишите про файл

Александра Старчаус пишет:

gnclient.ini

, используемый в SDK, применимо к SLK ? (мой первый вопрос)

Добрый день,
Использование файла gnclient.ini описано в документации SLK (Закладка Быстрый старт – пункт 8)
https://dev.guardant.ru/pages/viewpage. … d=71475146

Re: Вопросы по SLK

Добрый день,

iluha пишет:

хочется расставить точки над 'i':
- Guardant Net Server - это продукт в составе SDK, он нужен для работы SLK или нет?

Guardant Net Server не используется SLK, это сервер сетевых лицензий из состава SDK.
Для работы SLK нужен:
Guardant Station,
Guardant Protection Studio,
Guardant Control Center,
Guardant Licensing API,
Мастер активации лицензий

iluha пишет:

- Guardant Control Center - это продукт в составе SLK, он нужен для работы SDK или нет?

Guardant Control Center – это продукт SLK

iluha пишет:

- что вы подразумеваете под "менеджером лицензий" ?

Guardant Control Center – это менеджер лицензий. Инструмент для работы сетевых ключей у конечного пользователя, мониторинга и администрирования доступных лицензий.

iluha пишет:

- что нужно установить на компьютер с сетевым ключом, чтобы ключ был удалённо доступен через SLK?

На удаленный компьютер нужно установить Guardant Control Center

iluha пишет:

- если в ключ (локальный или сетевой) не прописана ни одна лицензия - он должен отображаться в Guardant Control Center? (сейчас не отображается, хотя GrdGetLicenseInfo данные возвращает)

Guardant DL будет виден только после активации. На аппаратный ключ лицензия прошивается при создании заказа, соответственно, если не был записан ни один заказ, или в него было что-то записано с помощью SDK, он не будет отображаться в Guardant Control Center

iluha пишет:

насчёт visibility -  в документации явно идёт ссылка на Guardant Control Center:
https://dev.guardant.ru/display/GSLK/visibility

   // Configuration for Guardant Control Center
   "controlCenter":
   {
       // HostName or IP address of the computer on which Guardant Control Center is running
      "hostName": [ "192.168.77.77" ],

hostName   
Имя компьютера или его IP-адрес. Передается hostName того компьютера, где установлен Guardant Control Center, раздающий сетевые лицензии

в моём понимании, раз в конфигурации одного Guardant Control Center (назовём его cc1) есть возможность указать хост другого Guardant Control Center (cc2), и cc2 доступен для cc1 (в веб-консоли cc2 видны ключи cc1), то приложению через SLK API не обязательно обращаться к cc2 - можно слать запросы на cc1 - правильно?

Похожая логика заработает в следующей версии SLK

iluha пишет:

а если cc1 работает на localhost, то при поиске через GrdGetLicenseInfo без указания visibility должны быть найдены все локальные ключи, а также сетевые, доступные для cc1 (в т.ч. для cc2)

При работе через API, "пустой" visibility означает что ищем все только через широковещательный поиск.



Еще есть некоторая дополнительная информация касательно Вашего вопроса про "gnclient.ini":

iluha пишет:

используемый в SDK, применимо к SLK ? (мой первый вопрос)

Нет, форматы и принципы использования отличаются.
В SLK «gnclient.ini» может потребоваться только если приложение использует проверку лицензий, интегрированную в наш автоматический протектор кода Guardant Protection Studio (далее PS).
Если приложение использует Guardant Licensing API, то передавать адрес хоста с установленным ключом надо именно через visibility. Это так задумано.
В следующей версии SLK настройка «Поиск лицензий по списку адресов» из Guardant Control Center (CC) будет транслироваться в приложение, если ничего не передается в visibility. Это можно расценивать как альтернативу самостоятельной передачи подобной настройки, но никак не замену, ведь для этого придется устанавливать СС на каждой машине пользователя, откуда нужно получить доступ к сетевой лицензии, допустим, в другой подсети.

(2022-09-20 12:27:51 отредактировано iluha)

Re: Вопросы по SLK

ок, спасибо за развёрнутый ответ! теперь всё становится более-менее ясно! жаль, что в документации (да, я её внимательно читал) это не описано

Александра Старчаус пишет:

В следующей версии SLK

а когда она планируется, примерно?

Re: Вопросы по SLK

iluha пишет:

а когда она планируется, примерно?

Примерно в октябре

Re: Вопросы по SLK

В качестве пожелания, было бы неплохо если бы в самом Station хоть где-то указывалась бы его текущая версия.

Re: Вопросы по SLK

teamru пишет:

В качестве пожелания, было бы неплохо если бы в самом Station хоть где-то указывалась бы его текущая версия.


Добрый день,

Ваше пожелание передано разработчикам

(2022-11-01 07:35:15 отредактировано teamru)

Re: Вопросы по SLK

Добрый день. Есть несколько неудобных моментов в Guardant Station.
Может возьмете их в работу.

1. При обновлении заказа, создается новый заказ с новым номером. Но нигде не выводится информация от какого именно заказа появился этот обновленный. Просто, условно "Заказ # 0971 (обновление)" а обновление какого заказа неизвестно. Было бы логичней увидеть что-то вроде "Заказ # 0971 (обновление заказа # 0251)"

2. Опять же касаемо обновления. Проблема, в принципе, появляется из-за описанной выше. Пример, тот же самый условный  "Заказ # 0971 (обновление)" мы видим в нем список продуктов. Но ... это ведь заказ обновление и мы видим только добавленные в этом обновлении продукты, список всех записанных в ключ продуктов мы посмотреть не можем. А мы ведь можем обновлять заказ суммируя лицензии. Тем более мы не знаем от какого заказа произошел этот обновленный заказ. А у клиента таких заказов может быть много и как и где теперь искать что сейчас записано в ключе. Не, остается конечно опция выбрать заказ и снова начать процедуру его обновления и на этапе "Выбор продуктов для обновления" мы все же увидим что сейчас входит в состав лицензии. Но не будет же менеджер прокликивать все заказы сопоставляя при этом номера ключей.

3. Не знаю баг или фича. Опять же, обновление. Допустим в заказе записаны 1 или 2 продукта, я нажимаю кнопку "обновить лицензию" -> "изменить настройки лицензии". Выбираю какой-то из продуктов желая его удалить из лицензии, нажимаю "Вернуться в заказ". Вижу там продукт около которого стоит значок корзинки, нажимаю чтобы его удалить, удалился. А вот кнопка "Подтвердить заказ" остается неактивной. Т.е. нет возможности обновить лицензию и ключ удалив какой-то из продуктов. Разве что создать именно новый заказ и переписать ключ, но это будет запись в Station, а ключ то уже у клиента в другом городе и через Station мы его заново уже никак не прошьем.

4. Попробовал ещё одну конфигурацию где получил тоже не совсем ожидаемый результат. Создал продукт A, сделал заказ, записал в ключ. Далее захожу в этот же заказ, выбираю обновление, изменить настройки лицензии, удаляю продукт А, добавляю продукт Б, сохраняю заказ. Запускаю утилиту license_wizard.exe и мне приходит обновление, в котором мне доступен и продукт А и продукт Б. Хотя продукт А я удалял перед добавлением Б и сохранением заказа.

Re: Вопросы по SLK

teamru пишет:

Добрый день. Есть несколько неудобных моментов в Guardant Station.
Может возьмете их в работу.

1. При обновлении заказа, создается новый заказ с новым номером. Но нигде не выводится информация от какого именно заказа появился этот обновленный. Просто, условно "Заказ # 0971 (обновление)" а обновление какого заказа неизвестно. Было бы логичней увидеть что-то вроде "Заказ # 0971 (обновление заказа # 0251)"

2. Опять же касаемо обновления. Проблема, в принципе, появляется из-за описанной выше. Пример, тот же самый условный  "Заказ # 0971 (обновление)" мы видим в нем список продуктов. Но ... это ведь заказ обновление и мы видим только добавленные в этом обновлении продукты, список всех записанных в ключ продуктов мы посмотреть не можем. А мы ведь можем обновлять заказ суммируя лицензии. Тем более мы не знаем от какого заказа произошел этот обновленный заказ. А у клиента таких заказов может быть много и как и где теперь искать что сейчас записано в ключе. Не, остается конечно опция выбрать заказ и снова начать процедуру его обновления и на этапе "Выбор продуктов для обновления" мы все же увидим что сейчас входит в состав лицензии. Но не будет же менеджер прокликивать все заказы сопоставляя при этом номера ключей.

Добрый день,

Ваше пожелание передано разработчикам

teamru пишет:

3. Не знаю баг или фича. Опять же, обновление. Допустим в заказе записаны 1 или 2 продукта, я нажимаю кнопку "обновить лицензию" -> "изменить настройки лицензии". Выбираю какой-то из продуктов желая его удалить из лицензии, нажимаю "Вернуться в заказ". Вижу там продукт около которого стоит значок корзинки, нажимаю чтобы его удалить, удалился. А вот кнопка "Подтвердить заказ" остается неактивной. Т.е. нет возможности обновить лицензию и ключ удалив какой-то из продуктов. Разве что создать именно новый заказ и переписать ключ, но это будет запись в Station, а ключ то уже у клиента в другом городе и через Station мы его заново уже никак не прошьем.

Уточните, пожалуйста, какая у Вас версия SLK?

teamru пишет:

4. Попробовал ещё одну конфигурацию где получил тоже не совсем ожидаемый результат. Создал продукт A, сделал заказ, записал в ключ. Далее захожу в этот же заказ, выбираю обновление, изменить настройки лицензии, удаляю продукт А, добавляю продукт Б, сохраняю заказ. Запускаю утилиту license_wizard.exe и мне приходит обновление, в котором мне доступен и продукт А и продукт Б. Хотя продукт А я удалял перед добавлением Б и сохранением заказа.

Уточните, пожалуйста, выключена ли опция "Режим дополнения" в момент обновления заказа?

(2022-11-02 08:09:24 отредактировано teamru)

Re: Вопросы по SLK

Александра Старчаус пишет:

Уточните, пожалуйста, какая у Вас версия SLK?

3.5 ... От опции "Режим дополнения" никак не зависит, если из заказа при обновлении удалить какой-то продукт, кнопка подтвердить заказ остается неактивной.

Александра Старчаус пишет:

Уточните, пожалуйста, выключена ли опция "Режим дополнения" в момент обновления заказа?

Да, опция включена. Может поэтому и суммируется, и если бы при обновлении мы бы только добавляли новый продукт все было бы понятно и логично. Но мы ведь помимо добавления одного продукта, другой продукт явно удаляем, кликаем по значку корзинки и он визуально пропадает из заказа. Что вводит в заблуждение. Ведь по факту остаются лицензии на оба продукта. Можно конечно делать обновление заказа с перезаписью ключа отключив эту опцию, но тогда непонятно назначение функции удаления.

Re: Вопросы по SLK

teamru пишет:

3.5 ... От опции "Режим дополнения" никак не зависит, если из заказа при обновлении удалить какой-то продукт, кнопка подтвердить заказ остается неактивной..

Если в заказе был всего один продукт и он был удален, то кнопка "Подтвердить заказ" будет неактивна, т.к. в заказе должен быть выбран хотя бы один продукт

teamru пишет:

Да, опция включена. Может поэтому и суммируется, и если бы при обновлении мы бы только добавляли новый продукт все было бы понятно и логично. Но мы ведь помимо добавления одного продукта, другой продукт явно удаляем, кликаем по значку корзинки и он визуально пропадает из заказа. Что вводит в заблуждение. Ведь по факту остаются лицензии на оба продукта. Можно конечно делать обновление заказа с перезаписью ключа отключив эту опцию, но тогда непонятно назначение функции удаления.

Если опция "Режим дополнения" включена - новая лицензия объединится с предыдущей, если выключена - удалит все предыдущие лицензии. Функция удаления позволяет редактировать заказ

Re: Вопросы по SLK

Добрый день, остался ещё вопрос по режимам прошивки. Вернее, что мы должны устанавливать на компьютере клиента для каждого из режимов записи ключа чтобы ключ работал с нашим защищаемым ПО ?

При прошивке ключа можно выбрать один из трех вариантов:
1. Драйверный
2. HID
3. WinUSB

Вот что нужно ставить на стороне клиента в каждом из случаев ? Весь SLK или только драйвера или Guardant Control Center. Ключи в нашем случае - Guardant Sign.

Re: Вопросы по SLK

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

Ну и да, каждый раз после создания нового заказа Guardant Station ставит по дефолту режим записи ключа WinUSB, независимо от того, как создавался предыдущий заказ. Наверное, было бы здорово, если бы была какая-то общая настройка чтобы менеджер сам мог задать это дефолтное значение.

(2022-11-08 15:52:43 отредактировано teamru)

Re: Вопросы по SLK

Бонусом. Следующая ситуация. Допустим, наша компания занимается распространением софта не сама, а через посредников поставляя им лицензии на ключах Guardant Sign по 50-100 ключей за раз. Создавать на каждый ключ отдельный заказ может быть не особо удобно, тем более в качестве покупателя будет значиться не конечный клиент, а один и тот же посредник.

Так вот, допустим один из клиентов купивший ключ у одного из посредников обращается к нам, желая обновить лицензию. Но обновив сам заказ, мы ведь обновим лицензию сразу на всех этих 50-100 ключах в заказе.

Есть ли какое-то разумное решение удаленного обновления лицензии в одном ключе Guardant Sign записанного в Guardant Station если в заказе было около сотни ключей ?

Ещё было бы неплохо, если ключи можно было бы откреплять от одного покупателя и назначать новому, чтобы при этом наследовалась информация/лицензия из заказа по ключу.