PDA

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


Страниц : 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 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

bagrat
29-07-2011, 14:13
R.i.m.s.k.y., в том -то и дело , что красным не подчеркивает, а этот скрипт раз 10 компилировал(я новичок извольте )

R.i.m.s.k.y.
29-07-2011, 14:22
bagrat, я ж написал как сделать, инно будет трассировать скрип не на стадии компиляции, а при выполнении, когда эта ошибка вылезет то инно остановит исполнение и красным выделит ошибочную строчку
если тебе долго компилять заново - в секции files замени временно толстые файлы/папки на "заглушки" или закоменнтируй если нету Before/AfterInstall и Check

скорее всего ты обращаещься в секции Code к элементу (например к списку компонентов) по номеру, которого нет, или что-то подобное

скрипты-простыни хорошо бы не только прятать под кат, но и под тег [Сode]...[/Сode]

скрипт вверху точно полностью приведен?

bagrat
29-07-2011, 14:32
да я открыл скипт нажал F9 пошла компиляция; и не будет подсветки(могу даже видео сделать, когда в следующий раз компиляцию начну выполнять(4 дня уже делаю) , для достоверности)

R.i.m.s.k.y.
29-07-2011, 14:34
да я открыл скипт нажал F9 пошла компиляция; »
после компиляции инно сам запустит твой проект, в его окне в логе будет видны стадии прохождения установки
ты пользуешься оригинальным инно, не истулом и не инноиде?
я написал для оригинального инно (и для расширенной версии от кетайсев)
истул и инноиде помоему не умеют трассировать экзешник

ты полностью прочитал мое сообщение выше? ты облегчил секцию Files чтобы поменьше ждать компиляции?

bagrat
29-07-2011, 14:43
программа с офф сайта http://s1.ipicture.ru/uploads/20110729/Hn7B5JPP.bmp +русик сам встроил

isttool использовал, когда внедрял ключи реестра т.е.
выполнить---regedit--software--(папка с игрой)--экспорт)
открыл istool выполнил сжать---открыл скрипт от инно ---registry --импорт --сохранил
затем запустил сохраненный скрипт через инно

ты облегчил секцию Files чтобы поменьше ждать компиляции? »-- НЕТ(настройки инно не менял)

в том то и дело я не продолжаю установку скопилированной игры(репака)т.к у меня игра уже стоит и я ее не удаляю

R.i.m.s.k.y.
29-07-2011, 14:50
в том то и дело я не продолжаю установку скопилированной игры(репака)т.к у меня игра уже стоит и я ее не удаляю »
патч чтоли делаешь?
смысл моих сообщений в том, чтобы инно сам написал тебе проблемную строчку, а дальше уже будем посмотреть
в приведенном тобой скрипте я не вижу ошибок (ну кроме WizardForm.Bevel1.visible, в оригинале в инно нет переменных с цифрами, значит у тебя где-то еще кусок кода в котором объявляются эти переменные, да и ошибка на WizardForm.Bevel1.visible была бы другая - неизвестная переменная а не index list out of bounds

bagrat
29-07-2011, 14:55
нет, решил репак игры сделать(просто лицуху когда-то купил) спрашивал репакеров ,говорят не знают ищи кряк ставь кряк и не морочь себе голову , но все кряки с вирусней

компиляция завершена http://s1.ipicture.ru/uploads/20110729/thumbs/abm6Q3cq.bmp (http://s1.ipicture.ru/Gallery/Viewfull/5167420.html) красного не где нет(

PS сейчас еще раз запущу репак и посмотрю может еще ошибки вылезут

R.i.m.s.k.y.
29-07-2011, 15:04
во первых - в твоем скрипте я не вижу кода для ввода серийника, а твоя ошибка возникает когда ...ввожу серийник ради любопытства выдает окно с ошибкой
во вторых - при трассировке ты нажал отмену установки до места возникновения ошибки или после?
если хочешь - можешь кинуть мне скриптик в личку, обещаю посмотреть и не разглашать, но оформление в инно я не знаю - см подпись :)

вот ты его запусти сейчас скомпилированный не из тотала/проводника, а из самого инно - кнопочкой на панелье

PS - bmp зло, жми в следующий раз в жипег
PS2 - я постоянно делаю репаки, вишера к примеру, мафии там, анрыла и прочего, никаких проблем, к томуже без кряка зачастую никуда тк игры привязываются к диску или к учетке в нете
PS3 - хороший пак innoultra у Лександра, все в одном флаконе.

bagrat
29-07-2011, 15:21
R.i.m.s.k.y., вот еще две ошибки они появляются после того, когда хочу вырубить инсталл
http://s1.ipicture.ru/uploads/20110729/XfTteAso.bmp
http://s1.ipicture.ru/uploads/20110729/kB0ITs1P.jpg, диспетчером не получается(установку репака провожу на вирт машине )
во вторых - при трассировке ты нажал отмену установки до места возникновения ошибки или после? » отмену нажимаю когда окончил компиляцию и инно просит установить репак

нет проблем могу выложить скрипт, только он один в один на предыдущей странице поста

R.i.m.s.k.y.
29-07-2011, 15:25
отмену нажимаю когда окончил компиляцию и инно просит установить репак »
вот, невнимательно меня читал, надо продолжить ставить как обычно! т.е. инно компилит, запускает, ты в самом инсталлере давишь далее-далее-далее...

ошибка Accsseesscc Violation вообще ни в суп ни в красную армию, это скорее всего экзешник поврежден, виртуалка Microsoft Virtual PC? у нее был глючок с сохранением толстых файлов, они бились при записи

нет проблем могу выложить скрипт, только он один в один на предыдущей странице поста »
раз так ненадо, я вечерком сам его компильну

bagrat
29-07-2011, 15:28
R.i.m.s.k.y., да но у меня стоит игра оригинал, если я начну устанавливать ее даже на другую портицию она станет нормально , но все траблы начнутся после установки

http://rghost.ru/16189801

есть какой-то способ увеличить скорость компиляции , а то опять ждать ~25 мин

Microsoft Virtual PC » нет, использую Oracle VM VirtualBox

R.i.m.s.k.y.
29-07-2011, 15:38
есть какой-то способ увеличить скорость компиляции , а то опять ждать ~25 мин »
купить коре 2600к :-) и разогнать до 4,5ГГц
или временно для проверки как я выше написал в секции Files делать заглушки из пустых папок
но все траблы начнутся после установки »
так это при удалении ошибки? тыж писал что при установке!

Rikill
29-07-2011, 15:39
bagrat, проблема либо в exe либо в виртуалке, инно не виновна, ну или на другой диск, скорее всего кряк гумно

bagrat
29-07-2011, 15:53
Rikill, нет не кряк, ввожу сирийник вручную
так это при удалении ошибки? тыж писал что при установке! » ошибка http://s1.ipicture.ru/uploads/20110729/thumbs/Qgc38zVe.bmp (http://s1.ipicture.ru/Gallery/Viewfull/5165540.html)- при запуске ярлыка игры!

а при удалении http://s1.ipicture.ru/uploads/20110729/kB0ITs1P.jpg

nik1967
29-07-2011, 16:13
ну кроме WizardForm.Bevel1.visible, в оригинале в инно нет переменных с цифрами »
Хм, кто тебе это сказал? Из справки (F1):
TWizardForm = class(TSetupForm)
property Bevel1: TBevel; read;

bagrat
29-07-2011, 16:37
ребята проблема с ошибками снята это их давала вирт машина , но главный вопрос как в скрипте прописать серийник к запуску игры

ребята читая на форуме наталкиваюсь на запись скриптов, к примеру SaveStringsToFile(F, S, False); // сохраняем файл в самом скрипте когда редактирую, создаю что- то начиная с // ... писать надо или это для пояснения пользователям писать не надо в скрипте

alert30
29-07-2011, 16:53
Ребята, дайте скрипт, чтобы показывалось в процессе инсталлятора, проценты, заранее спасибо...

No4noylis
29-07-2011, 17:04
alert30,


[Files]
Source: innocallback.dll; Flags: dontcopy

[_code]
type
TTimerProc = procedure(HandleW, Msg, idEvent, TimeSys: LongWord);

var
TimerID: LongWord;
PercentsLabel: TLabel;

function WrapTimerProc(callback: TTimerProc; Paramcount: Integer): longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external 'SetTimer@user32';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32 stdcall delayload';

Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.1n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
SetLength(Result, Length(Result)-1);
End;

procedure PercentsInstall();
begin
with WizardForm.ProgressGauge do
begin
PercentsLabel.Caption:= 'Выполнено ' + NumToStr((Position-Min)/((Max - Min)/100)) + ' %';
end;
end;

Procedure MyTimerProc(h, msg, idevent, dwTime: Longword);
Begin
if WizardForm.CurPageID = wpInstalling then PercentsInstall();
End;

procedure DeinitializeSetup();
begin
KillTimer(0, TimerID);
end;

procedure InitializeWizard();
begin
PercentsLabel:= TLabel.Create(WizardForm);
with PercentsLabel do
begin
Left:= WizardForm.DirEdit.Left + ScaleX(150);
Top:= WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + ScaleY(5);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height + ScaleY(5);
AutoSize:= False;
Transparent := True;
Font.Style:= [fsBold, fsItalic];
Font.Size:= 13;
Font.Name:= 'Constantia' ;
Font.Color:= ClWhite;
Parent:= WizardForm.InstallingPage;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
TimerID:= SetTimer(0, 0, 500 {Полсекунды}, WrapTimerProc(@MyTimerProc, 4));
end;
end;


innocallback.dll кинешь в папку с скриптом.

nik1967
29-07-2011, 17:11
это для пояснения пользователям»
Так сказать, комментарии.
А писать или нет - тебе решать.

alert30
29-07-2011, 17:12
No4noylis, сорри, я видел в процессе инсталляции проценты, только шрифт белый, спасибо.




© OSzone.net 2001-2012