Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

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

Ветеран


Сообщения: 1133
Благодарности: 581


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 900 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 798 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для Rikill

Старожил


Сообщения: 189
Благодарности: 90

Профиль | Отправить PM | Цитировать


valyok666, боюсь он слов таких не знает...

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 18:35, 09-10-2011 | #3491



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для valyok666

Старожил


Сообщения: 241
Благодарности: 79

Профиль | Отправить PM | Цитировать


Rikill, ну я просто сказал стандартное слово

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"


Отправлено: 19:03, 09-10-2011 | #3492


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


valyok666Нет я не знаю что это но догадываюсь что наверно надпись внутри которая будет исчезать при наведении на неё. Думаю вам веднее как сделать лечше.

Отправлено: 19:54, 09-10-2011 | #3493


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Цитата saha1010:
Помогите пожал уста вставить 2 слова
НАд двумя строчками которые получаются в этом скрипте. »
Держи.
читать дальше »
Код: Выделить весь код
[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;

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:41, 09-10-2011 | #3494


Аватара для Photon9

Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хм, вобщем такой вопросец, как бы так написать скрипт чтобы по выбору устанавливалась нужная папка, тоесть имеем 2 папки имя у обеих base, но одна содержит файл zzpak_russian.pk4 который по сути является zip архивом, а другая содержимое этого файла 2 папки fonts и strings/ Иными словами нужно собрать так чтобы при установке был запрос ставить запакованые или распакованые ресурсы

Отправлено: 21:06, 09-10-2011 | #3495


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


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 - неупакованные.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 09-10-2011 в 21:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:11, 09-10-2011 | #3496


Аватара для nik1967

Старожил


Сообщения: 440
Благодарности: 251

Профиль | Сайт | Отправить PM | Цитировать


Цитата R.i.m.s.k.y.:
я смотрю тут есть несколько репакеров игр:
вот вы мучаетесь делаете скрипты с красивыми картинками, музыкой и прочим медиапр0ном, но не знаете чту нужно нам - игрофанам на самом деле, а нужно всего то найти папку d:\games и по-умолчанию предлагать ставить туда, а не с-програмфилесы
такая мелочь зарулит в минуса любую оформлялку, которая еще в половине случаев дает ошибки "Rage out of bounds" »
Есть отличный скрипт от 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;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Отправлено: 00:53, 10-10-2011 | #3497


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


nik1967, спасибо, но я не для себя, я внес предложение репакерам

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 07:22, 10-10-2011 | #3498


Аватара для Rikill

Старожил


Сообщения: 189
Благодарности: 90

Профиль | Отправить PM | Цитировать


R.i.m.s.k.y., странное предложение мне на цэ нравится ставить

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 14:18, 10-10-2011 | #3499


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Rikill, и заслонять системный диск? это не есть гут

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 14:20, 10-10-2011 | #3500



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход