PDA

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


Страниц : 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

byUnit
10-06-2013, 00:15
Подскажите пожалуйста. Как добавить дополнительные шаги в установщике ?

APTEM2
10-06-2013, 00:16
insombia, Всё спс ребят
И ещё что нужно прописать чтобы сделать слайд-картинок во время установки работаю над другим скриптом

byUnit
10-06-2013, 01:47
Доброго времени суток. Поставил себе задачу написать инсталятор в программе Inno Setup. Наслышан об этой программе и её возможностям. Сидел сутки листал мануалы, перечитывал некоторые темы но всё же не нашел много ответов на свою задумку.
Я тут составил небольшой план по инсталятора (немного глупо но я теперь буду точно знать чего я хочу).


1. Приветствие с картинкой и 2 кликобательнымы кнопками
2. Окно выбора Языка (Eng, Rus)
3. Окно с описанием
4. окно с соглашением установки
5. Проверка наличия Dokan библиотеки (если нет то установить и перезагрузить комп)
6. АВТОЗАПУСК - Продолжение установки с момента её завершения
7. Выбор установки + дополнительная настройка
8. Предложить установить некоторые программы
9. Указать путь к конкретной папке (только тогда появляется кнопка Установить)
10. Завершение установки с кнопкой запустить приложение + описание над ним

Вот скажите. Это же все реально реализовать? Если да подскажите кто что может и знает! Смотрю сюда очень часто отвечу практически сразу! Заранее благодарю!

insombia
10-06-2013, 07:40
APTEM2 http://narod.ru/disk/22510124000/isSlideShow%20v1.02.rar.html
3 пример это картинки в самом окне инстала

byUnit что именно нужно?

byUnit
10-06-2013, 13:52
Я описывал выше!

insombia
10-06-2013, 16:36
byUnit то что ты описал,это тоже самое что я бы тебе задал вопрос на китайском!сформулируй правильно вопрос,шаги какие-софт или что?

insombia
10-06-2013, 16:56
byUnit
1. Приветствие с картинкой
var
WelcomeLabel1, WelcomeLabel2, FinishedLabel, FinishedHeadingLabel: TLabel;

procedure InitializeWizard();
begin
ExtractTemporaryFile('img1.bmp');

WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\img1.bmp'));



WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
end;

2. Окно выбора Языка (Eng, Rus)
[Languages]
Name: Russian; MessagesFile: compiler:Languages\Russian.isl;
Name: english; MessagesFile: compiler:Languages\english.isl;
6. АВТОЗАПУСК - Продолжение установки с момента её завершения
это вроде нельзя сделать

8. Предложить установить некоторые программы
[Components]
Name: g0; Description: Portal 2; Types: full custom; Flags: disablenouninstallwarning checkablealone fixed
Name: g0\c1; Description: Coop-Launcher; Types: full; Flags: dontinheritcheck
так же можно посмотреть пример в inno gamescript generator

byUnit
11-06-2013, 02:16
insombia спасибо буду ковырять данные пункты
А вообще мне нужен инсталятор с моими вложенными файлами

habib2302
11-06-2013, 14:57
как добавить чекбокс для удаления сохранений/настроек игры?

saurn
11-06-2013, 15:12
habib2302, msgBox после деинсталяции:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usPostUninstall:
if DirExists(AddBackslash(ExpandConstant('{userdocs}')) + 'My Game\Save') then
begin
if MsgBoxEx(0, 'Удалить сохранения игры находящиеся по адресу:' + #13#13 + AddQuotes(AddBackslash(ExpandConstant('{userdocs}')) + 'My Game\Save'), 'Удаление сохранений', $00000004 or $00000020, 0, 0) = IDYES then
DelTree(AddBackslash(ExpandConstant('{userdocs}')) + 'My Game\Save', True, True, True);
end;
end;
end;

habib2302
11-06-2013, 16:56
помогите мне пожалуйста решить проблему
http://img89.imageshack.us/img89/1834/thumbulxlw.png (http://img266.imageshack.us/img266/4264/snagit00021106201315490.png)

insombia
11-06-2013, 17:24
habib2302 переводить пробавал?
APPID_BAD_PIGGIES = '{9524C306-CC16-44A0-82AA-996409D1A059}';
здесь что-то не так

habib2302
11-06-2013, 17:28
в смысле и что переводить пробавал?
я тоже думал,что проблемы в этом коде
если я не ошибаюсь что-то еще здесь не так
///////////////////////////////////Удаление других приложений при старте
function GetUninstallPath(const AppIds: array of String): array of String;
var
StringList: TStringList;
i, Len: Integer;
Buff: String;
begin
for i := 0 to GetArrayLength(AppIds)-1 do
begin
Buff := RemoveQuotes(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + AppIds[i] + '_is1,UninstallString|}'));
if Buff <> '' then
begin
Len := GetArrayLength(Result);
SetArrayLength(Result, Len+1);
Result[Len] := Buff;
end;
end;
end;

Mafioza
11-06-2013, 19:57
Всем доброго вечера , хочу задать вопрос ! Возможно ли сделать так чтобы во время установки была кнопка "Детали" где после нажатия отображались детали установил как в nsis .

insombia
11-06-2013, 20:17
habib2302 что-то вроде не совпадает,та и зачем оно?

habib2302
11-06-2013, 20:20
insombia, для того,чтобы перед установкой удалялась официальная игра,а вот ее appid {9524C306-CC16-44A0-82AA-996409D1A059}

saurn
11-06-2013, 21:01
Возможно ли сделать так чтобы во время установки была кнопка "Детали" »
http://forum.oszone.net/post-1924556-93.html
Если подойдет Johny777 "Полезное сообщение" нажмете

Mafioza
11-06-2013, 21:32
saurn спасибо

El Sanchez
11-06-2013, 22:07
я тоже думал,что проблемы в этом коде
если я не ошибаюсь что-то еще здесь не так »
habib2302, вместо этой строки:

Buff := RemoveQuotes(ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + AppIds[i] + '_is1,UninstallString|}'));

напишите

RegQueryStringValue(HKLM, Format('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%s_is1', [AppIds[i]]), 'UninstallString', Buff);
Buff := RemoveQuotes(Buff);

Скриптовая константа reg не может раскрыть GUID, считая его константой из-за фигурных скобок. Тут либо экранировать открывающую фигурную скобку (об этом найдете и почитаете в справке сами), либо использовать RegQueryStringValue для чтения из реестра.

habib2302
11-06-2013, 22:30
El Sanchez, в справке я нашел Если требуется ввести "{", наберите ее два раза. (You do not need to double "}" characters.)
я так и делал и все равно




© OSzone.net 2001-2012