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

ChVL
12-03-2011, 07:19
Цитата ChVL:
…и призваны (по мнению создателей) хранить служебную информацию и авторские права.
Коллега, и где только Вы такой чуши наслушались, а?! »
Да хотя бы в той статье, ссылку на которую Вы сами дали, читаем:
В Windows 2000 Microsoft начал использовать альтернативные потоки данных в NTFS для хранения информации, такой как данные файла автора или названия атрибутов и изображения миниатюр. (Перевод мой)
Могу привести и немало другой подобной "чуши", подтверждающей мои слова. Выбрал один источник (http://www.xakep.ru/post/21628/default.asp), который отличается тем, что в нём приведены конкретные коды, предлагаемые к использованию - тут уж не поспоришь... С этим материалом сейчас, кстати, и работаю применительно к поставленной задаче.

Gnom_aka_Lexander
12-03-2011, 11:22
Ну а почему сразу не задать нужную ширину текста при создании TLabel, а AutoSize поставить в False?
Мне кажется так проще всего... »
Я вот (http://rghost.ru/4733381) что имею ввиду, на странице компоненты лейбл с описанием компонент.
На данный момент там все вручную...

insombia
12-03-2011, 16:04
кто то может сделать мне скрипт установки Devil May Cry 4 типа как NFS Undercover?

Gnom_aka_Lexander
12-03-2011, 16:09
insombia, береш скрипт NFS Undercover и просто меняеш там названия, ярлыки, реестр, графику оформления на те, которые должны быть в нужной тебе игре. Это совсем несложно, хотя-бы начни, если непонятно - тебе подскажут.
За тебя такой сложный скрипт с нуля точно никто писать не будет, если только за деньги.

Serega
12-03-2011, 19:31
Я вот что имею ввиду »
Если не сложно, перекомпилируйте на пустой инсталл, а то при моей медленной скорости 4,5 кб\сек, я просто не могу скачать файл, постоянно скидывает...

Gnom_aka_Lexander
12-03-2011, 19:47
Serega, это пустой инстал... полный он около 60 метров, скрипт окол 11-ти метров. Перезалил сюда (http://innoultra.ru/downloads/тест.exe) - ссылка прямая, может не будет скидывать.
Подскажите пожалуйста, как сюда:
procedure CurStepChanged(CurStep: TSetupStep);
ResultCode, tmp:integer;
begin
if CurStep = ssDone then
if MsgBox('{#SetupSetting("AppName")}' +' успешно ' + ' установлена!' + #10#10#13 + 'Запустить ' + '{#SetupSetting("AppName")}' + '?' , mbInformation, MB_OKCANCEL) = IDOK then
Exec(ExpandConstant('{#AppExe}'), '', '', SW_SHOW, ewNoWait, ResultCode);
end;
end;
приделать еще одну кнопку, на запуск еще одного файла?

Serega
12-03-2011, 20:07
приделать еще одну кнопку, на запуск еще одного файла? »
Это стандартное сообщение и задать название для третьей кнопки не получится, придётся рисовать самому такое сообщение, т.е. просто создаёте форму и все контролы, которые хотите на ней увидеть. Пример создания формы есть в CodeClasses.iss, смотрите procedure FormButtonOnClick(Sender: TObject);

insombia
12-03-2011, 20:18
http://i17.fastpic.ru/big/2011/0312/4e/646c02e7367a13826ffc70abd5466b4e.jpg

кто то может сделать подобный инсталятор для call of duty modern warfare 2?

И вопрос есть ли програмка для того чтобы можно было как то с любой игры знать коды для inno припустим как у механиков

duxa
12-03-2011, 20:46
insombia, Держи (http://rghost.ru/4741045) свой айфон.

Gnom_aka_Lexander
12-03-2011, 22:58
Разобрался со своим (http://forum.oszone.net/post-1633371-1069.html) вопросом, сделал на примере скрипта для игры Minecraft скачать (http://rghost.ru/4743261) заодно получился меседж-бокс, который и на семерке отображается без белой полоски снизу.

insombia
13-03-2011, 16:04
duxa там фон dead space 2 как мне сделать фон call of duty? файлы я менял не помогает

R.i.m.s.k.y.
13-03-2011, 17:23
Повторяю вопрос - как сделать мультиязычный инсталлер в части касающейся списка компонентов.

[Languages]

Name: russian; MessagesFile: compiler:Languages\Russian.isl;
Name: english; MessagesFile: compiler:\Default.isl;

[Components]
# define abcd "абвгд"
Name: a; Description: {#abcd}; Flags: disablenouninstallwarning

надо чтобы при русском языке было abcd = "абвгд", а при англ abcd = "abcdefg"
Разные переменные заводить не вариант, по переменным идет проверка/подстановка через код наподобие этой
WizardForm.ComponentsList.ItemEnabled[WizardForm.ComponentsList.Items.IndexOf('{#abcd}')] := False;

Gnom_aka_Lexander
13-03-2011, 17:33
R.i.m.s.k.y., Я-же добавил к своему ответу тогда - язык может применяться как компонент:
[Languages]
Name: ru; MessagesFile: compiler:Languages\Russian.isl; LicenseFile: 1.rtf; InfoBeforeFile: Пролог_ru.rtf; InfoAfterFile: Эпилог_ru.rtf
Name: en; MessagesFile: compiler:Languages\English.isl; LicenseFile: 2.rtf; InfoBeforeFile: Пролог_En.rtf; InfoAfterFile: Эпилог_En.rtf

[Files]
Source: 1; DestDir: {app}; Languages: ru;
Source: 2; DestDir: {app}; Languages: en;

[Tasks]
Name: 1; Description: русский; Languages: ru;
Name: 2; Description: Английский; Languages: en;

[Components]
# define abcd "абвгд"
# define abcd1 "abcdefg"
Name: a; Description: {#abcd}; Flags: disablenouninstallwarning; Languages: ru;
Name: b; Description: {#abcd1}; Flags: disablenouninstallwarning; Languages: en;

XXXler
13-03-2011, 17:55
R.i.m.s.k.y.


[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl;
Name: english; MessagesFile: compiler:\Default.isl;

[Components]
Name: a; Description: "{cm:abcd}"; Flags: disablenouninstallwarning

[CustomMessages]
english.abcd=abcdefg
russian.abcd=абвгд

...

WizardForm.ComponentsList.ItemEnabled [WizardForm.ComponentsList.Items.IndexOf (ExpandConstant ('{cm:abcd}'))] := False;

ryabis
17-03-2011, 15:33
Не нашел ответа на свой вопрос и подходящей темы...
Как в скрипте Inno Setup выйти из инсталлятора? Делаю так:

|Code|
function InitializeSetup(): Boolean;
begin
//....

if interbaseInstalled = true then begin
MsgBox('В системе установлен InterBase!', mbError, MB_OK);
Exit;
end;

//....
end;
Но выходит только из этой функции, а надо прекратить работу всего инсталлятора...

Самого осенило.... =)

|Code|
function InitializeSetup(): Boolean;
begin
//....

if interbaseInstalled = true then begin
MsgBox('В системе установлен InterBase!', mbError, MB_OK);
Result := false;
Exit;
end;

//....
end;

0.07
17-03-2011, 21:12
у меня такая проблемма: я беру за основу этот (http://forum.oszone.net/attachment.php?attachmentid=61317&stc=1&d=1300386055) скрипт и редактирую его, но почему то инсталлятор создается, а архив не распаковывается
может кто-нибудь посмотрит Мой скрипт (http://forum.oszone.net/attachment.php?attachmentid=61316&stc=1&d=1300385451) и подскажет, что я делаю не так. Буду очень признателен

Gnom_aka_Lexander
17-03-2011, 21:42
0.07, У тебя парадокс в строчке:
Source: {src}\PES11.arc; DestDir: {app}; Flags: external dontcopy{#SourceToProgress}
- ты задаеш путь для архива DestDir: {app} - положить сюда, и тут-же - Flags: external dontcopy - говориш, что его не нужно копировать никуда (по умолчанию в этом случае копируется в папку темп но у тебя я хз вообще, куда в этом случае уйдет твой архив) - инсталлятор в итоге не знает, где брать то, чтто распаковывать :)

0.07
17-03-2011, 22:35
Лександер,
спасибо огромное,очень помог.я столько времени думал над этим скриптом, а дело было в том, что я неправильно указал, где лежит архив

Krinkels
17-03-2011, 23:55
Доброго времени суток, друзья. Обновил свой сборник скриптов, забираем (http://www.krinkels.ru/load/raznoe/inno_faq_v1_4/2-1-0-29)

Iska
18-03-2011, 00:04
Выбрал один источник, »
Спасибо за ссылку. Теперь ясно, где Вы сие почерпнули. Журнал мог бы потратиться на литкорректора, дабы не пропускать таких ошибок, как «безфайловые процессы», прямо в заголовке статьи. Статья написана весьма предвзято, автор выдаёт свои рассуждения за вселенскую истину.
Одна чушь:
Они [именованные потоки] никак не сказываются на размере файла (!!!)…
вместо того, чтобы написать, например:
В качестве размера файла командный процессор и Проводник указывают размер основного не именованного потока, тем не менее полный размер файла будет состоять из суммарной длины всех входящих в него потоков.

Другая чушь, тут же:
…и призваны (по мнению создателей) хранить служебную информацию и авторские права.
Из какого пальца автор высосал эту истину? Приведённая мною ссылка (http://en.wikipedia.org/wiki/Alternate_data_stream) и Ваш перевод:
В Windows 2000 Microsoft начал использовать альтернативные потоки данных в NTFS для хранения информации, такой как данные файла автора или названия атрибутов и изображения миниатюр. »
Разницу видите? Между «призваны (по мнению создателей) хранить служебную информацию и авторские права» и «Начал использовать для…» — колоссальная разница. В первом делается абсолютно безаппеляционное утверждение о предназначении данной возможности, во втором — о том, что частным случаем стало использование такой возможности для того-то и того-то.

P.S. Всё ж в процитированной Вами статье слово «"недокументированные" возможности» взято в кавычки. У Вас же:
эта незадокументированная возможность интересная. »
— нет.




© OSzone.net 2001-2012