Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
как лучше упаковать игру!? + какой скрипт распаковки применить?
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,
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;
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
в зависимости от выбранных компонентов?
Не может быть чтоб сначала распаковал то, что относится к компонентам, а сверху потом основные файлы?
И можно ли как-то задать порядок распаковки? Чтоб сначала основные файлы, а потом компоненты?
как сделать »
в том же сообщении прочитайте P.S., т.е. всё писать руками...
изменить цвет текста в форме выбора папки в которую будет устанавливаться ? »
procedure InitializeWizard();
begin
WizardForm.DirEdit.Font.Color:= clRed;
end;
Как в стандартном инсталяторе происходит распаковка файлов? »
Всё происходит последовательно, в таком порядке, в каком у вас записано в скрипте секции [Files], т.е. сверху вниз, а при деинсталляции фалы удаляются в обратном порядке.
можно ли как-то задать порядок распаковки? »
просто запишите нужную вам последовательность, согласно сказанного выше.
МИШАНЧИК
18-07-2010, 13:09
Serega, спасибо, обычно так и делаю. Но была стуация, когда не сработала русификация, хотя её файлы были записаны ниже основной папки и устанавливающаяся как компонент.
Поэтому и спросил.
Но была стуация, когда не сработала русификация, хотя её файлы были записаны ниже основной папки и устанавливающаяся как компонент »
Это может быть результатом, какой-то ошибки в скрипте, т.е. не было выполнено какое-то условие, необходимое для установки данного компонента.
-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 - стандартный. Я просто не знал что для дирекса еще надо указывать папку.
необходимо указать еще /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
%TMP% - системная папка временных файлов »
я прекрасно знаю, назначение папок, только вот одно замечание, при {tmp} инсталлятор сам удалит все файлы, а точнее саму папку, в которую распаковывается архив во время инсталляции и вам не надо заботиться об удалении лишнего мусора, который останется после установки программы.
сталкивался с тем, что проги не принимали ключ /q, но принимали /Q »
бывает такое
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.