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

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

Автор: Snoopak96
Дата сообщения: 28.09.2011 19:49
Despofix
Так прибавь масштаб в фотошопе других программ наверно и нет таких, всё там нормально рисуется
Подробнее
Автор: byExit
Дата сообщения: 28.09.2011 19:50

Цитата:
УРРРРРРРРРРРРРРРРРРААААААААА!!!!!! КАЧАЕМ ВСЕ http://rghost.ru/23406471 !!!


Смешное содержимое.....

Файл "Script.iss" - на самом деле исполняемый файл от ЕА игры FIFA '12.
Файл "ISDone.dll" - arc (FreeArc) архив в котором инсталл проги "TeamViewer".
А файл "3d.dll" для меня вообще непонятная хрень с заголовком "ANDROID".
Автор: Black_Star_By_TiMaTi
Дата сообщения: 28.09.2011 20:03
insombia
На кой чёрт мне смотреть его содержимое, переименуй его в fifa.exe и удивись!

Добавлено:
Неужели обидно, что вам не достался их скрипт? Все так и хотят сплагиатить? Всем так и "ХОЧЕЦА" этот скрипт? Сами возьмите и сделайте себе 3д инсталл!
Автор: Despofix
Дата сообщения: 28.09.2011 20:09
Snoopak96
и не могу понять почему для BtnCreate хватает картинки типо этой, а для текстурирования надо что бы на расстоянии были
Автор: insombia
Дата сообщения: 28.09.2011 20:46
Black_Star_By_TiMaTi мне если честно их скрипт до жопы у меня есть свой тоже не плохой скрипт,а их 3D это пижонство
Автор: linker_2009
Дата сообщения: 29.09.2011 10:51
День добрый.
Подскажите, пожалуйста, способ сделать backup определенной папки в архив ZIP или 7z. Спасибо.
Автор: log1stable
Дата сообщения: 29.09.2011 12:44
Нормально так, скрипт на 23 мб))
Автор: shmel1985q
Дата сообщения: 29.09.2011 13:50
Приветствую VASYAKRN вы решили проблему с фоном на кнопках если да то как?
Автор: SotM
Дата сообщения: 29.09.2011 14:41
log1stable

Цитата:
Нормально так, скрипт на 23 мб))

дык, многа букаф, однако!
Автор: Xom9I4oK
Дата сообщения: 29.09.2011 16:25
1) Есть у кого отдельно скрипт 2-го прогресс-бара (1-й отображает общий прогресс, 2-й распаковку файла) с процентами рядом с каждым для обычных файлов (то есть без внешних пакеров типа фриарка) типа как при распаковке файлов в 4м винраре, средствами Инно (без ботва.длл)... Текстурирование должно быть стандартное (то что в скине подгружается).
2) Кто-нить знает почему у меня в Unicode-версии перестала работать загрузка курсоров из файла (в Ansi версии все было нормально - проверял тот же скрипт на обоих версиях), но мне надо чтобы на юникод-версии тоже работало. Сам скрипт [more][Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program

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

[Files]
Source: cursor.ani; DestDir: "{tmp}"; Flags: dontcopy

Code
const
GCL_HCURSOR = (-12);
OCR_NORMAL = 32512;


function LoadCursorFromFile(FileName: String): Longint;
external 'LoadCursorFromFileA@user32 stdcall';

function SetClassLong(hWnd: HWND; Index, NewLong: Longint): Longint;
external 'SetClassLongA@user32 stdcall';

function SetCursor(Cursor: Longint): Longint;
external 'SetCursor@user32 stdcall';

function SetSystemCursor(Cursor, CurType: Longint): Longint;
external 'SetSystemCursor@user32 stdcall';

function GetCursor(): Longint;
external 'GetCursor@user32 stdcall';

Var
OldCursor, NewCursor: Longint;

Procedure InitializeWizard();
begin

ExtractTemporaryFile('cursor.ani')

NewCursor:= LoadCursorFromFile(ExpandConstant('{tmp}\cursor.ani'));

OldCursor:=SetClassLong(WizardForm.NextButton.Handle, GCL_HCURSOR, NewCursor);
end;[/more]
Автор: YURSHAT
Дата сообщения: 29.09.2011 18:46
Xom9I4oK

Цитата:
редствами Инно (без ботва.длл)

Ну во первых ботва не имеет никакого отношения к прогресс бару, она просто рисует картинку исходя из оригинильных данных стандартного прогрессбара.

Цитата:
Есть у кого отдельно скрипт 2-го прогресс-бара (1-й отображает общий прогресс, 2-й распаковку файла) с процентами рядом с каждым для обычных файлов (то есть без внешних пакеров типа фриарка) типа как при распаковке файлов в 4м винраре,

Однажды решением этого вопроса занимались гуру инно и в итоге было решено, что средствами инно сделать нормальный второй прогрессбар - невозможно. Хотя существуют скрипты где это реализовано, но повторяю, что нормально сделать не получится!

ЗЫ. Пример есть в сборнике скриптов от Виктора Доброва (шапка)

Добавлено:

Цитата:
Кто-нить знает почему у меня в Unicode-весрии перестала работать загрузка курсоров из файла (в Ansi версии все было нормально

Замени
Код: function LoadCursorFromFile(FileName: String): Longint;
Автор: R3Pa4eK
Дата сообщения: 29.09.2011 18:54
Xom9I4oK

Цитата:
Кто-нить знает почему у меня в Unicode-весрии перестала работать загрузка курсоров из файла (в Ansi версии все было нормально

Замени
function LoadCursorFromFile(FileName: String): Longint;
на
function LoadCursorFromFile(FileName: WideString): Longint;
или на
function LoadCursorFromFile(FileName: PWideChar): Longint;
Автор: Xom9I4oK
Дата сообщения: 29.09.2011 19:00
Спасибо!
YURSHAT

Цитата:

Однажды решением этого вопроса занимались гуру инно и в итоге было решено, что средствами инно сделать нормальный второй прогрессбар - невозможно. Хотя существуют скрипты где это реализовано, но повторяю, что нормально сделать не получится!

Ну а не средствами инно (через длл) как-то можно это сделать чтобы выглядело как распаковка в винраре?
И еще хотелось бы услышать ответ на этот мой вопрос... http://forum.ru-board.com/topic.cgi?forum=5&topic=36421&start=2160#14
Автор: YURSHAT
Дата сообщения: 29.09.2011 19:15

Цитата:
Ну а не средствами инно (через длл)

Насколько мне известно такой dll еще не написали

Цитата:
как-то можно это сделать чтобы выглядело как распаковка в винраре?

Ну не знаю, можно например использовать архивы или простое копирование файлов из диска на комп с отображением в прогрессбаре. Как-то так...
Автор: Sergey_Demchuk
Дата сообщения: 29.09.2011 20:09
Есть у кого скриптик для подсчета суммы в мегабайтах у выбранных компонентов?
Автор: R3Pa4eK
Дата сообщения: 29.09.2011 20:13
Sergey_Demchuk
[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Автор: Sergey_Demchuk
Дата сообщения: 29.09.2011 20:57
R3Pa4eK
Мне хотелось бы именно сам подсчет а не сколько требуется, чтобы использовать єто в коде
Автор: Xom9I4oK
Дата сообщения: 29.09.2011 20:59
Почему у меня на юникод версии в этом [more]
Код: [Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
Compression=lzma2/ultra

[Files]
Source: innocallback.dll; Flags: dontcopy
Source: Setup\*; DestDir: {app}; Flags: recursesubdirs ignoreversion overwritereadonly;

[code]
type
TTimerProc = procedure(HandleW, Msg, idEvent, TimeSys: LongWord);

var
PercentsTimer: LongWord;
PercentsLabel: TLabel;

function WrapTimerProc(callback: TTimerProc; Paramcount: Integer): longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): longword; external 'SetTimer@user32';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32 stdcall delayload';

Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do
SetLength(Result, Length(Result)-1);
End;

Procedure PercentsProc(h, msg, idevent, dwTime: Longword);
Begin
with WizardForm.ProgressGauge do
begin
PercentsLabel.Caption:= 'Выполнено ' + NumToStr((Position*100)/Max) + ' %';
end;
End;

procedure DeinitializeSetup();
begin
KillTimer(0, PercentsTimer);
end;

procedure InitializeWizard();
begin
PercentsLabel:= TLabel.Create(WizardForm);
with PercentsLabel do
begin
Left:= WizardForm.ProgressGauge.Left;
Top:= WizardForm.ProgressGauge.Top + WizardForm.ProgressGauge.Height + ScaleY(10);
Width:= WizardForm.StatusLabel.Width;
Height:= WizardForm.StatusLabel.Height;
AutoSize:= False;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
PercentsTimer:= SetTimer(0, 0, 100, WrapTimerProc(@PercentsProc, 4));
end;
end;
Автор: R3Pa4eK
Дата сообщения: 29.09.2011 21:08
Sergey_Demchuk
Тебе нужно получить размер файлов? Если да, то [more=как то так]
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp
OutputDir=.\Output

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

[Code]
var
Size: Longint;

procedure InitializeWizard();
begin
FileSize(ExpandConstant('{src}\data.bin'), Size); //Kb
Size:= (round(Size/(1024*1024))); //Mb
(*Size:= (round(Size/1024*100)/100); //Gb
Size:= (round((Size/(1024*1024))*100)/100); //Tb
*)
end;
[/more] Я тебя правильно понял?
Автор: Sergey_Demchuk
Дата сообщения: 29.09.2011 23:01
Мне надо получить размер файлов в сумме, напротив которых стоит галочка в выборе компонентов.
Автор: VASYAKRN
Дата сообщения: 29.09.2011 23:03
Как создать лейб старт-время запуска сетапа и конец-конец распаковки как в закосе на блека от ник1967
Автор: Xom9I4oK
Дата сообщения: 29.09.2011 23:21
Мой предыдущий вопрос еще актуален + еще один назрел... Хотелось бы знать что значат цифровые значения в ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer) - интересуют 6-е и 3 последних.
Автор: YURSHAT
Дата сообщения: 30.09.2011 11:50
VASYAKRN

Цитата:
Как создать лейб старт-время запуска сетапа и конец-конец распаковки как в закосе на блека от ник1967

[more=Как то так][Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program

[Code]
type TSystemTime = record wYear, wMonth, wDayOfWeek, wDay, wHour, wMinute, wSecond, wMilliseconds: Word; end;
var StartTime, Time: TSystemTime; StartFileTime, FileTime: TFileTime; TLabel: TNewStaticText;

function GetLocalTime(var lpSystemTime: TSystemTime): Boolean; external 'GetLocalTime@kernel32.dll stdcall';
function SystemTimeToFileTime(const lpSystemTime: TSystemTime; var lpFileTime: TFileTime): Boolean; external 'SystemTimeToFileTime@kernel32.dll stdcall';
function FileTimeToSystemTime(const lpFileTime: TFileTime; var lpSystemTime: TSystemTime): Boolean; external 'FileTimeToSystemTime@kernel32.dll stdcall';

Function GetWorkTime: String;
Begin
    GetLocalTime(Time)    {время завершения установки}
    SystemTimeToFileTime(Time, FileTime)
    SystemTimeToFileTime(StartTime, StartFileTime)

//    здесь необходимо использовать 64-битовую арифметику ULARGE_INTEGER
    FileTime.dwLowDateTime:= FileTime.dwLowDateTime - StartFileTime.dwLowDateTime
    FileTime.dwHighDateTime:= FileTime.dwHighDateTime - StartFileTime.dwHighDateTime

    FileTimeToSystemTime(FileTime, Time)
Result:= 'Длительность: ' + IntToStr(Time.wHour) + ' час, ' + IntToStr(Time.wMinute) + ' мин, ' + FloatToStr((Time.wSecond*1000 + Time.wMilliseconds)/1000) + ' сек.'
End;

Procedure CurPageChanged(CurPageID: Integer);
Begin
if CurPageID = wpFinished then TLabel.Caption:= TLabel.Caption + #13#10 + GetWorkTime;
End;

Procedure InitializeWizard;
Begin
GetLocalTime(StartTime) {время начала установки}
TLabel:= TNewStaticText.Create(WizardForm);
TLabel.Top:= WizardForm.CancelButton.Top;
TLabel.Left:= WizardForm.ClientWidth - WizardForm.CancelButton.Left - WizardForm.CancelButton.Width;
TLabel.Parent:= WizardForm;
TLabel.Caption:= 'Время старта: ' + IntToStr(StartTime.wHour) + ' час, ' + IntToStr(StartTime.wMinute) + ' мин, ' + FloatToStr((StartTime.wSecond*1000 + StartTime.wMilliseconds)/1000) + ' сек.' ;
End;[/more].
Sergey_Demchuk

Цитата:
Мне надо получить размер файлов в сумме, напротив которых стоит галочка в выборе компонентов.

Но вобщето в инно подсчитывается размер выбранных компонентов и отображается внизу страницы. А если ты хочешь получить эту цифру, чтобы использовать в дальнейшем то как то [more=так][Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

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

[Messages]
ComponentsDiskSpaceMBLabel=[mb]

[Components]
Name: main; Description: Программные файлы; Flags: fixed; Types: custom compact full
Name: Component1; Description: Факультатив 1; Flags: checkablealone; Types: full

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

[Files]
Source: "C:\Documents and Settings\Администратор\Рабочий стол\1.rar"; DestDir: "{app}"; Flags: ignoreversion; Components: main
Source: "C:\Documents and Settings\Администратор\Рабочий стол\1.rar"; DestDir: "{app}"; Flags: ignoreversion; Components: Component1

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

[Code]
var
Lbl: TLabel;

procedure InitializeWizard();
begin
Lbl := TLabel.Create(WizardForm);
with WizardForm.ComponentsDiskSpaceLabel do
begin
Lbl.Top := Top;
Lbl.Left:= Left;
Lbl.AutoSize := True;
Lbl.Caption := 'Disk space requires (Mb): ';
Lbl.Parent := Parent;
Left:= Lbl.Left + Lbl.Width;
end;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
str: string;
begin
if CurPageID = wpSelectComponents then
begin
MsgBox(WizardForm.ComponentsDiskSpaceLabel.Caption, mbInformation, MB_OK);
end;
Result:= True;
end;[/more]
Автор: Despofix
Дата сообщения: 30.09.2011 12:18
YURSHAT
ответь на ЛС плиз
Автор: meekrab
Дата сообщения: 30.09.2011 14:59
YURSHAT
Скинул тебе вариант который сделан до командировке. Точнее переделал
Автор: Xom9I4oK
Дата сообщения: 30.09.2011 16:21
1) Ну так что есть у кого код нормально работающего на юникод-версии (чтобы проценты в минус не уходили), плавного прогресс-бара (распаковка идет средствами инно - никаких внешних упаковщиков!), показывающего проценты установки?
2) И еще 1 вопрос - возможно ли чтобы Инно шифровал свои временные файлы (картинки, длл и прочее) или вообще их в оперативке держал как-то?
3) Как убить процесс через 5 сек после его выполнения. Как убить-то понятно - интересует именно чтобы через нужное мне время и без зацикливания процесса во всякие Sleep'ы.
Автор: Begun999
Дата сообщения: 30.09.2011 17:54
Добрый вечер!
Подскажите какой из AppId я должен вписывать в
[Setup]
AppId= ????

Реестр
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{4D24C990-A4D5-4692-B998-983DD709E683}; ValueType: string; ValueName: ApplicationId; ValueData: {{BD239071-40BE-4B1A-A64B-BE0C7F28201D}; Flags: uninsdeletevalue uninsdeletekeyifempty

Первый или второй?
Автор: Brabusdark
Дата сообщения: 30.09.2011 18:00
помойму второй
народ как сделать прогресс бар другого цвета
http://rghost.ru/23260521 - вот инсталл
Автор: insombia
Дата сообщения: 30.09.2011 19:39
Brabusdark какой нужен цвет?
Автор: Brabusdark
Дата сообщения: 30.09.2011 19:40
синий или красный
и желательно показать как это делать

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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