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

Sergiuz

Турист
Регистрация
15 Мар 2009
Сообщения
17
Реакции
1
Credits
8
Добрый день!

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

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

Заранее благодарен!
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Из бесплатных, например, Для просмотра ссылки Войди или Зарегистрируйся.

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

Sergiuz

Турист
Регистрация
15 Мар 2009
Сообщения
17
Реакции
1
Credits
8
Ognev, благодарю.

demav, благодарю. А в NSIS возможно сделать проверку ключа?
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
А в NSIS возможно сделать проверку ключа?

Вообще там большие возможности. Например, можно сделать ввод значения (строка) средствами NSIS.

Поясните, что значит "ввод ключа", где он должен вводиться и куда передаваться.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
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. Чисто мое мнение, что регистрацию лучше делать в программе, а не в инсталляторе. Человек, имеющий ключ, думаю без труда соберет из твоих файлов, ключей реестра и т.п. свой дистрибут, где ввод ключа не требуется.
 
Последнее редактирование модератором:

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Если в NSIS есть возможность прервать установку, если строка ввода не удовлетворяет некоему условию (списку валидных ключей), то этого, думаю, достаточно

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

Я вот InnoSetup совсем не знаю, поэтому не могу рекомендовать использовать тот или иной инсталлятор. Могу только пояснить детали по NSIS.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
demav,
автору темы не до глупостей, а нам, простым смертным, хотелось бы завершенности. Если вам не сложно, не могли бы вы для потомков запостить здесь пример реализации под NSIS проверки введенного пользователем ключа по списку валидных (с выходом из установки, если ключ неправильный).
 

xpect

Местный
Регистрация
10 Авг 2010
Сообщения
17
Реакции
26
Credits
60
Из 99% инсталяторов можно достать файлы в один клик Ctrl+PgDown правильно настроенным тоталом или фаром (в их числе InnoSetup и NSIS). Наилучшая реализация защиты это установка триала и реализация защиты в самой программе. Другой вариант это написание собственного инсталятора. Если наворотов особых нет то можно сделать инсталятор RARом, пароли подбирать к нему довольно долгое занятие.
Для просмотра ссылки Войди или Зарегистрируйся - удобно писать скрипты NSIS.
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
запостить здесь пример реализации под 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++ :), но сделать можно почти все, наверное.
 

vvvboss

Турист
Регистрация
17 Фев 2009
Сообщения
20
Реакции
0
Credits
40
Из 99% инсталяторов можно достать файлы в один клик Ctrl+PgDown правильно настроенным тоталом или фаром ....

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