Войти

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

user_123
24-01-2010, 18:59
Столкнулся с небольшой проблемой...
Устанавливаемое приложение некорректно работает в каталогах, в пути которых имеются символы, не входящие в набор стандартной латиницы...
Подскажите пожалуйста, как на странице выбора каталога при нажатии кнопки "далее" проверять, входят ли все символы указанного каталога в группу разрешённых (символы стандартной латиницы) . Если входят - продолжить, в противном случае - вывести msgbox и остаться на текущей странице инсталлятора.

Заранее выражаю благодарность и прошу прощение, если данный вопрос уже обсуждался.

Sotonisto
24-01-2010, 22:27
Мне необходимо к кнопкам выбора языка озвучки прикрепить действия. Мне бы хотелось вот так.
Когда пользователь выбирает 1 флаг (Рус.) - после установки в папку с игрой распаковывался архив с рус. файлами;
а если выбирает 2 флаг (Англ.) - игра просто установилась.
http://s48.radikal.ru/i120/1001/54/eaa01765c53ft.jpg (http://radikal.ru/F/s48.radikal.ru/i120/1001/54/eaa01765c53f.jpg.html)
Скрипт в этом посте (http://forum.oszone.net/post-1328266-929.html).

P.S: игра RE4 UE занимает 4.7 Gb, но инсталл постоянно показывает 5.3 Gb :(
Что там в коде нужно изменить что бы правильно показывало необходимый размер?

Зарание благодарен.

serg aka lain
25-01-2010, 00:46
Устанавливаемое приложение некорректно работает в каталогах, в пути которых имеются символы, не входящие в набор стандартной латиницы... »
Возможно, так

[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program

[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
var
i: Integer;
begin
Result := True;
if CurPageID = wpSelectDir then
begin
for i := 1 to Length(WizardForm.DirEdit.Text) do
if WizardForm.DirEdit.Text[i] > #122 then
begin
MsgBox('Сообщение', mbError, MB_OK);
Result := False;
end;
end;
end;

mariolast
25-01-2010, 03:16
Подскажите такой вопрос

Нужно записать в реестр бинарное значение такого типа
'04 08 0E 01 58 04 0F 16 00 00 00 00 00 00 D3 B6 95 15 20 00 0A 00 11 11 11 11 42 42'
Если из секции [Registry] заносить, то проблем нет

Но мне надо из кода....
Пробую так
...
Var
Reg1: String;
RegArray:array of string;
begin
Reg1:= '04 08 0E 01 58 04 0F 16 00 00 00 00 00 00 D3 B6 95 15 20 00 0A 00 11 11 11 11 42 42'
RegWriteBinaryValue (HKLM, 'SYSTEM\CurrentControlSet\MultiKey\Dumps\9E4E58E8', 'Data', Reg1);
.....

А оно заносит какую-то хрень в реестр, не то что надо...

Sotonisto
25-01-2010, 07:07
Мне необходимо к кнопкам выбора языка озвучки прикрепить действия. Мне бы хотелось вот так.
Когда пользователь выбирает 1 флаг (Рус.) - после установки в папку с игрой распаковывался архив с рус. файлами;
а если выбирает 2 флаг (Англ.) - игра просто установилась. »

Народ, можете не напрягаться (хотя я сомневаюсь что кто-то вообще напрягался :) ) - методом проб и ошибок я сам все реализовал :)
Но вот с вопросом отображения необходимого размера для установки я разобраться не могу :( хелп!

Tukash
25-01-2010, 09:50
Sotonisto
найди такую строчку:
NeedSize := 5600;
и напиши свой размер:
NeedSize := 4900;
CTRL+F в помощь))

mash
25-01-2010, 10:26
Здравствуйте! Я не силен в Inno, да и скрипт, чесно говоря, мне помогли написать.
Для кооректного отображения в англ. Windows русских букв я скачал ispack-5.3.7-unicode и теперь у меня не работает скин. Может подскажете в чем проблема? В конце компил. пишет:

.....Updating version info

Warning: The [Setup] section directive "VersionInfoDescription" is not assuming a default value because AppName includes constants.
Warning: The [Setup] section directive "VersionInfoProductName" is not assuming a default value because AppName includes constants.
Warning: Unsafe flag usage on file "ISSkin3.dll": The "ignoreversion" flag should not be used on files installed to the Windows System directory ("{sys}").
Warning: Unsafe flag usage on file "ISSkin3.cjstyles": The "ignoreversion" flag should not be used on files installed to the Windows System directory ("{sys}").
*** Finished. [10:04:50, 01:25,641 elapsed]
Как я понимаю 4 ошибки. Что-то не вписано в секцию [Setup] и что то не так с flag - ами в [Files].
Секция [Files] такая:
[Files]
Source: ISSkin3.dll; DestDir: {sys}; Flags: ignoreversion
Source: ISSkin3.cjstyles; DestDir: {sys}; Flags: ignoreversion
................................................
Заранее благодарен за понимание и помощь !
P.S. Первые 2 исправил, остались две по скину.

Jerichoman
25-01-2010, 10:31
Tukash,
Еще пара вопросов к тебе:
1. Когда файлы разажму precom'ом, оригинал надо удалять, или оставлять (когда уже создаю инсталл)?
2. Можно ли сжать freearc'ом всю папку, в которой находяться эти файлы или лучше сжимать сами файлы?

Tukash
25-01-2010, 10:36
Jerichoman
1. ну ты же их оставил (копия этих файлов в прекомпе), так что если файлы зажмал прекомпом, то можешь смело удалять оригинал(но не забудь прекомп в инсталл вставить, а то игра кострированная будет)))
2. ну если у тебя много оперативы то сжимай сразу всю, а если делаешь для народа, то лучше по 3-5 файлов, так он на любом компе установиться!!!

Jerichoman
25-01-2010, 10:40
Tukash,
А игра нормально будет работать, порсто получается что мы меням расширение у фалов

Tukash
25-01-2010, 10:48
Jerichoman
смотри!вначале прекомп их разжимает, меняет расширеие файла, потом он его распаковывает и получается оригинальный файл, вот проверь)) так что он меняет расширение для того что-бы лучше сожмать, а потом обратно переименовывает!

Jerichoman
25-01-2010, 10:54
Tukash
Все, понял. ОГРОМНОЕ тебе человеческое спс

Tukash
25-01-2010, 10:57
Jerichoman
рад что хоть кому-то могу помочь))
ЗЫ, кто-нибудь подскажет скрипт для изменения окна инсталялтора? а то шрифтами уже запарился менять)))

serega355
25-01-2010, 11:47
Доброго времени суток!!
Обращаюсь ко всем пользователям. Если кто-нибудь знает как решить проблему, подскажите. Вот есть скрипт, с помощью него создаю инсталлятор, ставлю игру, потом удаляя её с помощью деинсталлятора из меню ПУСК, выводится сообщение:
Ошибка
Файл протокола для деинсталляции "D\Игромания\Grand Theft Auto Racing Driver\unins000.dat" не распознан данной версией программы-деинсталлятора. Деинсталляция невозможна.

Скрипт:
; Скрипт создан при помощи мастера создания скриптов.
; СМ. ДОКУМЕНТАЦИЮ ДЛЯ ИЗУЧЕНИЯ ДЕТАЛЕЙ ОТНОСИТЕЛЬНО СОЗДАНИЯ ФАЙЛОВ СКРИПТА INNO SETUP!

[Setup]
AppName=Grand Theft Auto Racing Driver
AppVerName=Grand Theft Auto Racing Driver 1.5
AppPublisher=Rockstar Games
AppPublisherURL=http://rockstargames.ru/
AppSupportURL=http://rockstargames.ru/
AppUpdatesURL=http://rockstargames.ru/
DefaultDirName={pf}\Rockstar Games\Grand Theft Auto Racing Driver
Encryption=yes
DefaultGroupName=Grand Theft Auto Racing Driver
AllowNoIcons=yes
LicenseFile=D:\Игромания\Grand Theft Auto Racing Driver\ReadMe\Readme\License.txt
InfoBeforeFile=D:\Игромания\Grand Theft Auto Racing Driver\ReadMe\Readme\info.txt
InfoAfterFile=D:\Игромания\Grand Theft Auto Racing Driver\ReadMe\Readme\files.txt
OutputDir=D:\Инсталлятор GTA RD
OutputBaseFilename=setup
SetupIconFile=D:\Игромания\Grand Theft Auto Racing Driver\data\Icons\app.ico
Password=1345O-9087H-0967K-3555R
DiskSpanning=yes
SlicesPerDisk=1
DiskSliceSize=999975555
DiskClusterSize=4096
ReserveBytes=0
Compression=lzma/ultra
SolidCompression=yes
Uninstallable=yes
UninstallFilesDir={pf}\Rockstar Games\Grand Theft Auto Racing Driver
UninstallLogMode=append
UninstallRestartComputer=no
UpdateUninstallLogAppName=yes
UninstallStyle=classic
WizardImageFile=D:\Игромания\Grand Theft Auto Racing Driver\data\Icons\GTA RD.bmp
WizardImageStretch=yes
[Languages]
Name: "russian"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "D:\Игромания\Grand Theft Auto Racing Driver\gta_sa.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Игромания\Grand Theft Auto Racing Driver\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; ОТМЕТЬТЕ: Не используйте "Флажки: Проигнорировать версию" на любых общедоступных системных файлах

[Icons]
Name: "{group}\Grand Theft Auto Racing Driver"; Filename: "{app}\gta_sa.exe"; WorkingDir: {app};
Name: "{group}\{cm:ProgramOnTheWeb,Grand Theft Auto Racing Driver}"; Filename: "http://rockstargames.ru/"
Name: "{group}\{cm:UninstallProgram,Grand Theft Auto Racing Driver}"; Filename: "{app}\unins000.exe"
Name: "{commondesktop}\Grand Theft Auto Racing Driver"; Filename: "{app}\gta_sa.exe"; WorkingDir: {app}; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Grand Theft Auto Racing Driver"; Filename: "{app}\gta_sa.exe"; WorkingDir: {app}; Tasks: quicklaunchicon

[Run]
Filename: "{app}\gta_sa.exe"; WorkingDir: {app}; Description: "{cm:LaunchProgram,Grand Theft Auto Racing Driver}"; Flags: nowait postinstall skipifsilent

[UninstallRun]
Filename: "{app}\unins000.exe"; WorkingDir: {app}; RunOnceId: "DeleteProgram"

Если знаете подскажите, как сделать чтобы одна картинка использовалась в окне приветствия, а в окне окончания установки другая.
Заранее Благодарен.

Tukash
25-01-2010, 11:50
serega355
перед созданием репака, удали из папки с игрой старый unins000.exe и unins000.dat!
и
[UninstallRun]
Filename: "{app}\unins000.exe"; WorkingDir: {app}; RunOnceId: "DeleteProgram"
ненужен!

Serega
25-01-2010, 11:53
я скачал ispack-5.3.7-unicode и теперь у меня не работает скин »
У вас ISSkin v.3.0.0.0 от [19.01.2010]? Если нет, то скачать можете из шапки темы Скрипты Inno Setup. Помощь и советы (http://forum.oszone.net/thread-148703.html) или с сайта (http://isskin.codejock.com/), это решит вашу проблему.

Serega
25-01-2010, 12:40
А оно заносит какую-то хрень в реестр, не то что надо... »
Всё правильно она заносит. Просто строка конвертируется в HEX данные.
Попробуйте запишите Reg1:= 'mariolast' и вы увидите в реестре "Data"=hex:6d,61,72,69,6f,6c,61,73,74.

кто-нибудь подскажет скрипт для изменения окна инсталялтора? »

WizardForm.ClientHeight:= высота
WizardForm.ClientWidth:= ширена

YURSHAT
25-01-2010, 13:08
Serega, WizardForm.ClientWidth:= ширена правильно ширИна :)

Tukash
25-01-2010, 13:25
YURSHAT
твой скрипт:) скажи как отсюда полностью убрать шрифт?
пишу это: PageNameLabel.Font.Size := 0; ему пох...
var
PageNameLabel,PageDescriptionLabel:TLabel;

procedure InitializeWizard();
begin
WizardForm.PageNameLabel.Hide;
WizardForm.PageDescriptionLabel.Hide;
WizardForm.WizardSmallBitmapImage.Align:=true;

PageNameLabel := TLabel.Create(WizardForm);
PageNameLabel.Left := ScaleX(25);
PageNameLabel.Top := ScaleY(10);
PageNameLabel.Width := ScaleX(300);
PageNameLabel.Height := ScaleY(14);
PageNameLabel.AutoSize := False;
PageNameLabel.WordWrap := True;
PageNameLabel.Font.Color := clBlack;
PageNameLabel.Font.Style := [fsBold];
PageNameLabel.Transparent := True;
PageNameLabel.Parent := WizardForm.MainPanel;

PageDescriptionLabel := TLabel.Create(WizardForm);
PageDescriptionLabel.Left := ScaleX(40);
PageDescriptionLabel.Top := ScaleY(25);
PageDescriptionLabel.Width := ScaleX(475);
PageDescriptionLabel.Height := ScaleY(30);
PageDescriptionLabel.AutoSize := False;
PageDescriptionLabel.WordWrap := True;
PageDescriptionLabel.Font.Color := clBlack;
PageDescriptionLabel.Transparent := True;
PageDescriptionLabel.Parent := WizardForm.MainPanel;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;
end;
и еще такой вопрос, есть-ли такой -же скрипт но для WizardImage.bmp?? хочу сделать WizardImage.bmp чуть шире!

mash
25-01-2010, 13:28
Спасибо, я скачал, но не получается все равно, то ли что то не так делаю (мне нужен обычный скин Black), но внизу пишет тоже самое. Но главное, Демо из Codejock Software тоже без скина получается на ispack-5.3.7-unicode




© OSzone.net 2001-2012