Скрипты Inno Setup. Помощь и советы [часть 3]

Ответить
 • Просмотры: 32
Аватара пользователя
Raf-9600

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Raf-9600 »

saha1010, так что лейблы не создать новые?
Аватара пользователя
Shegorat

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Shegorat »

valyok666, боюсь он слов таких не знает...
Аватара пользователя
R.i.m.s.k.y.

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение R.i.m.s.k.y. »

я смотрю тут есть несколько репакеров игр:

вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы

такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds"
Аватара пользователя
VASYAKRN

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение VASYAKRN »

как сделать такии переходи в окне

Изображение
Аватара пользователя
VASYAKRN

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение VASYAKRN »

Цитата saha1010:



Помогите пожал уста вставить 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]

Сообщение Rikill »

VASYAKRN, в слайд шоу от экспедитора есть варианты переходов.

VinTagE, тут я думаю уже ничего не поможет. У пациента последняя стадия ФГМ и переизбыток ЧСВ. Лечили убер-сортировщиками. Не помогло. Будем игнорировать пациента.

R.i.m.s.k.y., можешь пояснить. Что ты имеешь ввиду? Лично я люблю устанавливать в с-програмфайлзы Изображение

Лександер, сразу вспоминается shepards Изображение
Аватара пользователя
Raf-9600

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение Raf-9600 »

Photon9, Содержимое одной из этих папок, должно быть установлено в {app}\base я так понял?

Можно так:



Код:

Код: Выделить всё

[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]

Сообщение Rikill »

Цитата R.i.m.s.k.y.:



я смотрю тут есть несколько репакеров игр:

вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр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]

Сообщение R.i.m.s.k.y. »

Rikill, если есть папка D:\games - по умолчанию предлагать туда устанавливать (путь в окне выбора папки уже D:\Games\Игра), нету папки - в програмфилесы



Шрифты в обоих двух случаях отображаются нормально
Аватара пользователя
VinTagE

Re: Скрипты Inno Setup. Помощь и советы [часть 3]

Сообщение VinTagE »

VinTagE, да. Это твой. Тебя указать в моём посте? Он не у всех работает.
Ответить

Вернуться в «Автоматическая установка приложений»