Скрипты Inno Setup. Помощь и советы [часть 3]
-
Raf-9600
-
Shegorat
-
R.i.m.s.k.y.
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
я смотрю тут есть несколько репакеров игр:
вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы
такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds"
вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы
такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds"
-
VASYAKRN
-
VASYAKRN
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Цитата saha1010:
Помогите пожал уста вставить 2 слова
НАд двумя строчками которые получаются в этом скрипте.
Держи.
Код:
Помогите пожал уста вставить 2 слова
НАд двумя строчками которые получаются в этом скрипте.
Скрипты Inno Setup. Помощь и советы [часть 3]
Держи.
читать дальше »
Код:
Код: Выделить всё
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[_code]
var
NickPage: TWizardPage;
key: array[0..3]of TNewEdit;
user: TNewEdit;
procedure InitializeWizard();
var
i1,i2:Integer;
begin
NickPage := CreateCustomPage(wpWelcome, 'Информация о пользователе', 'Пожалуйста, введите данные о себе.');
{ key }
for i1:=0 to 3 do begin
key[i1] := TNewEdit.Create(WizardForm);
with key[i1] do begin
Parent := NickPage.Surface;
SetBounds(ScaleX(48+88*i1),ScaleY(136),ScaleX(65),ScaleY(21));
MaxLength := 4; // количество знаков
end;
end;
{ user }
user := TNewEdit.Create(WizardForm);
with user do begin
Parent := NickPage.Surface;
SetBounds(ScaleX(48),ScaleY(56),ScaleX(329),ScaleY(21));
end;
for i2:=0 to 1 do
begin
with TLabel.Create(WizardForm) do begin
Parent := NickPage.Surface;
Transparent := True;
SetBounds(ScaleX(48),ScaleY(20+80*i2),ScaleX(329),ScaleY(30));
case i2 of
0:Caption := 'Введите желаемый ник'+#13#10+'!!!ТОЛЬКО ЦИФРАМИ или ЛАТИНСКИМИ БУКВАМИ!!';
1:Caption := 'Введите любой пароль'+#13#10+'!!!ТОЛЬКО ЦИФРАМИ или ЛАТИНСКИМИ БУКВАМИ!!!';
end;
Alignment := taCenter;
end;
end;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
Var
S1, S2: String;
begin
result:=true;
if CurPageID = wpReady then begin//запись после страницы готовности.
S1 := ExpandConstant(key[0].Text+'-'+key[1].Text+'-'+key[2].Text+'-'+key[3].Text);
RegWriteStringValue(HKLM, 'Software\GSC Game World\STALKER-COP', 'InstallCDKEY', S1);
RegWriteStringValue(HKLM, 'SOFTWARE\Wow6432Node\GSC Game World\STALKER-COP', 'InstallCDKEY', S1);
S2 := user.Text;
RegWriteStringValue(HKLM, 'Software\GSC Game World\STALKER-COP', 'InstallUserName',S2);
RegWriteStringValue(HKLM, 'SOFTWARE\Wow6432Node\GSC Game World\STALKER-COP', 'InstallUserName',S2);
end;
end;-
Rikill
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
VASYAKRN, в слайд шоу от экспедитора есть варианты переходов.
VinTagE, тут я думаю уже ничего не поможет. У пациента последняя стадия ФГМ и переизбыток ЧСВ. Лечили убер-сортировщиками. Не помогло. Будем игнорировать пациента.
R.i.m.s.k.y., можешь пояснить. Что ты имеешь ввиду? Лично я люблю устанавливать в с-програмфайлзы
Лександер, сразу вспоминается shepards
VinTagE, тут я думаю уже ничего не поможет. У пациента последняя стадия ФГМ и переизбыток ЧСВ. Лечили убер-сортировщиками. Не помогло. Будем игнорировать пациента.
R.i.m.s.k.y., можешь пояснить. Что ты имеешь ввиду? Лично я люблю устанавливать в с-програмфайлзы

Лександер, сразу вспоминается shepards

-
Raf-9600
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Photon9, Содержимое одной из этих папок, должно быть установлено в {app}\base я так понял?
Можно так:
Код:
Соответственно, в папку base_packed кладеш упакованные ресурсы (без подпапки base), а в папку base_UNpacked - неупакованные.
Можно так:
Код:
Код: Выделить всё
[Files]
Source: base_packed\*; DestDir: {app}\base; Flags: recursesubdirs createallsubdirs; Components: res\pack
Source: base_UNpacked\*; DestDir: {app}\base; Flags: recursesubdirs createallsubdirs; Components: res\UNpack
[Components]
Name: res; Description: Ресурсы программы; Types: full
Name: res\pack; Description: Упакованные; Flags: exclusive
Name: res\UNpack; Description: неупакованные; Flags: exclusiveСоответственно, в папку base_packed кладеш упакованные ресурсы (без подпапки base), а в папку base_UNpacked - неупакованные.
-
Rikill
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Цитата R.i.m.s.k.y.:
я смотрю тут есть несколько репакеров игр:
вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы
такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds"
Есть отличный скрипт от Serega
Код:
я смотрю тут есть несколько репакеров игр:
вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы
такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds"
Скрипты Inno Setup. Помощь и советы [часть 3]
Есть отличный скрипт от Serega
Скрипт, который определяет логические диски на компьютере и предлагает установить на первый логический диск не являющийся системным
Код:
Код: Выделить всё
; скрипт, который определяет логические диски на компьютере и предлагает установить на первый
; логический диск не являющийся системным (если их несколько, в противном случае будет предложен
; системный диск).
; Автор: Serega, http://forum.oszone.net/member.php?userid=88670
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={code:NoSD}\Games\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[_Code]
function GetLogicalDrives: DWORD; external 'GetLogicalDrives@kernel32.dll stdcall';
function GetDriveType(lpRootPathName: PChar): Cardinal; external 'GetDriveTypeA@kernel32.dll stdcall';
const
DRIVE_FIXED = 3;
function NoSD(s: string): string;
var
x, bit, i: Integer;
tp: Cardinal;
sd: string;
begin
sd:= ExpandConstant('{sd}');
Result:= sd;
// Вызываем функцию WinAPI
// Функция возвращает битовую маску установленных логических дисков.
// Бит 0 определяет наличие диска А:, бит 1 - диска B и т.д.
x:= GetLogicalDrives;
if x 0 then
// цикл по полученным битам переменной X
for i:= 1 to 64 do
begin
// Накладываем битовую маску для выделения бита с поряковым номером 0
bit:= x and 1;
// нашли логический диск...
if bit = 1 then
begin
// определяем тип логического диска
tp:= GetDriveType(PChar(Chr(64 + i) + ':'));
if tp = DRIVE_FIXED then
// если диск не является системным
if Chr(64 + i) Copy(sd, 1, 1) then
begin
Result:= Chr(64 + i) + ':';
Break;
end;
end;
// побитовый сдвиг вправо
x:= x shr 1;
end;
end;-
R.i.m.s.k.y.
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
Rikill, если есть папка D:\games - по умолчанию предлагать туда устанавливать (путь в окне выбора папки уже D:\Games\Игра), нету папки - в програмфилесы
Шрифты в обоих двух случаях отображаются нормально
Шрифты в обоих двух случаях отображаются нормально
-
VinTagE
Re: Скрипты Inno Setup. Помощь и советы [часть 3]
VinTagE, да. Это твой. Тебя указать в моём посте? Он не у всех работает.
