PDA

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


Страниц : 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

R.i.m.s.k.y.
23-09-2010, 08:43
то надпись становиться красной »
, а если встречается, зелёной: »
Понял, я подумал что в скрипте в зависимости от ОС свои действия, а там просто проверка. Но мне кажется что грамотнее было бы организовать через GetWindowsVersionEx (Version).

nik1967
23-09-2010, 10:04
Но мне кажется что грамотнее было бы организовать через GetWindowsVersionEx (Version). »
а если встречается, зелёной:
GetWindowsVersionEx(Version)
// Операционная система:
SystemVersionPanel.Color := clBlack
SystemVersionPanel.Font.Color := clLime

R.i.m.s.k.y.
23-09-2010, 10:18
а если встречается, зелёной »
Хотя моя недолга жизнь в ИТ подтверждает главное правило айтишника - работает - не трожь.

ivsatel
24-09-2010, 11:49
Подскажите пожалуйста как прописать эти пути:

Documents and Settings\Admin\Application Data\Azureus
и
Documents and Settings\Admin\Local Settings\Application Data\Vuze_Remote
как у меня

Source: "{localappdata}\ThirdPartyComponents.xml"; DestDir: "{localappdata}\Documents and Settings\{username}\Local Settings\Application Data\Vuze_Remote"; Flags: promptifolder
Source: "{userappdata}\.certs"; DestDir: "{userappdata}\Documents and Settings\{username}\Application Data\Azureus"; Flags: promptifolder

kotkovets
24-09-2010, 12:28
Documents and Settings\Admin\Application Data\Azureus »
DestDir: {userappdata}\Azureus
Documents and Settings\Admin\Local Settings\Application Data\Vuze_Remote »
DestDir: {localappdata}\Vuze_Remote

R.i.m.s.k.y.
25-09-2010, 14:18
Повторяю вопрос - как в коде инно получить айпишник машины? Желательно октетами - четыре числа, но и строка целиком пойдет. Заранее спасибо

THE GUILTY GOD
25-09-2010, 15:57
Народ помогите у меня есть скрипт с установкой в 2 диска, а мне нужно с 1 диска
Скажите что и где нужно пеменять! Ну или что куда вписать!

#define NeedSize "5890" ;Указываем размер игры,в байтах.
;#define precomp GetEnv("ProgramFiles") + "\FreeArc\PowerPack\Max\*" ;если архивы созданы с PRECOMP, раскомментируйте строку и укажите папку с необходимыми для распаковки файлами (в общем случае это precomp04.exe, PPMonstr.exe, ecm.exe, unecm.exe, packjpg_dll.dll)
;Добавляем архивы
#define Archives "{src}\data1.bin;DestDir:{app}\;Disk:1;Components:Russian"
#define Archives Archives + "|" + "{src}\data3.bin;DestDir:{app}\;Disk:1"
;архивы указываются так {имя архива;DestDir:путь распаковки;Disk:диск на котором лежит}
;если есть компоненты то так {имя архива;DestDir:путь распаковки;Disk:диск на котором лежит;Components:название компонента}
;остальные архивы, где не указаны компоненты тоже будут распаковываться


C помощью чего можно хорошенько запокавать звуковые файлы и файлы формата .bik.
И есть ли русификатор для Inno Setup GameScript Generator

moov1kk
26-09-2010, 00:27
Народ, я создал репак Mirrors Edge но когда устанавливаю и запускаю игру она полностью на английском, в чем дело?

Super Atreides
26-09-2010, 11:41
Цитата Lancer2404:А поподробнее можно а то я новичек в этом деле »
Можно, нужна сама библиотека "GameuxInstallHelper.dll".
Сам скрипт (Пример для юникод версии Inno):
читать дальше » »
У меня при компиляции на строке
TGUID = record
выдаёт ошибку: Duplicate identifier 'TGUID'

Что я делаю не так?

маркузяка
26-09-2010, 12:15
Народ, я создал репак Mirrors Edge но когда устанавливаю и запускаю игру она полностью на английском, в чем дело? »
возможно язык игры записан в реестре. я сталкивался с этим в Battlefield 2.

нужно найти нужный ключ и сделать так чтобы установщик при установке вносил его в реестр.
в моем случае это было так:


[Registry]
Root: HKLM; Subkey: "SOFTWARE\Electronic Arts\EA GAMES\Battlefield 2\"; ValueName: Language; ValueType: string; ValueData: "Russian"

max129
26-09-2010, 15:47
уважаемые гуру!
подскажите если не трудно,как организовать в инно такую последовательность копирования и распаковки(одного) файлов:

1. сначала устанавливается основная папка игры через инно.
2. потом уже в основную папку происходит распаковка архива(внешнего для инно я так думаю?).
3. и напоследок в папку с распакованным архивом просто кидается другая папка(наверно тоже придётся с сетупом рядом ложить?).
++++++++++++++++++++++++++
если можно,хотя бы примерчик основных моментов.
и ещё один вопросик-при использовании связки 7z,precomp,freearc-размер файла получаетя 6 гиг-так вот не страшно ли это и каким методом лучше распаковывать,ис доном или через обычный скрипт.

R.i.m.s.k.y.
28-09-2010, 08:51
ложить »
КЛАСТЬ!

[Files]
Source: Folder1; DestDir: {app}; BeforeInstall: ChangeCaption('Установка первой папки'); Flags: ignoreversion recursesubdirs createallsubdirs uninsrestartdelete setntfscompression restartreplace
Source: unrar.exe; Destdir: {tmp}; BeforeInstall: ChangeCaption('Копирование архива');
Source: rar.rar; Destdir: {tmp}; BeforeInstall: ChangeCaption('Копирование архива'); AfterInstall: Unrar(ExpandConstant('{app}\2'));
Source: Folder2; DestDir: {app}; BeforeInstall: ChangeCaption('Установка второй папки'); Flags: ignoreversion recursesubdirs createallsubdirs uninsrestartdelete setntfscompression restartreplace

[_Code]
procedure ChangeCaption(str: string);
begin
WizardForm.StatusLabel.Caption:= str;
end;

procedure Unrar (path : string);
var res : integer;
begin
ChangeCaption('Распаковка архива');
Exec(ExpandConstant('{tmp}\unrar.exe'), ' x ' + ExpandConstant('{tmp}\rar.rar') + ' ' + path, ExpandConstant('{tmp}'),SW_HIDE,ewWaitUntilTerminated,res);
end;

Примерно так. unrar.exe идет вместе с архиватором Winrar и является бесплатным приложением.

размер файла получаетя 6 гиг-так вот не страшно ли это »
Я средствами инно ведьмака на 14,5 гиг упаковывал и ничего - все живы.

Henry_Townsend
30-09-2010, 19:36
Товарищи,у вас есть предположения,каким образом можно создать такой прогресбар?
Я вообще поначалу думал,что это даже не окно,а слайд шоу... Перепробовав кучу скриптов ответ так и не нашёл,как разместить окно в правом нижнем углу да и ещё над панелью задач?
Буду благодарен за любые советы.

nik1967
30-09-2010, 20:38
Henry_Townsend,
[_Code]
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';

procedure InitializeWizard();
begin
//Выносим кнопку "Отмена" на передний план
WizardForm.CancelButton.BringToFront;
WizardForm.Bevel1.Hide;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then
begin
WizardForm.BorderStyle:=bsDialog;
WizardForm.MainPanel.Visible:=False;
WizardForm.Width:=ScaleX(320);
WizardForm.Height:=ScaleY(91);
WizardForm.InnerNotebook.Left:=ScaleX(7);
WizardForm.InnerNotebook.Top:=ScaleY(7);
WizardForm.InnerNotebook.Width:=ScaleX(300);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(17);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(15);
WizardForm.ProgressGauge.Left:=ScaleX(0);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(122);
WizardForm.CancelButton.Top:=ScaleY(70);
WizardForm.Left:=GetSystemMetrics(16)-ScaleX(325);
WizardForm.Top:=GetSystemMetrics(17)-ScaleX(68);
end;
if CurPageID=wpFinished
then
begin
WizardForm.Width:=502;{Размер окна по горизонтали}
WizardForm.Height:=392;{Размер окна по вертикали}
WizardForm.Position:=poScreenCenter; {Возврат в исходное состояние}
end
end;

Henry_Townsend
30-09-2010, 20:57
Огромное спасибо!А то уже начал думать,что без WindowVisible никак не обойтись.

R.i.m.s.k.y.
01-10-2010, 09:06
Камрады, как сделать вывод надписи над прогрессбаром при деинсталляции приложения для секции UninstallRun? Для секции Run эта надпись выводится через StatusMsg: Надпись, а вот для UninstallRun этот StatusMsg никакого эффекта не оказывает.

koler
01-10-2010, 13:41
подскажите с помощью какого скрипта оформлять инсталлятор

R.i.m.s.k.y.
01-10-2010, 13:46
подскажите с помощью какого скрипта оформлять инсталлятор »
к примеру на 235 странице этого форума есть оформление инно http://forum.oszone.net/post-1487918.html#post1487918

koler
01-10-2010, 14:10
Цитировать »
Цитировать »
Цитировать »
да типо инно помоги пожалуйста будь как можно менять цвет фона инсталлятора вставлять картинку в инсталлятор

R.i.m.s.k.y.
01-10-2010, 14:35
помоги пожалуйста будь как можно менять цвет фона инсталлятора вставлять картинку в инсталлятор »
Извини, я оформлением не занимался. В шапке темы посмотри Коллекция скриптов и Сборник вопросов. Другие вопросы, от простых до не очень сложных - распишу, а оформление я лично считаю лишним, главная задача инсталлера - правильно поставить и деинсталлить.




© OSzone.net 2001-2012