Наши преимущества

Подскажите инсталлятор

Sergiuz

Турист
Credits
0
Добрый день!

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

Никогда не работал с ними буду также рад за ссылки с описанием.

Заранее благодарен!
 
Из бесплатных, например, Как увидеть ссылки? | How to see hidden links?.

P.S. Правда с запросом ключа не очень понятно. Если будет их база, а не один, то не уверен, что получится. Но я давно не работал с этим софтом.
 
Последнее редактирование модератором:
Ognev, благодарю.

demav, благодарю. А в NSIS возможно сделать проверку ключа?
 
demav,
как понимаю, инсталляция должна пойти, только если введен один из правильных ключей. База ключей, похоже, должна быть в самом инсталляторе. В Inno Setup есть возможность, заявленная как "Support for passworded and encrypted installs", но не знаю, поддерживается ли набор паролей. Если в NSIS есть возможность прервать установку, если строка ввода не удовлетворяет некоему условию (списку валидных ключей), то этого, думаю, достаточно.
P.S. Возможно в Inno Setup тоже есть такая возможность.

P.P.S. Глянул из интереса в справку к Inno Setup.
Пароль, который пользователь должен будет ввести в начале установки.
Используя пароль, задайте директиве Encryption значение yes, иначе файлы сохранятся как простой текст и получить к ним доступ не составит труда.
То есть пароль будет один.
P.P.P.S. Чисто мое мнение, что регистрацию лучше делать в программе, а не в инсталляторе. Человек, имеющий ключ, думаю без труда соберет из твоих файлов, ключей реестра и т.п. свой дистрибут, где ввод ключа не требуется.
 
Последнее редактирование модератором:
Если в NSIS есть возможность прервать установку, если строка ввода не удовлетворяет некоему условию (списку валидных ключей), то этого, думаю, достаточно

Да, это есть - функция Quit. Условные переходы тоже, соответственно, есть.

Я вот InnoSetup совсем не знаю, поэтому не могу рекомендовать использовать тот или иной инсталлятор. Могу только пояснить детали по NSIS.
 
demav,
автору темы не до глупостей, а нам, простым смертным, хотелось бы завершенности. Если вам не сложно, не могли бы вы для потомков запостить здесь пример реализации под NSIS проверки введенного пользователем ключа по списку валидных (с выходом из установки, если ключ неправильный).
 
Из 99% инсталяторов можно достать файлы в один клик Ctrl+PgDown правильно настроенным тоталом или фаром (в их числе InnoSetup и NSIS). Наилучшая реализация защиты это установка триала и реализация защиты в самой программе. Другой вариант это написание собственного инсталятора. Если наворотов особых нет то можно сделать инсталятор RARом, пароли подбирать к нему довольно долгое занятие.
Как увидеть ссылки? | How to see hidden links? - удобно писать скрипты NSIS.
 
запостить здесь пример реализации под NSIS проверки введенного пользователем ключа

Вот такой код, например:

Код:
!include "MUI.nsh"
!include "nsDialogs.nsh"
SetCompress off

!insertmacro MUI_PAGE_WELCOME
Page custom fnCustomInit fnCustomDestroy
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"

Name "CheckTest"
OutFile "CheckTest.exe"
ShowInstDetails show

Var Dialog
Var Text 
Var Label

Function fnCustomInit
    nsDialogs::Create 1018
    Pop $Dialog
    
    ${NSD_CreateLabel} 0 5u 100u 10u "Введите серийный номер"
    Pop $Label 

    ${NSD_CreateText} 0 20u 100% 15u ""
    Pop $Text
        
    nsDialogs::Show
FunctionEnd

Function fnCustomDestroy
    ${NSD_GetText} $Text $R0
	StrCmp $R0 "12345" +3 0
    MessageBox MB_OK "Серийный номер введен неверно"
	Quit
FunctionEnd

Section
    DetailPrint "Hello from CheckTest"
    SetAutoClose false
SectionEnd

Если ввели неверный серийный номер "12345", то производится вывод сообщения и выход. Если код верный, то инсталляция продолжается.

В примере важен принцип. Синтаксис языка NSIS, конечно, не C++ :), но сделать можно почти все, наверное.
 
Из 99% инсталяторов можно достать файлы в один клик Ctrl+PgDown правильно настроенным тоталом или фаром ....

Можно и комбинировать - контент упакован к примеру раром с паролем и с помощью скрипта nsis или inno (в случае корректного ввода пароля юзером) разворачивать в фоновом режиме с подстановкой пароля...
 
Верх