Показать сообщение отдельно
  #11  
Старый 23.01.2017, 14:54
delphi-programmer-2007 delphi-programmer-2007 вне форума
Прохожий
 
Регистрация: 16.01.2017
Сообщения: 12
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну, для отладки на таких машинах можно написать простенькую программку, делающую этот вызов и логирующую все, что тебе хочется.

Можно, конечно - только не совсем понятно, что в данном случае нужно логировать.

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


Цитата:
Сообщение от lmikle
Соответсвенно, либо просишь пользователя ее запустить и прислать тебе лог, либо по удаленке сам это делаешь, т.е. устойчивость связи тут уже меньше играет.

Собственно, тут как раз и проблема в том, чтобы знать то, что нужно логировать. А если знать - то написать такую программку не проблема.


Цитата:
Сообщение от lmikle
По поводу, "а вдруг все вызовы не заработают". Ничто не мешает сделать простую защиту:
1. В реестре ищем ключ программы.
2. В нем смотрим, нет ли для запрашиваемого параметра соотв. записи.
3. Если запись есть, то возвращаем ее (обеспечиваем устойчивость).
4. Если записи нет, то пробуем получить данные из WMI.
5. Если получилось, то возвращаем результат.
6. Если не получилось, то генерим GUID (уникальность), пишем его в соотв. ключ в реестре и возвращаем его.

Пользователи могут еще Windows переустанавливать. И не всегда перед установкой могут выполнить определенные действия - даже если написать инструкцию. Может сгореть жесткий диск или компьютер может быть заражен вирусами.

И привязка программы при этом не должна теряться.

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



Цитата:
Сообщение от lmikle
ЗЫ. А что с кодом по ссылке? Пробовал?

Код рабочий - но только на моей машине.

Но проверить на проблемном компьютере нет возможности.

Дергать пользователя, у которого была проблема пытался, но он игнорирует (тк у него проблема временно решена ключом, привязанным к жесткому диску (к определенным параметрами диска - разделам и т. д.), который действует до переустановки Windows (но он этого не знает, тк не рискнули ему сказать это, опасаясь недовольства) - ему это неинтересно, его все устраивает). Соответственно, проблема с этим пользователем всплывет, когда он решит переустановить Windows (придется выдать ключ еще раз - если к тому времени не получится нормально решить проблему).
Ответить с цитированием