PDA

Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.


Страниц : 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

YikxX
16-03-2008, 04:09
Не в курсе, писалось или нет - После отработки инсталлера Inno Setup в секции реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ появляется раздел, в котором прописаны все опции, выбранные при установке программы. Если эти записи добавить в реестр перед запуском самого инсталлятора, то прога поставится точно в такой же конфигурации. Имя раздела, вроде, для каждой проги прописано жестко и не меняется (остается его лишь найти и экспортировать в reg-файл с последующим удалением ненужных строк).

ChVL
18-03-2008, 08:38
Проблему защиты от распаковки можно решить следующим образом. В простейшем случае в секцию [Setup] дописываются две строчки и добавляется секция [ Code ]:
[Setup]
Encryption=Yes
Password=1a2b3c4d

[ Code ]
procedure InitializeWizard();
begin
WizardForm.PasswordEdit.Visible := False;
WizardForm.PasswordEdit.Text := '1a2b3c4d'
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
В этом случае пароль сохраняется в инсталляторе в явном виде.
Если же у вас есть желание скрыть пароль, то сгенерируйте для него MD5 хэш и сравните с помощью функции GetMD5OfString. Полностью этот способ привёл WindoStroy в посте #200.
Не забудьте в папку Inno Setup 5 (в PF) положить файл ISCrypt.dll.
В обоих случаях при инсталляции программы пользователь не заметит, что она запаролена, т.к. на старте пароль вводится из памяти с помощью скрипта секции [Code]. Если же попытаться программу распаковать, то unpacker намертво зависает…

jameszero
18-03-2008, 08:58
ChVL
К сожалению, способ не универсален - защищаются от распаковки только файлы программы, а сам скрипт легко извлекается Unpacker-ом

ChVL
18-03-2008, 10:30
jameszero,
скрипт легко извлекается Unpacker-ом
Каким? Пробовал Inno Setup Unpacker Explorer 2.0 - не распаковывает, в том числе и скрипт.

jameszero
18-03-2008, 16:15
ChVL
В Unpacker-е нужно выделить не все файлы, а только скрипт.

WindoStroy
18-03-2008, 22:15
Вышла версия 5.2.3.
http://www.jrsoftware.org/download.php/is.exe
http://www.jrsoftware.org/download.php/is.exe?site=1

Секция Code, идёт в бинарном файле, через секцию Code можно добавить параметры в реестр, и вот защита.

могу порекомендовать обратится сюда, возможно найдётся другое решение:
http://forum.ru-board.com/topic.cgi?forum=5&topic=24767&start=1080#lt

ChVL
19-03-2008, 09:26
jameszero,
К сожалению, способ не универсален »
Ну, не всё совсем уж так безрадостно, ибо извлечённый скрипт усечён. В нём нет пароля и нет секции [code] – это наиболее важные моменты. Тем не менее в каких-то случаях может не устроить то, что там полностью представлена секция [Registry].

boss911
20-03-2008, 00:46
В нём нет пароля »
Пароль можно достать из бинарного файла, но, насколько мне известно, это немного геморно.

woodyfon
20-03-2008, 02:37
Можно ли, и если можно, то как убрать окно приветствия в мастере установки приложения Inno Setup?
Окно приветстия добавляю как скриншот. Хочу сделать на подобие самораспаковівающиегося архива, но в inno setup можно прописать ключи реестра, путь установки, назначить иконки и т. д.
В общем хотелось узнать как сделать установку программі, чтобы она устанавливалась в фоновон режиме, т. е. пользователь не мог ни на что повлиять, а программа корректно установится. Короче говоря, хочется иметь такой дистрибутив прог, который есть на диске Zver-я.
http://i48.servimg.com/u/f48/12/08/20/88/innose10.jpg

boss911
20-03-2008, 02:53
В общем хотелось узнать как сделать установку программі, чтобы она устанавливалась в фоновон режиме »
Для этого достаточно запустить инсталлятор с ключом /VERYSILENT
Inno Setup Command Line Options (http://forum.oszone.net/thread-60604.html)

как убрать окно приветствия в мастере установки приложения »
Пропишите в секцию [Code] -
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
begin
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
end;
end;

woodyfon
20-03-2008, 03:02
Для этого достаточно запустить инсталлятор с ключом /VERYSILENT
Inno Setup Command Line Options »
Немного уточню, запустить скомпилированный инсталлятор из командной строки Windows?
[Codе]
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
begin
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)
end;
end; »
Код не проканывает! Дописал его в конце скрипта, ничего не изменилось! может ее надо где-то вызвать?

boss911
20-03-2008, 03:41
запустить скомпилированный инсталлятор из командной строки Windows? »
Совершенно верно.

Код не проканывает! »
А вы пропишите название секции 'Code' самостоятельно.

woodyfon
20-03-2008, 03:58
Правильно заметили, что просто скопировал и вставил :).
Расскажите немного о функции SendMessage. Прочитал справку, а описания ее параметров не наешл.
Процедура CurPageChanged отвечает за определенную страницу мастера. Ее параметр CurPageID=wpWelcome есть страница приветствия или окно приветствия. Когда появляется окно приветствия вызывается процедура SendMessage. Она имеет 4 параметра. Расскажите плиз о самой функции и ее параметрах.

boss911
20-03-2008, 04:21
Расскажите плиз о самой функции и ее параметрах. »
Это уже не ко мне, так как с программированием я на "вы", увы. :not-me:

есть страница приветствия или окно приветствия. »
Это я точно знаю, что страница приветствия. :)

ChVL
20-03-2008, 08:46
boss911,
Пароль можно достать »
Дык, можно закриптовать. А извлечённый хэш никому не нужен...

WindoStroy
20-03-2008, 21:11
имея хеш, можно легко подобрать пароль.

mariolast
25-03-2008, 00:34
Распаковал файл GoldfishAquarium-V2.exe

Получил install_script.iss с содержанием ниже. Только если его обратно запаковать, то при установке оно ставит в меню Пуск-Программы название Default, а как его вообще убрать, чтоб не ставило, то не вижу такой строки...

[Setup]
AppName=LifeGlobe Goldfish Aquarium 2.0
AppVerName=Goldfish Aquarium 2.0
DefaultDirName={pf}\Prolific Publishing, Inc.\Goldfish Aquarium 2.0
OutputBaseFilename=setup
Compression=lzma

[Files]
Source: {sys}\Goldfish2.scr; DestDir: {sys}; Flags: ignoreversion
Source: {app}\ReadMe.txt; DestDir: {app}; Flags: ignoreversion
Source: {app}\www.prolific.com.url; DestDir: {app}; Flags: ignoreversion

[Registry]
Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; Flags: uninsdeletekey
Root: HKLM; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueName: Version; ValueType: String; ValueData: 2.0; Flags: uninsdeletekey
Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueName: gAtt; ValueType: Binary; ValueData: 04 00 00 00; Flags: uninsdeletekey
Root: HKCU; SubKey: Software\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueType: binary; ValueName: RegCode; ValueData:xxx - модератор: Публикация лицензионных ключей и кодов запрещена ОПК 3.18 !!!
Root: HKLM; SubKey: SOFTWARE\Prolific Publishing, Inc.\LifeGlobe\GoldfishAquarium2; ValueType: binary; ValueName: RegCode; ValueData: xxx - модератор: Публикация лицензионных ключей и кодов запрещена ОПК 3.18 !!!
Root: HKCU; SubKey: Control Panel\Desktop; ValueType: string; ValueName: SCRNSAVE.EXE; ValueData: Goldfish2.scr

[Run]

[Icons]
Name: {group}\Goldfish Aquarium 2.0\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys}
Name: {group}\Goldfish Aquarium 2.0\Goldfish Aquarium 2.0 Read Me; Filename: {app}\ReadMe.txt
Name: {group}\Goldfish Aquarium 2.0\Uninstall LifeGlobe Goldfish Aquarium 2.0; Filename: {app}\unins000.exe
Name: {group}\Goldfish Aquarium 2.0\Prolific Publishing on the Web; Filename: {app}\www.Prolific.com.url
Name: {userdesktop}\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys}
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Goldfish Aquarium 2.0; Filename: {sys}\Goldfish2.scr; WorkingDir: {sys}

[Tasks]

[CustomMessages]
NameAndVersion=%1 version %2
AdditionalIcons=Additional icons:
UninstallProgram=Uninstall %1
AssocFileExtension=&Associate %1 with the %2 file extension
AssocingFileExtension=Associating %1 with the %2 file extension...

mariolast
25-03-2008, 01:00
метод /LOADINF="filename" не работает, неизвестно, откуда он его считывает

unikum111
25-03-2008, 08:47
Получил install_script.iss с содержанием ниже. Только если его обратно запаковать, то при установке оно ставит в меню Пуск-Программы название Default »
Нужно добавить в секцию [Setup] строку:
DefaultGroupName=LifeGlobe Goldfish Aquarium 2.0 (полсе знака "=" можеете написать всё что угодно)
а как его вообще убрать, чтоб не ставило, то не вижу такой строки... »
добавить в секцию [Setup] строку (страница с выбором будет, но установка в меню пуск не произойдёт, там будет стоять отменяющий флажок):
AllowNoIcons=yes
Чтобы совсем отключить стрницу выбора программной группы нужно добавить в секцию [Setup] строку:
DisableProgramGroupPage=yes
Для более плотного сжатия можно также в секцию [Setup] добавить строку:
SolidCompression=yes
Обычно распакованный скрипт несколько отличается от оригинального, поэтому приходится подправлять.

fox_cub
25-03-2008, 19:30
Столкнулся с проблемой распаковки инсталляторов созданных последней версией...В частности DVDFab4120...В чём проблема не знаю....




© OSzone.net 2001-2012