Войти

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

No4noylis
28-07-2011, 09:11
No4noylis в Need for Speed™ Undercover.iss v 2.2 есть кажись »
Я знаю, взял оттуда, но если у кого еще такое есть скиньте пожалуйста. Ведь одни и теже в репаки ставить не будешь:)

insombia
28-07-2011, 10:23
No4noylis http://rghost.ru/16034211

Rikill
28-07-2011, 12:18
No4noylis, не борзей, хочешь быть репакером рисуй сам :)

insombia
28-07-2011, 14:21
Как разбить инсталяшку на 2 диска 1 что занимал 4 37 гб а второй 1 гб или что-то в этом плане

No4noylis
28-07-2011, 15:16
insombia, так, если не ошибаюсь:

[Setup]
DiskSpanning=yes
DiskSliceSize=4692251770
SlicesPerDisk=2

LinkOFF
28-07-2011, 15:19
Доброго времени суток.Помогите мне установить черный шрифт на первой и последней страницах установки.Вот скрипт
http://rghost.ru/16063671

Rikill
28-07-2011, 15:30
LinkOFF, http://rghost.ru/16064691

insombia
28-07-2011, 15:53
No4noylis не так не пойдет там максимум 2 гб но не 4 разрешено

Berline
28-07-2011, 16:40
Всем привет!
Подскажите плз... возможно уже упоминалось...
Как средствами Inno Setup изменить дефлотную иконку папки, в которую будет установлена программа?
Например если руками создать в папке файл desktop.ini и прописать всю инфу - иконка так и не отображается...
А если средствами windows - то все ок!

Rikill
28-07-2011, 16:58
insombia, ты хочешь игру в архивах на 2 диска, или стандартным инно сжатием? стандартным инно можно как сказал No4noylis
[Setup]
DiskSpanning=yes
DiskSliceSize=4692251770//в байтах, изменяй-считай сам!!!!!!
SlicesPerDisk=2

Berline

ExtractTemporaryFile('картинка-dir.bmp');
ExtractTemporaryFile('картинка-group.bmp');
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\картинка-dir.bmp'));
WizardForm.SelectDirBitmapImage.AutoSize:=true;

WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\картинка-group.bmp'));
WizardForm.SelectGroupBitmapImage.AutoSize:=true;

Berline
28-07-2011, 17:40
Rikill, спасибо, но это не то)
я говорю конкретно про это:
Desktop.ini
[.ShellClassInfo]
IconResource=ico.ico,0
[ViewState]
Mode=
Vid=
FolderType=Generic

Shegorat
28-07-2011, 17:59
Berline
[Setup]
AppName=MyApp
AppverName=MyApp
DefaultDirName={pf}\MyApp

[Files]
Source: E:\MyIcon.ico; DestDir: {app}\;

[ code]
function SetFileAttributes(lpFileName: PChar; dwFileAttributes: DWORD): BOOL; external 'SetFileAttributesA@kernel32.dll stdcall';
function GetFileAttributes(lpFileName: PChar): DWORD; external 'GetFileAttributesA@kernel32.dll stdcall';

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
SetIniString('.ShellClassInfo', 'IconFile', ExpandConstant('{app}\MyIcon.ico'), ExpandConstant('{app}\desktop.ini')); //пишим данные о иконке
SetIniString('.ShellClassInfo', 'IconIndex', '0', ExpandConstant('{app}\desktop.ini'));
SetIniString('.ShellClassInfo', 'IconResource', ExpandConstant('{app}\MyIcon.ico,0'), ExpandConstant('{app}\desktop.ini'));
SetFileAttributes(PChar(ExpandConstant('{app}\desktop.ini')), FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM); //скрываем ини-файл и ставим атрибут системный
SetFileAttributes(PChar(ExpandConstant('{app}')), FILE_ATTRIBUTE_SYSTEM); //дополнительно ставим атрибут системный для папки, чтобы иконка отображалась
end;
end;
insombia
Может все-таки справку будем смотреть?

Valid values: 262144 through 2100000000, or max
Default value: max (2100000000)

Description:
This specifies the maximum number of bytes per disk slice (SETUP-*.BIN file). Normally, this should be set to the total number of bytes available on the disk media divided by the value of the SlicesPerDisk [Setup] section directive, which defaults to 1.

This directive is ignored if disk spanning is not enabled using the DiskSpanning [Setup] section directive.

To optimally fill 4.7 GB recordable DVDs, use:

SlicesPerDisk=3
DiskSliceSize=1566000000


Rikill
Будь проще и уважительнее к другим участникам форума.

vint56
28-07-2011, 21:07
Berline, вот другой пример
[Setup]
AppName=Иконка
AppVerName=Иконка
DefaultDirName={pf}\Иконка
DefaultGroupName=Иконка

[Dirs]
Name: "{app}"; Attribs: system; AfterInstall: CreateIni();

[Files]
Source: icon.ico; DestDir: {app}

[Code]
//******************************************* [ Папка, в которую устанавливается программа, имеет свою иконку ] ***************************************************//
procedure CreateIni();
begin
SaveStringsToFile(ExpandConstant('{app}\Desktop.ini'), ['[.ShellClassInfo]',
'IconFile=icon.ico',
'IconIndex=0'], False)
end;
//******************************************* [ Папка, в которую устанавливается программа, имеет свою иконку ] ***************************************************//

insombia
28-07-2011, 21:31
Rikill стандартным инно

Rikill
28-07-2011, 21:39
insombia, если стандартным то мы с ночным лисом ответили

Berline
29-07-2011, 09:45
Shegorat, спасибо, Ваш вариант мне кажется поинтереснее...
Только подскажите плз, при компилировании, выдает ошибку: unknown type PChar - что с этим сделать?

Habetdin
29-07-2011, 09:49
Berline, замените PChar на PAnsiChar

bagrat
29-07-2011, 12:14
привет всем (извините может я не в этот топик .но Inno setap здесь),

выполнил следующее установил игру ввел серийник, пропатчил, скомпилировал инно файл ***.iss, затем экпортировал ключи из реестра(regedit) импортировал их в ***.iss , запустил компилятор получил игру

в итоге при запуске репака , просит ввести серийник, ввожу серийник ради любопытства выдает окно с ошибкой http://s1.ipicture.ru/uploads/20110729/thumbs/Qgc38zVe.bmp (http://s1.ipicture.ru/Gallery/Viewfull/5165540.html) Данное окно закрыть не могу никак , только перезагрузко ПК и далее
не подскажете как в скрипте в инно сетапе прописать вручную серийник игры ; Script generated by the Мастер Inno Setup Script.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{9BE97B2A-A993-466C-A9CF-5844BE254C5B}
AppName=Space Empires V
AppVersion=1.79
;AppVerName=Space Empires V 1.79
AppPublisher=Malfador Machinations
AppPublisherURL=http://www.malfador.com/
AppSupportURL=http://www.malfador.com/
AppUpdatesURL=http://www.malfador.com/
DefaultDirName={pf}\Space Empires V
DefaultGroupName=Space Empires V
AllowNoIcons=yes
InfoAfterFile=C:\Users\Андрей\Desktop\для компиляции exe\3.txt
OutputDir=D:\Для компиляции
OutputBaseFilename=Space Empires V
Compression=lzma/ultra64
SolidCompression=true
InternalCompressLevel=ultra64
SetupIconFile=C:\Users\Андрей\Desktop\для компиляции exe\space 5\se5.ico
WizardImageFile=c:\Users\Андрей\Desktop\для компиляции exe\space 5\500x400.bmp
WizardSmallImageFile=c:\Users\Андрей\Desktop\для компиляции exe\space 5\100x100.bmp

[Messages]
BeveledLabel=RePack by bAGrat

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

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: F:\Games\Space Empires V\se5.exe; DestDir: {app}; Flags: ignoreversion
Source: F:\Games\Space Empires V\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Space Empires V; Filename: {app}\se5.exe
Name: {group}\{cm:ProgramOnTheWeb,Space Empires V}; Filename: http://www.malfador.com/
Name: {group}\{cm:UninstallProgram,Space Empires V}; Filename: {uninstallexe}
Name: {commondesktop}\Space Empires V; Filename: {app}\se5.exe; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Space Empires V; Filename: {app}\se5.exe; Tasks: quicklaunchicon

[Run]
Filename: {app}\se5.exe; Description: {cm:LaunchProgram,Space Empires V}; Flags: nowait postinstall skipifsilent

[Registry]
Root: HKLM; SubKey: SOFTWARE\Strategy First\Space Empires V; ValueType: string; ValueName: Install Path; ValueData: {app}; Flags: uninsdeletekey

[Code]
const
Color = clblack;
procedure InitializeWizard();
begin
WizardForm.Font.Color:=clWhite;
wizardForm.WelcomeLabel1.Font.Color:=clWhite;
WizardForm.FinishedHeadingLabel.Font.Color:=clWhite;
WizardForm.PageNameLabel.Font.Color:=clWhite;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.Bevel.visible:=false;
WizardForm.Bevel1.visible:=false;
end;
спасибо

Leka_651
29-07-2011, 13:36
Привет)
Скажите как сделать следующее: есть два варианта установки, у каждого из них есть свой набор компонент. Нужно, чтобы при выборе типа установки показывались только его компоненты.

спасибо

R.i.m.s.k.y.
29-07-2011, 13:59
bagrat, запусти инстал из самого инно-сетапа с трассировкой - кнопкой F9 (кажется) или на панели кнопок зеленый квадратик с белым треугольничком
на ошибке инно подсветит строчку
и мне кажется что скрипт вверху неполный, не вижу в нем криминала




© OSzone.net 2001-2012