2017-02-08 14 views
-1

Я работаю над проектом (проект Java) и с помощью Inno Setup 5 создаю установщик. Как я могу защитить использование файла install.exe и задать серийный номер во время установки?Защитите установку программного обеспечения, запросив серийный номер

Спасибо за помощь.

+0

Что такое "ключ"? Пароль? Или серийный номер? Или что? –

+0

Я хочу, чтобы защитить программное обеспечение: в автономном режиме с использованием серийного номера. Я не знаю, как это сделать. – user1571292

ответ

1

Inno Setup имеет встроенную функциональность, запрашивающую серийный номер на дополнительной странице «Информация о пользователе» и подтверждение введенного номера.

[Setup] 
UserInfoPage=yes 

[Registry] 
Root: HKLM; Subkey: "Software\My Company"; ValueType: string; ValueName: "SerialNumber"; \ 
    ValueData: "{userinfoserial}" 

[Code] 

function CheckSerial(Serial: String): Boolean; 
begin 
    Result := (Serial = '123'); 
end; 

enter image description here


Для более продвинутой реализации см CustomPage for Serial Number in Inno Setup.

+0

Ницца. Благодарю. Это первый шаг. Тогда мне нужно избежать копирования/вставки с помощью ключа regedit? – user1571292

+0

Для чего это полезно? –

+0

Если я обеспечу установщик, это хорошо. Но кто-то может скопировать папку и использовать мои мягкие без каких-либо проблем. Я думаю, что мне нужно заблокировать программное обеспечение, если во время установки установщик не создавал ключ regedit. – user1571292

0

Я работаю. Я Recommand добавить в сценарии InnoSetup:

Флаги: uninsdeletekey

Когда программа будет удалена, удалите весь ключ.

[Registry] 
Root: HKLM; Subkey: "Software\MySoft"; ValueType: string; ValueName: "AppInfo"; ValueData: "value" ; Flags: uninsdeletekey 

Я использовал это link для восстановления ключа в своем мягком.

value = WinRegistry.readString (
       WinRegistry.HKEY_LOCAL_MACHINE,        
       "SOFTWARE\\MySoft",   
       "AppInfo"); 
+0

Не используйте ответ, чтобы прокомментировать другой ответ. Используйте комментарии. –

+0

И если у вас есть другой вопрос, спросите его (http://stackoverflow.com/questions/ask). И почему вам все равно нужно избегать копирования/вставки? –

+0

Или 'uninsdeletekeyifempty' и' uninsdeletevalue'. –