Вопрос Бегущая строка в Инсталляторе

asterix93

Новичок
asterix93, Что то я вообще не понял про что ты (причём тут через ; а не //)? Ошибка идёт на 0; - 1; - 2;

0; AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
1; AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
2; AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
если пасматрети в коде катории я ему атправил я снял ата 0,1,2
 

asterix93

Новичок
vint56, При установке вообще не чего не происходит. Устанавливается игра и всё. Специально отдельно ставлю без игры делаю сетуп и ставлю галке установить по, сетуп устанавливается а по нет. И не пишет в установщике что идёт установка по.

Upd. Бред полнейший какой то! Заменил файлы ПО на другие, всё стало устанавливаться.

Благодарю за помощь!
Держы вот так должын работать
Код:
//Скрипт создан через Мастер Inno Setup Script.
//ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
//Примечание: Значение AppId идентифицирует это приложение.
//Не используйте одно и тоже значение в разных установках.
//(Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{DDDA5602-14C2-4999-8A4B-2E92644FE766}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[CustomMessages]
Comp0 = Tasks1
Comp1 = Обновление DirectX
Comp2 = Установка Microsoft Visual C++...


[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
//Примечание: Не используйте "Flags: ignoreversion" для системных файлов

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(ExpandConstant('{cm:Comp1}'));
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(ExpandConstant('{cm:Comp2}'));

[code]
var
  CheckListBox: TNewCheckListBox;

//===============Неправельно==========================
//function CheckListBoxChecked(int: integer): boolean;
//begin
//if (int >= 0) and (int < CheckListBox.ItemCount) then
//  Result:= CheckListBox.Checked[int]
//else
//  Result:= false;
//end;
//====================================================

Function CheckListBoxChecked(Name: String): Boolean;
var
I: Integer;
begin
Result := False;
for I := 0 to CheckListBox.ItemCount - 1 do
begin
  if (I <= CheckListBox.ItemCount) then
  Result := CheckListBox.Checked[CheckListBox.Items.IndexOf(Name)];
end;
end;

procedure InitializeWizard();
begin
  CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := WizardForm;
  TreeViewStyle := false;
  SetBounds(170,165,280,100);
  Font.Name:='Calibri';
  Font.Color:=clRed;
  Font.Height := -14;
//  Color:= clRed;
  WantTabs:= True;
//  Font.Style:=[fsBold];

AddCheckBox(CustomMessage('Comp0'), '', 0, False, True, False, True, nil);
  AddCheckBox(CustomMessage('Comp1'), '', 1, False, True, False, True, nil);
  AddCheckBox(CustomMessage('Comp2'), '', 1, False, True, False, True, nil);
    AddCheckBox(CustomMessage('Comp2'), '', 2, False, True, False, True, nil);
end;
end;

Если не будет работать скажыш ести ишё адин вариант
 
Последнее редактирование:

Kotuy

Новичок
asterix93, Благодарю, но Upd. Бред полнейший какой то! Заменил файлы ПО на другие, всё стало устанавливаться.
 

Kotuy

Новичок
asterix93, Зачем? Если всё уже работает! Те файлы удалил с компа (корзины).
 

Kotuy

Новичок
И снова здравствуйте!!!

Теперь новая проблемка, может кто что подскажет.
Создал.
NewGroupBox

Код:
  NewGroupBox1 := TNewGroupBox.Create(WizardForm);
  with NewGroupBox1 do
  begin
  Parent := Panel1;
  SetBounds(15,130,620,117);
//  ParentBackground := True;
  end;
И в него вставил инфу про ЖД (размер, сколько осталось) и т.п

Код:
//========Сколько место осталось на Жесткий Диск=========
FreeSpaceLabel:= TLabel.Create(WizardForm);
FreeSpaceLabel.AutoSize:= False;
FreeSpaceLabel.SetBounds(407,94,240,240);
FreeSpaceLabel.Parent:= Panel1;
FreeSpaceLabel.Font.Height := -13;
FreeSpaceLabel.Font.Color:=clRed;
FreeSpaceLabel.Font.Name:='Palatino Linotype';
FreeSpaceLabel.Font.Style:=[fsBold];
А проблема в том что при смене диска(буквы) не меняется размер в установщике.

Сам текст есть (Доступно место на Диске: 84.81 Гб) а цифры не меняются не важно какой диск(букву) выбираешь
 

Kotuy

Новичок
Здравствуйте! Назрел ещё один вопросик.
Возможно ли сделать что бы музыка в Инсталляторе проигрывалась не сама, а например её запускать можно было самому во время установки.
 

JodyFa

Новичок
Здравствуйте! Назрел ещё один вопросик.
Возможно ли сделать что бы музыка в Инсталляторе проигрывалась не сама, а например её запускать можно было самому во время установки.
Код:
#include "botva2.iss"
#include "BASS_Module.iss"

[Setup]
AppName=BassExample
AppVerName=BassExample
DefaultDirName={pf}\BassExample

[Files]
Source: BASS_Files\*;  DestDir: {tmp}; Flags: dontcopy
Source: music.mp3;  DestDir: {tmp}; Flags: dontcopy

[code]
procedure InitializeWizard();
begin
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('Music.mp3');

  BASS_Init('{tmp}\Music.mp3') //Запускаем музыку
  //Можно добавить в инсталл несколько песен
  //BASS_Init(ExpandConstant('{tmp}\*'))        //Поиск по маске
  BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4) //Создаем кнопку вкл/выкл
end;

procedure DeinitializeSetup();
begin
  BASS_DeInit; //Освобождаем процесс
  gdipShutdown
end;
 

Kotuy

Новичок
JodyFa, Это стандартный скрипт. При запуске установки музыка играет автоматически. А мне надо что бы самому надо было вкл её.
 

Nemko

Дилетант
Модератор
Может так...
Код:
#include "botva2.iss"
#include "BASS_Module.iss"

[Setup]
AppName=Bass
AppVerName=Bass
DefaultDirName={sd}\Bass

[Files]
Source: BASS_Files\*;  DestDir: {tmp}; Flags: dontcopy
Source: music.mp3;  DestDir: {tmp}; Flags: dontcopy

[code]
procedure InitializeWizard;
begin
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('Music.mp3');
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpInstalling then begin
  BASS_Init('{tmp}\Music.mp3');
  BASS_CreateOnOffButton(WizardForm.InstallingPage,'{tmp}\MusicButton.png',0,200,36,36,4);
end else _BASS_Stop;
end;

procedure DeinitializeSetup;
begin
  BASS_DeInit; //Освобождаем процесс
  gdipShutdown
end;
 
Последнее редактирование:

Nemko

Дилетант
Модератор
Значка нету вкл выкл.
Он есть, тока он на станице InstallingPage, просто пример пустой быстро устанавливается за секунду. Музыка завершается в конце установки функцией else _BASS_Stop не надо можно убрать.

А так по правильному лучше создать кнопку через botva, разместить ее на странице InstallingPage и прикрутить процедуру нажатия (типо паузы и т.д. и п.п.). У меня рабочая неделя начинается так что извиняйте если что, времени пока нет свободного.

P.S. В скрипе Starcraft (http://krinkels.org/resources/starcraft-2.10/) реализовано такое. Там музыка начинает играть другая при установке.

Код:
    #include "botva2.iss"
    #include "BASS.iss"

[Setup]
    AppName=Bass
    AppVerName=Bass
    DefaultDirName={sd}\Bass

[Files]
    Source: BASS_Files\*;  DestDir: {tmp}; Flags: dontcopy
    Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs
    Source: music.mp3;  DestDir: {tmp}; Flags: dontcopy

[code]
var
    ButtonSound: HWND;
procedure InitializeWizard();
begin
    ExtractTemporaryFile('BASS.dll');
    ExtractTemporaryFile('CallbackCtrl.dll');
    ExtractTemporaryFile('botva2.dll');
    ExtractTemporaryFile('Button.png');
    ExtractTemporaryFile('Music.mp3');
    BASS_Init('{tmp}\Music.mp3');
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpInstalling then begin
   _BASS_ChannelPlay(BASS_Cfg.Mp3Handle, True);
    ButtonSound:=BtnCreate(WizardForm.Handle,10,326,73,22, ExpandConstant('{tmp}\button.png'),0,False);
    BtnSetEvent(ButtonSound,BtnClickEventID,WrapBtnCallback(@BASS_OnOffClick,1));
    BtnSetText(ButtonSound,'Тык');
    BtnSetVisibility(ButtonSound,True);
    ImgApplyChanges(WizardForm.Handle);
end
else
   _BASS_ChannelPause(BASS_Cfg.Mp3Handle);

  if CurPageID = wpFinished then begin
    BtnSetVisibility(ButtonSound,False);
end;
end;


procedure DeinitializeSetup;
begin
    BASS_DeInit;
    gdipShutdown
end;
 

Вложения

  • 222.2 KB Просмотры: 20
Последнее редактирование:

Nemko

Дилетант
Модератор
У меня все норм, попробуйте что нибудь придумать, команды в BASS.iss написаны.
2.jpg
 
Сверху