Войти

Показать полную графическую версию : [архив] Скрипты 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

SeDmY
09-07-2010, 22:04
как лучше упаковать игру!? + какой скрипт распаковки применить?

nik1967
09-07-2010, 22:49
SeDmY,
Inno Setup плюс внешние упаковщики (http://forum.ru-board.com/topic.cgi?forum=5&topic=32025), Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия (http://forum.ru-board.com/topic.cgi?forum=5&topic=30239&start=0). Какой больше по душе :) .

SeDmY
09-07-2010, 22:59
SeDmY,
Inno Setup плюс внешние упаковщики , Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия . Какой больше по душе . »

Рылся там уже(((( конкретно ничего не нашел(

-S.S.V.-
10-07-2010, 00:12
Подскажите пожалалуйста.
Делаю репак игры, сжимаю архиватором FreeArc, после сжатия в папке в место игры оставляю архив .exe .
Создаю скрипт, указываю папку с игрой (с архивом), при создании инсталятора InnoSetup разбивает дистибутив на тома. Как прописать с скрипте, чтобы при установке репака сначала мой архив с ирой скопировался с диска (-ов) в папку куда я устанавливаю, потом там распаковался, а потом удалился.
А то FreeArc не потдерживает многотомность, приходиться записывать UDF диски. А так Inno разобьёт архив на тома. Или может есть какой нибудь другой не сложный способ использования FreeArc с InnoSetup.
Заранее благодарю.

Smsh.MSTR
10-07-2010, 11:08
Всем привет. Поделитесь пожалуйста кодом, который предоставляет возможность в отдельном окне генерировать ключи подобно кейгену?

-S.S.V.-
11-07-2010, 20:07
Привет. Ещё один вопрос. Inno Setup при установке создает на рабочем столе и в пуске ярлык на исполнимый файл приложения.
В свойствах ярлыка расположение, объект прописывает, а рабочую папку нет, из-за этого приложение не запускается.
Если прописываю вручную рабочую папку, все отлично запускается. Как в скрипте прописать чтобы в свойсвах ярлыка прописывалась рабочая папка.
Спасибо.

Habetdin
11-07-2010, 20:35
-S.S.V.-, поиск (http://forum.oszone.net/post-1271856.html#post1271856) решает половину вопросов ;)

geroinnn
11-07-2010, 23:54
можно файлик Office2007.cjstyles а то немогу найти

Habetdin
12-07-2010, 13:45
geroinnn, он входит в состав ISSkin Example (http://isskin.codejock.com/downloads/ISSkinExample.zip).

geroinnn
14-07-2010, 17:05
Помогите пожалуйста переделать этот скрипт чтобы на на странце завершения установки была вот такая растянутая картинка http://s001.radikal.ru/i196/1007/4c/c3c95e6fb379.jpg (http://www.radikal.ru)
Скрипт:
[Setup]
WizardImageFile=D:\Aria\картинки\Фото_286.bmp
[code]
procedure InitializeWizard();
begin
WizardForm.WizardBitmapImage.Width := ScaleX(502);

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

with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel1.AutoSize;
Left:=WizardForm.WelcomeLabel1.Left;
Top:=WizardForm.WelcomeLabel1.Top
Width:=WizardForm.WelcomeLabel1.Width
Height:=WizardForm.WelcomeLabel1.Height
WordWrap:=WizardForm.WelcomeLabel1.WordWrap;
Font.Name:=WizardForm.WelcomeLabel1.Font.Name;
Font.Size:=WizardForm.WelcomeLabel1.Font.Size;
Font.Color:=clWhite;
Font.Style:=WizardForm.WelcomeLabel1.Font.Style;
Caption:=WizardForm.WelcomeLabel1.Caption;
Parent:=WizardForm.WelcomeLabel1.Parent
Transparent:=True
end;

with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel2.AutoSize;
Left:=WizardForm.WelcomeLabel2.Left;
Top:=WizardForm.WelcomeLabel2.Top
Width:=WizardForm.WelcomeLabel2.Width
Height:=WizardForm.WelcomeLabel2.Height
WordWrap:=WizardForm.WelcomeLabel2.WordWrap;
Font.Name:=WizardForm.WelcomeLabel2.Font.Name;
Font.Size:=WizardForm.WelcomeLabel2.Font.Size;
Font.Color:=clWhite;
Font.Style:=WizardForm.WelcomeLabel2.Font.Style;
Caption:=WizardForm.WelcomeLabel2.Caption;
Parent:=WizardForm.WelcomeLabel2.Parent
Transparent:=True
end;
end;

Alexx73
16-07-2010, 17:15
1. Взял скрипт из первого поста темы Картинка на страницах инсталлятора (http://www.forum.oszone.ru/post-1242285-250.html)
Проблема в следущем, у меня установлена информация отображаемая перед установкой и после, а картинка накладывается сверху и текста не видно, только "Пожалуйста, прочитайте следующую важную информацию перед" и всё остального текста нет, как сделать наоборот либо чтобы было как раньше белое окошко ?

2. Можно ли изменить цвет текста в форме выбора папки в которую будет устанавливаться ?

В общем, надеюсь на наилучшие варианты. Заранее спасибо за помощь.

МИШАНЧИК
18-07-2010, 11:06
Подскажите пожалуйста.
Как в стандартном инсталяторе происходит распаковка файлов? В смысле, если:

[Components]
Name: a; Description: Прграмма №1;
Name: в; Description: Программа №2;
[Files]
Source: Основная прог\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: прог1\*; Components: a; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: прог2\*; Components: в; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs

При установке сначала распакуется:
Source: Основная прог\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
а затем сверху перезапишет файлами из:
Source: прог1\*; Components: a; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
или
Source: прог2\*; Components: в; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
в зависимости от выбранных компонентов?
Не может быть чтоб сначала распаковал то, что относится к компонентам, а сверху потом основные файлы?
И можно ли как-то задать порядок распаковки? Чтоб сначала основные файлы, а потом компоненты?

Serega
18-07-2010, 12:14
как сделать »
в том же сообщении прочитайте P.S., т.е. всё писать руками...
изменить цвет текста в форме выбора папки в которую будет устанавливаться ? »

procedure InitializeWizard();
begin
WizardForm.DirEdit.Font.Color:= clRed;
end;


Как в стандартном инсталяторе происходит распаковка файлов? »
Всё происходит последовательно, в таком порядке, в каком у вас записано в скрипте секции [Files], т.е. сверху вниз, а при деинсталляции фалы удаляются в обратном порядке.
можно ли как-то задать порядок распаковки? »
просто запишите нужную вам последовательность, согласно сказанного выше.

МИШАНЧИК
18-07-2010, 13:09
Serega, спасибо, обычно так и делаю. Но была стуация, когда не сработала русификация, хотя её файлы были записаны ниже основной папки и устанавливающаяся как компонент.
Поэтому и спросил.

Serega
18-07-2010, 13:40
Но была стуация, когда не сработала русификация, хотя её файлы были записаны ниже основной папки и устанавливающаяся как компонент »
Это может быть результатом, какой-то ошибки в скрипте, т.е. не было выполнено какое-то условие, необходимое для установки данного компонента.

-S.S.V.-
19-07-2010, 12:41
Цитата -S.S.V.-:
Чтобы при установке отображался выбор установки дополнительных компонентов »
Код:
[Components]
Name: DIRECTX; Description: Установить DIRECTX версии ...
Name: PsysX; Description: Установить PsysX версии ...
[Run]
Components: DIRECTX; Filename: {src}\DirectX\directx_mar2009_redist.exe; Parameters: " /Q "; StatusMsg: Установка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated
Components: PsysX; Filename: {src}\PsysX\PsysX.exe; Parameters: " ??? "; StatusMsg: Установка PsysX. Подождите, пожалуйста; Flags: runhidden waituntilterminated
Параметры тихой установки PsysX я не знаю. Запустите установщик PsysX с ключом /? (PsysX.exe /?) - он должен написать какой параметр для тихой установки, его и пропишите вместо ???
{src} - путь к файлу вашего скомпилированного установщика. Рядом с этим установщиком должны лежать папки DirectX и PsysX »

Сделал как написано, PhysX устанавливается тихо (Скрытно), а DirectX при установке запрашивает папку для распаковки архива, пробывал архив DirectX распаковать и в скрипте прописать путь к файлу DXSetup, но он не понемает тихой установки. Подскажите пожалуйста как ещё можно установить DirectX в тихом режиме без участия конечного пользователя.
Спасибо!

R.i.m.s.k.y.
19-07-2010, 14:19
в тихом режиме без участия конечного пользователя »
Ну запустили бы установщик дирекса с ключом /? - он бы вам сразу растолковал что необходимо указать еще /t:D:\Temp - папку для временной установки

Вот полная команда
[Run]
Components: DIRECTX; Filename: {src}\DirectX\directx_mar2009_redist.exe; Parameters: " /Q /T:%TMP%"; StatusMsg: Установка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated

У всех мелкософтских прог ключ /Q - стандартный. Я просто не знал что для дирекса еще надо указывать папку.

Serega
19-07-2010, 17:08
необходимо указать еще /t:D:\Temp - папку для временной установки »
Насколько я помню, хотя могу и ошибаться, согласно вашему примеру архив просто распакуется в папку Temp, а после этого ещё нужно запустить сам инсталлятор, по-моему он должен называться setup.exe и запустить его для тихой установки нужно, если не ошибаюсь, с ключом /silent.

P.S.
и папку Temp, лучше записывать как {tmp}, т.е.:
...Parameters: /q /t:{tmp}; ...
;)

R.i.m.s.k.y.
19-07-2010, 17:21
лучше записывать как {tmp} »
%TMP% - системная папка временных файлов, а {tmp} - это папка временной установки Инно (она находится в %TMP%\is-*.tmp)
Параметр DXSETUP.exe /silent - верно, тихо ставится.

Components: DIRECTX; Filename: {src}\DirectX\directx_mar2009_redist.exe; Parameters: " /Q /T:%TMP%"; StatusMsg: Распаковка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated
Components: DIRECTX; Filename: %TMP%\DXSETUP.exe; Parameters: " /silent"; StatusMsg: Установка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated

или так
Components: DIRECTX; Filename: {src}\DirectX\directx_mar2009_redist.exe; Parameters: /Q /T:{tmp}; StatusMsg: Распаковка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated
Components: DIRECTX; Filename: {tmp}\DXSETUP.exe; Parameters: /silent; StatusMsg: Установка DirectX. Подождите, пожалуйста; Flags: runhidden waituntilterminated

И пару раз сталкивался с тем, что проги не принимали ключ /q, но принимали /Q

Serega
19-07-2010, 20:34
%TMP% - системная папка временных файлов »
я прекрасно знаю, назначение папок, только вот одно замечание, при {tmp} инсталлятор сам удалит все файлы, а точнее саму папку, в которую распаковывается архив во время инсталляции и вам не надо заботиться об удалении лишнего мусора, который останется после установки программы.

сталкивался с тем, что проги не принимали ключ /q, но принимали /Q »
бывает такое




© OSzone.net 2001-2012