1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Inno Setup (создание инсталяционных пакетов)

Тема в разделе "Inno Setup", создана пользователем Shegorat, 9 авг 2013.

Статус темы:
Закрыта.
  1. Безумный Лорд Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    671
    Симпатии:
    946
    Пол:
    Мужской

    Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
    По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.

    Последние версии:
    Inno Setup QuickStart Pack (ansi) 5.5.4 [13.10.2013]
    Скачать (1.8 Mb)
    Inno Setup QuickStart Pack (unicode) 5.5.4 [13.10.2013]
    Скачать (2.2 Mb)
    Что нового? |По русски :)| Все сборки
    Русский язык для Inno Setup версии 5.5.3 от [USER]Leserg[/USER] [04.02.2013]
    Скачать

    Расширенная версия от китайских собратьев. Домашняя страница ResTools
    Добавляет списку компонентов возможность сворачивать дочерние элементы.
    Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций.
    На сайте автора также есть дополнительные библиотеки.
    Последние версии:
    Inno Setup Compiler 5.5.2 build 121216
    Скачать (2.96 Mb) | Зеркало (1.7 Mb) - Убраны картинки для уменьшения веса архива
    Inno ISCmplr Setup 5.5.1 build 121002
    Скачать (1.8 Mb) | Зеркало

    Русская справка к версии 5.5.1, автор перевода BagIra, [USER]bugron[/USER]
    Скачать

    Сборки:
    InnoSetup Ultra
    Сборка инструментов для работы со скриптами InnoSetup.
    Текущая версия компилятора – 5.5.1. Обновлено 2 Октября 2012г.
    Содержит в себе все обновленные инструменты для работы, сборка постоянно обновляется.
    Автор сборки: [USER]LexBell[/USER]
    Скачать | InnoUltra-lite version | Апдейт (миниинсталл)
     
    Последнее редактирование модератором: 13 окт 2013
    audiofeel, ilzok17, andrey и 7 другим нравится это.
  2. Старожил

    Регистрация:
    16 мар 2012
    Сообщения:
    23
    Симпатии:
    0
    А возможно добавить ссылку в msgBox?

    Код (Text):
    procedure NewButton1Click(Sender: TObject);
      begin
        MsgBox(ExpandConstant('{cm:info}'), mbInformation, MB_OK);
     end;
    Код (Text):
    [CustomMessages]
    RUS.NewButton1=Прочитай
    RUS.info= - Упаковал PlayUser;
     
  3. Старожил

    Регистрация:
    29 май 2012
    Сообщения:
    18
    Симпатии:
    12
    Пол:
    Мужской
    Dark_Delphin

    Код (Text):

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

    [Languages]
    Name: RUS; MessagesFile: compiler:Languages\Russian.isl

    [CustomMessages]
    RUS.info= Упаковал PlayUser

    [Code_]
    procedure CurPageChanged(CurPageID: Integer);
    begin
    if CurPageID=wpSelectDir then
        MsgBox(CustomMessage('info'), mbInformation, MB_OK);
    end;
     
     
  4. Пользователь

    Регистрация:
    8 июн 2013
    Сообщения:
    3
    Симпатии:
    0
    Помогите решить такую проблему: при выборе рус (текст) - выделялся и рус (озвучка) и наоборот
    тоже самое и англ (текст) и англ (озвучка)
    Спасибо заранее
     
  5. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
    yuwik, у меня так,пробуй
    [Components]
    Name: Redist; Description: Дополнительное ПО:; Types: full; Flags: fixed
    Name: Redist\DirectXCheck; Description: Установить / Обновить DirectX; Types: full
    Name: Redist\VCCheck; Description: Установить / Обновить VCRedist; Types: full
    Name: Icons; Description: Ярлыки; Types: full; Flags: fixed
    Name: Icons/DesktopIcon; Description: Создать ярлык на Рабочем столе; Types: full
    Name: text; Description: Язык субтитров; Types: full; Flags: fixed
    Name: text\rus; Description: Русский; Flags: exclusive;
    Name: text\eng; Description: Английский; Flags: exclusive;
    Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
    Name: voice\rus; Description: Русский; Flags: exclusive;
    Name: voice\eng; Description: Английский; Flags: exclusive;
     
  6. Пользователь

    Регистрация:
    8 июн 2013
    Сообщения:
    3
    Симпатии:
    0
    Это понятно
    Мне нужно, что бы они работали попарно (рус - текст и озвучка и англ - текст и озвучка)
    у меня примерно так же стоит
    Name: CompGame; Description: {#GameName}:; Types: full; Flags: fixed;
    Name: CompGame\Text; Description: {cm:Text}; Flags: fixed; Types: Full;
    Name: CompGame\Text\Rus; Description: {cm:Russian}; Flags: exclusive;
    Name: CompGame\Text\Eng; Description: {cm:English}; Flags: exclusive;
    Name: CompGame\Voice; Description: {cm:Voice}; Flags: fixed; Types: Full;
    Name: CompGame\Voice\Rus; Description: {cm:Russian}; Flags: exclusive;
    Name: CompGame\Voice\Eng; Description: {cm:English}; Flags: exclusive;
    Name: Redist; Description: {cm:Redist}; Types: Full;
    Name: Redist\DirectX; Description: {cm:DirectX};
    Name: Redist\Redist; Description: {cm:VCRedist};
    //Name: Redist\PhysX; Description: {cm:physX};
    //Name: Redist\WMF11; Description: {cm:WMF11}; Types: full;
    Name: CreateDesktopIcon; Description: {cm:CreateDesktopIcon}; Types: full; Flags: collapsed
     
    Последнее редактирование: 10 авг 2013
  7. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
    а как поменять иконку на отмене? я брал пример отмены с кнопками текстурированными,но у меня не получается с isdone его совместить,при отмене не действует кнопка да,так что хочу просто иконку там поменять
     
  8. Ветеран Модератор

    Регистрация:
    11 июн 2012
    Сообщения:
    196
    Симпатии:
    54
    Пол:
    Мужской
    Привет всем. Кто подскажет как в инсталляторе сделать выбор разрешения как тут:
    [​IMG]
     
  9. Старожил

    Регистрация:
    16 мар 2012
    Сообщения:
    23
    Симпатии:
    0

    Я имел введу , что-бы ссылка в окошке была кликабельная.
     

    Вложения:

  10. Безумный Лорд Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    671
    Симпатии:
    946
    Пол:
    Мужской
    Код (Text):
    [noparse][Setup]
    AppName=MyApp
    AppVerName=MyApp
    DefaultDirname={pf}\MyApp

    [Files]
    Source: ini640x480.ini; DestDir: {app}; DestName: default.ini; Check: GetRes('640x480');
    Source: ini800x600.ini; DestDir: {app}; DestName: default.ini; Check: GetRes('800x600');
    Source: ini1024x768.ini; DestDir: {app}; DestName: default.ini; Check: GetRes('1024x768');
    Source: ini1280x1024.ini; DestDir: {app}; DestName: default.ini; Check: GetRes('1280x1024');

    [code]
    var
      Res: TComboBox;

    function GetRes(S: String): Boolean;
    begin
      Result:= S=Res.Text;
    end;
     
    procedure InitializeWizard();
    begin
      Res:= TComboBox.Create(WizardForm);
      Res.SetBounds(0, 100, 330, 23);
      Res.Style:= csDropDownList;
      Res.Parent:= WizardForm.SelectDirPage;
      Res.Items.Add('640x480');
      Res.Items.Add('800x600');
      Res.Items.Add('1024x768');
      Res.Items.Add('1280x1024');
      Res.ItemIndex:= 0;
    end;[/noparse]
    Ээм, что?

    Нет, нужно создавать свою форму и на ней вручную делать ссылку.

    А что мешает сделать текст и озвучку одним компонентом?
     
    Dark_Delphin, Adil, Mickey1s и 2 другим нравится это.
  11. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
  12. Ветеран Модератор

    Регистрация:
    27 окт 2012
    Сообщения:
    198
    Симпатии:
    24
    Пол:
    Мужской
  13. Ветеран Проверенный

    Регистрация:
    18 июн 2011
    Сообщения:
    691
    Симпатии:
    491
    Carlos именно в isdone 6 не чего не вылазиет
     
  14. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
    как совместить новое окно закрытия инсталла с исдон? http://rghost.ru/48046369
    по всякому пробовал,но в исдоне осталось старое окно закрытия
     
  15. Ветеран Модератор

    Регистрация:
    27 окт 2012
    Сообщения:
    198
    Симпатии:
    24
    Пол:
    Мужской
    vint56, но у меня isdone 6
    странно.
     
  16. Old Men Проверенный

    Регистрация:
    17 июн 2011
    Сообщения:
    344
    Симпатии:
    322
    Пол:
    Мужской
    urban нравится это.
  17. Ветеран

    Регистрация:
    4 сен 2011
    Сообщения:
    267
    Симпатии:
    48
    nik1967, большое спасибо
     
  18. Безумный Лорд Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    671
    Симпатии:
    946
    Пол:
    Мужской
    Значит где-то накосячил. Подозреваю что либо скопировал лишние строки, либо закомментировал цикл. Потому как компилятор ясно говорит "Not in a loop", и, предполагаю, что указывает на одну из строк if not ISArcExtract(....) then Break;

    Не помню для кого, но писал такой код
    Код (Text):
    [noparse][Setup]
    AppName=My Program
    AppVerName=My Program
    DefaultDirName={pf}\My Program
    OutputDir=.\InnoSetupTest

    [Files]
    Source: compiler:WizModernSmallImage.bmp; Flags: dontcopy;

    [Code]
    var
      MyExit: TSetupForm;
     
    procedure MyExitMessage();
    var
      MyIcon: String;
      YesBtn, NoBtn: TButton;
    begin
      MyExit := CreateCustomForm();
      with MyExit do
      begin
        Position := poScreenCenter;
        ClientWidth := WizardForm.Width;
        ClientHeight := WizardForm.Height div 2;
        Caption := ExpandConstant(SetupMessage(msgExitSetupTitle));
        Color := clBlack;

        MyIcon := ExpandConstant(AddBackSlash('{tmp}') + 'WizModernSmallImage.bmp');
        if not FileExists(MyIcon) then
          ExtractTemporaryFile(ExtractFileName(MyIcon));
     
        with TBitmapImage.Create(MyExit) do
        begin
          Stretch := True;
          Left := ScaleX(10);
          Top := ScaleY(20);
          Width := 55;
          Height := 55;
          Bitmap.LoadFromFile(MyIcon);
          Parent := MyExit;
        end;
     
        with TNewStaticText.Create(MyExit) do
        begin
          Left := ScaleX(110);
          Top := ScaleY(20);
          Width := MyExit.Width - ScaleX(115);
          Height := MyExit.Height div 2;
          AutoSize := False;
          WordWrap := True;
          Caption := ExpandConstant(SetupMessage(msgExitSetupMessage));
          Parent := MyExit;
          Font.Color := clWhite;
        end;
      end;

      NoBtn:= TButton.Create(MyExit);
      NoBtn.SetBounds(MyExit.Width - 115, MyExit.Height - 50 - ScaleY(25), 100, 30);
      NoBtn.Caption:= 'Нет';
      NoBtn.ModalResult:= mrNo;
      NoBtn.Parent:= MyExit;
     
      YesBtn:= TButton.Create(MyExit);
      YesBtn.SetBounds(MyExit.Width - 223, MyExit.Height - 50 - ScaleY(25), 100, 30);
      YesBtn.Caption:= 'Да';
      YesBtn.ModalResult:= mrYes;
      YesBtn.Parent:= MyExit;
    end;
     
    procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
    begin
      Confirm := False;
      MyExitMessage();
     
      if MyExit.ShowModal() = mrNo then
        Cancel := False;
      MyExit.Free;
    end; [/noparse]
     
    Carlos и Adil нравится это.
  19. Ветеран Модератор

    Регистрация:
    27 окт 2012
    Сообщения:
    198
    Симпатии:
    24
    Пол:
    Мужской
    Shegorat, именно на самую первую if not ISArcExtract(....) then Break; и ссылается. а закомментировал я только

    LabelCurrFileName.Caption:=ExpandConstant('{cm:Extracted} ')+MinimizePathName(CurrentFile, LabelCurrFileName.Font, LabelCurrFileName.Width-ScaleX(205));
     
  20. Старожил

    Регистрация:
    29 май 2012
    Сообщения:
    18
    Симпатии:
    12
    Пол:
    Мужской
    Подскажите почему не отрисовываются чекбоксы на TasksList

    [Setup]
    AppName=My Program
    AppVerName=My Program v 1.5
    DefaultDirName={pf}\My Program
    DisableWelcomePage=yes
    DisableFinishedPage=yes
    DisableReadyPage=yes

    [Files]
    DestName: "WizardForm.BitmapImage1.bmp"; Source: "2.bmp"; Flags: dontcopy solidbreak

    [Languages]
    Name: rus; MessagesFile: compiler:Languages\Russian.isl

    [Tasks]
    Name: DirectX; Description: Microsoft DirectX;
    Name: VCRedist; Description: Microsoft VCRedist;
    Name: DesktopIcon; Description: Ярлык На Рабочем Столе;;
    Name: StartMenuIcon; Description: Ярлык В Меню Пуск;

    [Types]
    Name: full; Description: Full installation; Flags: iscustom

    [Components]
    Name: text; Description: Прога1; Types: full;
    Name: text; Description: Прога2; Types: full;
    Name: text; Description: Прога3; Types: full;
    Name: text; Description: Прога4; Types: full;

    Код (Text):

    [/b][color=#0000FF]var
      [/color]BitmapImage1: TBitmapImage;

    [color=#0000FF]procedure [/color][b]InitializeWizard[/b]();
    [color=#0000FF]begin
    [/color]BitmapImage1 := TBitmapImage.Create(WizardForm);
        [color=#0000FF]with [/color]BitmapImage1 [color=#0000FF]do
        begin
        [/color]Name := 'BitmapImage1';
        Parent := WizardForm.InnerPage;
        Stretch:= true;
        Left := ScaleX(0);
        Top := ScaleY(0);
        Width := ScaleX(497);
        Height := ScaleY(61);
        ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');
        Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp'));

        WizardForm.Caption := 'Моя установка';
           
        WizardForm.DirEdit.Top := ScaleY(1);
        WizardForm.DirBrowseButton.Top := ScaleY(0);
        WizardForm.DirEdit.Font.Color := clRed;
        WizardForm.DirEdit.ParentColor := True;

        WizardForm.ComponentsList.Parent := WizardForm.SelectDirPage;
        WizardForm.ComponentsList.SetBounds(0,37,416,70);

        WizardForm.TasksList.BorderStyle := bsSingle;
        WizardForm.TasksList.SetBounds(0,120,416,70);
        WizardForm.TasksList.ParentColor := True;
        WizardForm.TasksList.Font.Color := clRed;
        WizardForm.TasksList.Parent := WizardForm.SelectDirPage;

        WizardForm.Bevel.Hide;
        WizardForm.SelectDirLabel.Hide
        WizardForm.SelectDirBrowseLabel.Hide
        WizardForm.SelectDirBitmapImage.Hide
        WizardForm.PageDescriptionLabel.Hide
        WizardForm.PageNameLabel.Hide
        WizardForm.MainPanel.Hide
     [color=#0000FF]end[/color];
     [color=#0000FF]end[/color];

    [color=#0000FF]procedure [/color][b]CurPageChanged[/b](CurPageID: Integer);
    [color=#0000FF]begin
    if [/color]CurPageID=wpSelectDir [color=#0000FF]then
        [/color]WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
    [color=#0000FF]end[/color];

    [color=#0000FF]function [/color][b]ShouldSkipPage[/b](PageID: Integer): Boolean;
    [color=#0000FF]begin
      if [/color](PageID = 7) [color=#0000FF]or [/color](PageID = 9) [color=#0000FF]or [/color](PageID = 10) [color=#0000FF]then
      [/color]Result:= True;
    [color=#0000FF]end[/color];

    [color=#0000FF]procedure [/color][b]CancelButtonClick[/b](CurPageID: Integer; [color=#0000FF]var [/color]Cancel, Confirm: Boolean);  
    [color=#0000FF]begin  
      [/color]Confirm:= False;  
    [color=#0000FF]end[/color];
    [/color][/font][/SPOILER]

    [SPOILER="Снимок"][URL=http://savepic.org/4330211.htm][IMG]http://savepic.org/4330211m.jpg[/IMG][/URL][/SPOILER]
     
    Последнее редактирование: 24 авг 2013
Статус темы:
Закрыта.

Поделиться этой страницей