Устанавливать только на одну машину - PullRequest
1 голос
/ 25 января 2010

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

Мне нужен совет по созданию такой системы. Спасибо.

P.S. Серийный ключ должен быть введен на веб-странице вместо установщика.

Ответы [ 6 ]

1 голос
/ 25 января 2010

Похоже, вам нужно создать загружаемую управляющую программу activex, которая будет работать на компьютере клиента, на котором она будет запрашивать:

  • MAC сетевого адаптера
  • Версия для Windows, включая SP
  • Серийный номер жесткого диска
  • Марка процессора и тип процессора

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

Единственное, что ActiveX должен быть написан на C / C ++, так как вы не можете сделать это на языке .NET, так как это предполагает, что на машине клиента будет установлена ​​среда выполнения, что IMHO является опасным предположением.

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

1 голос
/ 25 января 2010

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

Использование Mac Adress в качестве системной клавиши не - хорошее решение, так как его легко подделать.

0 голосов
/ 25 января 2010

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

0 голосов
/ 25 января 2010

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

Это единственная модель, которая работает для компьютерных игр.

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

http://edn.embarcadero.com/article/26040 Ссылка на интерфейсы .com для доступа к руководству

альтернативой было бы использовать что-то вроде sysinfo или dxdiag и сохранить результаты в файл ... хэшировать его и использовать в качестве серийного номера. Гораздо меньше задействовано кодирование - но немного грязнее.

Сохраните это и введите ключ установки - его легко обнаружить и управлять переустановками. Т.е. вы действительно не хотите идти «компьютер говорит нет» - это действительно маркетинговая возможность

0 голосов
/ 25 января 2010

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

Тогда, если вы найдете тот же серийный номер #, но другой аппаратный серийный номер, вы можете отправить ответ обратно о том, что вы не можете активировать программное обеспечение ...

EDIT

Вот некоторая информация о получении информации об оборудовании (при условии .NET-среды, но вы можете найти похожую для используемой вами среды).

0 голосов
/ 25 января 2010

Базируйте серийный номер на некоторой конфигурации оборудования. Если аппаратное обеспечение меняется, аннулируйте серийный номер. Microsoft Windows использует этот тип подхода при активации продукта .

Надеюсь, это поможет некоторым.

...