Ru-Board.club
← Вернуться в раздел «Программы»

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

Автор: Igimon
Дата сообщения: 19.02.2012 12:58
Genri


Цитата:

Цитата:указанный INI файл в принципе не содержит не секций не ключей.
-- значит это не ини-файл. Формат ини-файла предусматривает определенную структуру содержимого (секции, ключи). Ини-файл или обычный текстовый файл - определяется структурой, а не расширением. В твоем случае, это обычный текстовый файл. Используй, функции, которые упоминал Tapas77789.


Да указаные функции также не работают, если не указывать (секции, и ключи). Но если использовать функцию savestringtofile то остается вопрос как сделать так чтобы эта функция работала только при выборе необходимого конпонента, например при выборе компонента min?
Автор: R3Pa4eK
Дата сообщения: 19.02.2012 14:50
Igimon
if IsComponentSelected('min') then SaveStringToFile('file.txt', 'бла-бла-бла', true or false);

Добавлено:
del
Автор: serg566
Дата сообщения: 20.02.2012 02:22
Доброе время суток, подскажите, что не так, почему не отображается StartMenuFolderTreeView и правильна ли привязка GroupEdit к StartMenuFolderTreeView

[more=Код][_Code]
var
DirTreeView: TFolderTreeView;
StartMenuFolderTreeView: TStartMenuFolderTreeView;

procedure DirFolderChange(Sender: TObject);
begin
WizardForm.DirEdit.Text:=AddBackslash(DirTreeView.Directory) + 'MyProg'
WizardForm.GroupEdit.Text:=AddBackslash(StartMenuFolderTreeView.Directory) + 'MyProg'
end;

Procedure InitializeWizard;
begin
DirTreeView:=TFolderTreeView.Create(WizardForm)
DirTreeView.SetBounds(0,110,417,100)
DirTreeView.OnChange:=@DirFolderChange
DirTreeView.Parent:=WizardForm.SelectDirPage

StartMenuFolderTreeView:=TStartMenuFolderTreeView.Create(WizardForm)
StartMenuFolderTreeView.SetBounds(0,110,417,100)
StartMenuFolderTreeView.OnChange:=@DirFolderChange
StartMenuFolderTreeView.Parent:=WizardForm.SelectProgramGroupPage
end;[/more]
Автор: vint56
Дата сообщения: 20.02.2012 08:39
serg566 [more=вот пример]
[Setup]
AppName=My Program
AppVersion=1.5
;AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program

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

[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}

[Code]
var
DirTreeView: TFolderTreeView;
StartMenuFolderTreeView: TStartMenuFolderTreeView;

procedure DirTreeViewOnChange(Sender: TObject);
begin
WizardForm.DirEdit.Text:= AddBackslash(DirTreeView.Directory)+'My Program';
end;

procedure StartMenuFolderTreeViewOnChange(Sender: TObject);
begin
WizardForm.GroupEdit.Text:= AddBackslash(StartMenuFolderTreeView.Directory)+'My Program';
end;

procedure InitializeWizard();
begin
DirTreeView:= TFolderTreeView.Create(WizardForm);
DirTreeView.Top:= WizardForm.DirEdit.Top+28;
DirTreeView.Width:= 417;
DirTreeView.Height:= 100;
DirTreeView.OnChange:= @DirTreeViewOnChange;
DirTreeView.Parent:= WizardForm.SelectDirPage;

StartMenuFolderTreeView:= TStartMenuFolderTreeView.Create(WizardForm);
StartMenuFolderTreeView.Top:= WizardForm.GroupEdit.Top+28;
StartMenuFolderTreeView.Width:= 417;
StartMenuFolderTreeView.Height:= 100;
StartMenuFolderTreeView.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{userstartup}'),ExpandConstant('{commonstartup}'));
StartMenuFolderTreeView.OnChange:= @StartMenuFolderTreeViewOnChange;
StartMenuFolderTreeView.Parent:= WizardForm.SelectProgramGroupPage;
end;[/more]

Автор: ZIKIG
Дата сообщения: 20.02.2012 15:04
Всем привет!

Протестите пожалуйста инсталлятор.

Ссылка

Рядом положить (arc).
Автор: Snoopak96
Дата сообщения: 20.02.2012 15:16
ZIKIG


P.S. Уже было что-то на подобии.
Автор: ZIKIG
Дата сообщения: 20.02.2012 15:25
Snoopak96

что именно?
Автор: Y4enik32
Дата сообщения: 20.02.2012 17:34
Snoopak96
Будет ли в паблике вашь скрипт - аля PSP ?
Автор: nik1967
Дата сообщения: 20.02.2012 18:39
Y4enik32
[more=А вот и ответ на вопрос]http://krinkels.ru/showthread.php?t=349[/more]
Автор: GDDR7
Дата сообщения: 20.02.2012 19:56
Всем доброго времени суток.
Народ будьте добры подскажите, где можно взять скрипт этого инстала http://s002.youpic.su/pictures/1328302800/2fe911dd8643e303b28959bc16884afe.png
Автор: R3Pa4eK
Дата сообщения: 20.02.2012 20:19
GDDR7
Нигде! Его нет в паблике (хотя, наверное, скоро будет).
Автор: alex_exp
Дата сообщения: 20.02.2012 21:23
Подскажите пожалуйста, как сделать так, чтобы чекбокс "Создать значок на Рабочем столе" выводился бы на самой последней странице по завершению инсталляции?
Автор: GhoSt_1616
Дата сообщения: 20.02.2012 21:37
Если сольешь - я тебя живьем закопаю!!!! Юрец ты меня понял?????
Автор: serg566
Дата сообщения: 21.02.2012 00:30
vint56
Спасибо
Автор: GDDR7
Дата сообщения: 21.02.2012 05:16
GhoSt_1616
А почему бы вам не выложить его, что такого?Только ещё знаменитее станете.
Не жадничайте, всё равно он когда нибудь всплывёт
Автор: Nasgul1987
Дата сообщения: 21.02.2012 11:25
уважаемые участники форума
очень нужна ваша помощь
я застрял
как сделать чтобы созданный мной скроллбокс в расширенной версии прокручивался колесом мыши.
Игрался с настройками. Только нашёл
VertScrollBar.Tracking := True; ,но он не помогает
в справке есть упоминание TScrollBox = class(TScrollingWinControl) и понял, что это функция Windows, но не знаю как ею воспользоваться.
вот пример моего скроллбокса.
ели кто может. Покажите мне на нём решение проблемы.

http://rghost.ru/36630976


Если нужно, то выложу скрипт целиком (только он с файлами много весит)
у меня в нём 5 скроллбоксов и один из них в обязательном порядке должен прокручиваться.
Автор: Edison007007
Дата сообщения: 21.02.2012 12:06

Цитата:
А почему бы вам не выложить его, что такого?

Что-то я не замечаю, что все выкладывают свои скрипты :\ и известность, это сейчас не принесёт

Цитата:
Не жадничайте, всё равно он когда нибудь всплывёт

Если захотеть ничего не всплывёт! и да не придумать что ли свой инсталл?
Автор: GhoSt_1616
Дата сообщения: 21.02.2012 15:28
GDDR7, известность приносят сильные релизы, очновой которых являбтся прямые руки и быстрый интернет. А сливание чужих наработок в сеть... так поступают только подлые гниды к которым я испытываю величайнее внутреннее отвращение... таких людей я презираю и в реальной жизни бью им их вонючий фейс.

Если голова не может придумать, а руки реаализовать (по-отдельности) - найдите себе хорошего помошника \ идейного брата, ну а если же всё вместе - нечего тогда заниматься репаками - прошу в песочницу в солдатики да куколки играть...

Думаю суть ясна?

А сайт кривого Васи как лежал на прошлой неделе, так и впоследствии будет лежать, если через него пойдут сливы и думаю не только наши, но и остальных РГ которые нам симпатичны, за сим попрошу откланяться
Автор: BlackPhoenix28
Дата сообщения: 21.02.2012 17:35
Добрый день ! Подскажите пожалуйста. Как сделать что-бы плеер был все время виден ? Просто я в IS GameScript generator не нашол такой опции. Там есть время исчезновения окошка с названием песни а по поводу плеера там только показать или нет, но при включении "Показывать Мр3 плеер" он все равно через какое то время исчезает. Просто он мне идеально подходит. Мне нужно что-бы экран был практически весь открыт. Если можно то объясните поподробнее вплоть до того что и после какой строки вставлять и чего где править.

[more=Вот мой скрипт]
[Setup]
SourceDir=.
OutputDir=Setup
AppName=The Book of Unwritten Tales
AppVerName=The Book of Unwritten Tales
AppVersion=The Book of Unwritten Tales
AppPublisher=HMN Interactive
AppCopyright=HMN Interactive
DefaultDirName={pf}\The Book of Unwritten Tales
DefaultGroupName=The Book of Unwritten Tales
AllowNoIcons=yes
InfoBeforeFile=D:\Картинки\Лицензия.rtf
OutputBaseFilename=setup
WizardImageFile=D:\Картинки\InstallLeft.bmp
WizardSmallImageFile=D:\Картинки\InstallCorner.bmp
SetupIconFile=C:\Program Files (x86)\The Book of Unwritten Tales\Book.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra
DiskSpanning=yes
DiskSliceSize=524288000
SlicesPerDisk=1

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

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

[Files]
Source: "D:\Картинки\1.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\10.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\2.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\3.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\4.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\5.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\6.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\7.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\8.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\9.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "bass.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\20-abspann-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\08-erzmagier_alastair-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\10-das_lied_vom_tod-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\12-unknown-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\15-unknown-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\16-ivo-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: C:\Users\SASHA\Desktop\Game.reg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: "C:\Program Files (x86)\The Book of Unwritten Tales\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: "{group}\The Book of Unwritten Tales"; Filename: "{app}\bout.exe"; WorkingDir: "{app}";
Name: "{userdesktop}\The Book of Unwritten Tales"; Filename: "{app}\bout.exe"; WorkingDir: "{app}"; Tasks: desktopicon;
Name: "{group}\{cm:UninstallProgram,The Book of Unwritten Tales}"; Filename: "{uninstallexe}"

[Run]
Description: "{cm:LaunchProgram, The Book of Unwritten Tales}"; Filename: "{app}\bout.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked
Filename: {win}\regedit.exe; Parameters: /s {tmp}\Game.reg; StatusMsg: "Вносим изменения в реестр ..."; Flags: waituntilterminated runasoriginaluser

[UninstallDelete]
Type: filesandordirs; Name: "{app}"

[Code]
const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boolean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PAnsiChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PAnsiChar;IsShowMP3Info,IsBkgFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('Game.reg');
ExtractTemporaryFile('20-abspann-ik.mp3');
ExtractTemporaryFile('08-erzmagier_alastair-ik.mp3');
ExtractTemporaryFile('10-das_lied_vom_tod-ik.mp3');
ExtractTemporaryFile('12-unknown-ik.mp3');
ExtractTemporaryFile('15-unknown-ik.mp3');
ExtractTemporaryFile('16-ivo-ik.mp3');
ExtractTemporaryFile('bass.dll');
Result:=True;
end;

procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'Repack by BlackPhoenix',True,True,7000,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),10,False,1,$FF000000);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('1.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\1.jpg');
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ssDeInitialize;
end;
[/more]

P.S. Прошу не отсылать к хелпам от Kindly. Там я уже был но мало что понял.
Автор: Igimon
Дата сообщения: 21.02.2012 20:30
Если кто знает, подскажите пожалуйста пример скрипта чтобы в самом начале запуска инсталлятора, перед тем как появится окно приветствие, на две три секунды появилась бы заставка Лого загружаемая из bmp файла, но только не на весь экран а по размеру bmp файла.
Автор: troyan90
Дата сообщения: 22.02.2012 10:33
Win7TBP - скрипт позволяет отобразить прогресс на панели задач win7. требуется inno setup (u)
Автор: VASYAKRN
Дата сообщения: 22.02.2012 18:35
GhoSt_1616

Цитата:
А сайт кривого Васи как лежал на прошлой неделе, так и впоследствии будет лежать, если через него пойдут сливы и думаю не только наши, но и остальных РГ которые нам симпатичны, за сим попрошу откланяться

Как красиво заливаешь Откуда такая уверенность то? Если учитывать, что ни ты, ни твои знакомые к этому случаю отношения не имеют. Да и твою самооценку надо бы понизить, а то аж из Англии она виднеется сквозь облачные дали. Нет, если бы она была похожа, скажем, на эйфелеву башню - пускай, но ведь это же скорее огромный волдырь на теле Земли. Такое надо искоренять, товарищи.
Автор: MISHANCHYK
Дата сообщения: 23.02.2012 09:04
Опа. VASYAKRN, а объясни пожалуйста, как это ты так быстро русским языком овладел? Раньше писал с грубыми грамматическими ошибками, а тут с художественными оборотами и без явных ошибок? Ну, если на эйфелеву не обращать внимания.
Автор: alex0413
Дата сообщения: 23.02.2012 14:27
Igimon
http://rghost.ru/36667586
только здесь png картинка
Автор: alex_exp
Дата сообщения: 24.02.2012 00:44
Подскажите пожалуйста, для инсталляции используются внешние файлы которые находятся на втором диске:
"Source: {src}\My Files\*; DestDir: {app}; Flags: external"
Но инсталлятор при запуске с первого диска выдает ошибку при попытке чтения исходного файла! Как сделать так чтобы запрашивался второй диск а не вываливалась бы окно с ошибкой и предложением Прервать Повтор Пропустить?
Автор: Nasgul1987
Дата сообщения: 24.02.2012 19:21
alex_exp
попробуй так
Source: {src}\outer\*; DestDir: {app}\inside; ExternalSize: 1048576; Flags: ignoreversion recursesubdirs createallsubdirs external skipifsourcedoesntexist;
и раз твой файл на другом диске, то помести эту строку в конец секции [Files]
Автор: alex_exp
Дата сообщения: 24.02.2012 19:41
Nasgul1987

Цитата:
попробуй так
Source: {src}\outer\*; DestDir: {app}\inside; ExternalSize: 1048576; Flags: ignoreversion recursesubdirs createallsubdirs external skipifsourcedoesntexist;
и раз твой файл на другом диске, то помести эту строку в конец секции [Files]


С флагом skipifsourcedoesntexist инсталлятор вообще пропускает все файлы если они отсутствуют на первом диске и завершает установку! И не имеет значение где стоит строка в начале или в конце секции. Тут в принципе два варианта, или когда инсталлятор выдаст ошибку, сразу вставить другой диск и нажать повторить, но мне это очень не нравится, или второй вариант, прописать функцию запроса диска, но как её прописать я не знаю!
Автор: ZIKIG
Дата сообщения: 24.02.2012 20:41
Всем привет!
кто нибудь поделитесь скриптом UFO, если не жалко.
Заранее спасибо.
Автор: nik1967
Дата сообщения: 24.02.2012 21:28
alex_exp, присмотрись к Можно ли сделать свою форму запроса следующего диска. от meekrab'а (Winst@n'а). Это, нет?
Цитата:
кто нибудь поделитесь скриптом UFO, если не жалко.
ZIKIG, каким именно скриптом UFO?
Автор: ZIKIG
Дата сообщения: 24.02.2012 21:43
а их че несколько?? ну последним тогда.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.