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

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

Автор: vint56
Дата сообщения: 19.08.2011 21:16
Вот хочу предложить ещё один вариант наложения изображения на ISWin7 на png картинке большое им спасибо VoLT и ExpeditoR за ISWin7 и isSlideShow
вот скрин

http://rghost.ru/18570091
Автор: bugron
Дата сообщения: 19.08.2011 21:20

Цитата:
Вот хочу предложить ещё один вариант наложения изображения на ISWin7 на png картинке
вот скрин

http://rghost.ru/18570091

Кратко и понятно, спасибо! Если было бы больше таких ясных примеров...
Автор: VASYAKRN
Дата сообщения: 19.08.2011 21:25
Gnom
Мне понравился твой сайт http://innoultra.ru/
Если хочеш могу на inno.at.ua создать блок с силкой на твою сборку
пиши в ЛС
бесплатно[size=5][/size]
Автор: zxcvvcxz1
Дата сообщения: 19.08.2011 21:31
vint56
Круть! Кстати подможеш тоже с "лого". Только лого как текст и тоже на ISWin7, Трабла такая: Не могу заставить отображаться текстовую надпись хотя кликабельность по пустому месту функцианирует.
Автор: Gnom3
Дата сообщения: 19.08.2011 21:31
vint56
Цитата:
Вот хочу предложить ещё один вариант наложения изображения на ISWin7 на png картинке
вот скрин

Блин, и ведь знал, что исслайдшоу под собой как раз черную панель делает, но даже и в голову не пришло ее на стекло исВин7 положить + много


Добавлено:
zxcvvcxz1
измени цвет текста с черного, на любой другой.

Добавлено:
VASYAKRN

Цитата:
Если хочеш могу на inno.at.ua

Если честно, не хочу, чтобы мой сайт какимто боком касался твоего.
Автор: zxcvvcxz1
Дата сообщения: 19.08.2011 21:35
Gnom3
Не канает. В смысле пробовал Могу закинуть скрипт
Автор: vintage_1
Дата сообщения: 19.08.2011 21:42
zxcvvcxz1
Случайно нет [more=так]
#define AppName "1"

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

[Files]
Source: ISWin7.dll; DestDir: {tmp}; Flags: dontcopy;

[Code]
var
RGNameLabel: TNewStaticText;

procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); external 'iswin7_add_glass@files:iswin7.dll stdcall';
procedure iswin7_add_button(Handle:HWND); external 'iswin7_add_button@files:iswin7.dll stdcall';
procedure iswin7_free; external 'iswin7_free@files:iswin7.dll stdcall';
procedure RGNameSiteOnClick(Sender: TObject); var SiteCode: Integer; begin ShellExec('open', 'http://element-team.org/index.php', '', '', SW_SHOWNORMAL, ewNoWait, SiteCode); end;

procedure InitializeWizard();
begin
RGNameLabel:= TNewStaticText.Create(WizardForm);
RGNameLabel.Left:= 10;
RGNameLabel.Top:= 324;
RGNameLabel.Width:= 50;
RGNameLabel.Height:= 15;
RGNameLabel.AutoSize:= True;
RGNameLabel.Font.Color:= $484848;
RGNameLabel.Font.Name:= 'Georgia';
RGNameLabel.Font.Style:=[fsBold]
RGNameLabel.Font.Size:= 10;
RGNameLabel.Color:= clBlack;
RGNameLabel.Caption:= '[ R.G. Element Arts ]'+#13+#10+
' element-team.org';
RGNameLabel.OnClick:=@RGNameSiteOnClick
RGNameLabel.Cursor:=crHand
RGNameLabel.Parent:= WizardForm;

iswin7_add_button(WizardForm.BackButton.Handle);
iswin7_add_button(WizardForm.NextButton.Handle);
iswin7_add_button(WizardForm.CancelButton.Handle);
iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, False);
end;

procedure DeinitializeSetup();
begin
iswin7_free;
end;
[/more] пробывал?
Автор: Gnom3
Дата сообщения: 19.08.2011 21:45
vintage_1
Правильно именно TNewStaticText, не понимаю ,чего все к лейбелам привязались
Единственное,
Код: RGNameLabel.Color:= clBlack;
Автор: zxcvvcxz1
Дата сообщения: 19.08.2011 21:46
vintage_1

[more=Ну типа]//***************** Logo *************************************
procedure SiteLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
if MsgBox(ExpandConstant('{cm:Sait1}'), mbConfirmation, MB_YESNO) = IDYES then
ShellExec('open', '{#MyAppURL}', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clRed
//SiteLabel.Font.Color:=clBlack
SiteLabel.Font.Size:= 14;
SiteLabel.Font.Name:= 'Segoe Print'
SiteLabel.Font.Style := [fsBold]
SiteLabel.Transparent:= true;
end;

procedure SiteLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clBlack
SiteLabel.Font.Size:= 15;
SiteLabel.Font.Name:= 'Segoe Print'
SiteLabel.Font.Style := [fsBold]
SiteLabel.Transparent:= true;
end;

procedure SiteLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clGreen
//SiteLabel.Font.Color:=clBlack
SiteLabel.Font.Size:= 14;
SiteLabel.Font.Name:= 'Segoe Print'
SiteLabel.Font.Style := [fsBold]
SiteLabel.Transparent:= true;
end;

procedure SiteLabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clWhite
//SiteLabel.Font.Color:=clBlack
SiteLabel.Font.Size:= 15;
SiteLabel.Font.Name:= 'Segoe Print'
SiteLabel.Font.Style := [fsBold]
SiteLabel.Transparent:= true;
end;

procedure Text;
begin
MouseLabel:=TLabel.Create(WizardForm)
MouseLabel.Width:=ScaleX(10);
MouseLabel.Height:=ScaleY(16);
MouseLabel.Left:= ScaleX(10);
MouseLabel.Top:= ScaleY(325);
MouseLabel.Font.Name:= 'Segoe Print'
MouseLabel.Font.Size:= 16;
MouseLabel.Font.Style := [fsBold]
MouseLabel.Autosize:=False
MouseLabel.Transparent:=True
MouseLabel.OnMouseMove:=@SiteLabelMouseMove2
MouseLabel.Parent:=WizardForm

SiteLabel:=TLabel.Create(WizardForm)
SiteLabel.Left:=20
SiteLabel.Top:=320
SiteLabel.Font.Color:=clWhite
SiteLabel.Font.Size:= 16;
SiteLabel.Font.Name:= 'Segoe Print'
SiteLabel.Font.Style := [fsBold]
SiteLabel.Transparent:= true;

SiteLabel.Cursor:=crHand
SiteLabel.Caption:=ExpandConstant('{cm:Sait2}');
SiteLabel.OnClick:=@SiteLabelOnClick
SiteLabel.OnMouseDown:=@SiteLabelMouseDown
SiteLabel.OnMouseUp:=@SiteLabelMouseUp
SiteLabel.OnMouseMove:=@SiteLabelMouseMove
//SiteLabel.OnMouseMove:=@SiteLabelMouseMove2
SiteLabel.Parent:=WizardForm
end;

//***************** End Logo ********************************[/more]
Автор: vintage_1
Дата сообщения: 19.08.2011 21:47
Gnom3

Цитата:
Забыл спросить, на винде с отключенным аэро пробовал?

Тоже хотел спросить
Автор: vint56
Дата сообщения: 19.08.2011 21:51
Gnom3 так сейчас проверил отключил aero peek вот скрин
Автор: vintage_1
Дата сообщения: 19.08.2011 21:54
vint56
http://i25.fastpic.ru/big/2011/0819/2e/067d26012bb865b0980642cf78be632e.png
Автор: vint56
Дата сообщения: 19.08.2011 21:56
vintage_1 если все галочки снять то у меня тоже так а если aero peek то скрин верху

Автор: Gnom3
Дата сообщения: 19.08.2011 21:57

Цитата:
так сейчас проверил отключил aero peek вот скрин

выключи аэро - тоесть выбери упрощенную тему, поскольку на ХР аэро не будет работать и посмотри на результат.

Добавлено:

Цитата:
если все галочки снять то у меня тоже так а если aero peek то скрин верху

именно. нужно учитывать, что даже на семерке не у всех включено аэро.
Автор: vint56
Дата сообщения: 19.08.2011 21:59
Gnom3 тогда работать не будет если у кого стоит обеспечит найлутшое быстродействие
Автор: Gnom3
Дата сообщения: 19.08.2011 22:07
vint56
Работать не будет во первых, у тех, у кого ХР и виста - на ней исВин7, вроде, тоже не работает, хоття, ДВМ в висте вроде есть. И у тех, у кого стоит упрощенная тема. Тоесть у половины пользователей будет некрасиво.
Автор: vintage_1
Дата сообщения: 19.08.2011 22:11
Gnom3
Можно тупо цвет в инсталле сменить под цвет панели "isSlideShow" - т.е. на "Чёрный" =)
Автор: zxcvvcxz1
Дата сообщения: 19.08.2011 22:12
Да тупо писать:установка возможна только на Win7 и только с включеным эффектом "Аеро"
Автор: moonlight82
Дата сообщения: 19.08.2011 22:13
vint56
Залил картинку через isslideshow по твоему примеру. Для теста взял тоже изображение что заливается через ISLogo. Как избавится от эффекта засветки на белом фоне? Разница думаю очевидна.
http://i26.fastpic.ru/big/2011/0819/6c/a3959c3c724ba3ac1689de2e181ae76c.png
Автор: Despofix
Дата сообщения: 19.08.2011 22:32
Snoopak96
не поможет. я так уже пробовал. пришлось кнопку и строку ниже опустить, но решение проблемы не помешало бы
Автор: Snoopak96
Дата сообщения: 20.08.2011 01:57
Despofix,
хз тогда.
Автор: bugron
Дата сообщения: 20.08.2011 08:04
Ребят, а если скажем сделаете так. Вот это [more=всё] iswin7_add_button(WizardForm.BackButton.Handle);
iswin7_add_button(WizardForm.NextButton.Handle);
iswin7_add_button(WizardForm.CancelButton.Handle);
iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);[/more] впихиваем в отдельную процедуру, скажем DoGlass, потом в InitiazlieSetup (или Wizard) проверяем версию Windows с помощью GetWindowsVersionString (или еще чем-то), если семерка, то вызываем нашу процедуру DoGlass, если нет, уже понятно что. Остался только iswin7_free, но думаю с ним разобраться будет легко. Ну что, вариант, или нет?
Автор: Snoopak96
Дата сообщения: 20.08.2011 08:11
bugron
нужно проверять сработало ли "стекло", на семёрке оно тоже может не всегда срабатывать.

Автор: bugron
Дата сообщения: 20.08.2011 08:17

Цитата:
нужно проверять сработало ли "стекло", на семёрке оно тоже может не всегда срабатывать.

Это как не сработать?
Автор: Snoopak96
Дата сообщения: 20.08.2011 08:21

Цитата:
Это как не сработать?

Просто взяло и не сработало, кучу раз ловил такое, особенно при использовании совместно с fairy.
Автор: bugron
Дата сообщения: 20.08.2011 08:22
[more=Вот][Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma
SolidCompression=yes
OutputDir=.

[Files]
Source: iswin7.dll; Flags: dontcopy

[no][Code][/no]
procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean);
external 'iswin7_add_glass@files:iswin7.dll stdcall';

procedure iswin7_add_button(Handle:HWND);
external 'iswin7_add_button@files:iswin7.dll stdcall';

procedure iswin7_free;
external 'iswin7_free@files:iswin7.dll stdcall';

procedure DoGlass();
begin
// Необходимо добавлять каждую кнопку расположенную на стекле
// до инициализации стекла для того что бы не было дыр ))
iswin7_add_button(WizardForm.BackButton.Handle);
iswin7_add_button(WizardForm.NextButton.Handle);
iswin7_add_button(WizardForm.CancelButton.Handle);
iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);
end;


procedure InitializeWizard();
begin
if (GetWindowsVersionString = '6.01.7600') or (GetWindowsVersionString = '6.01.7601') then
DoGlass()
else
begin
MsgBox('Внимание!' + #13#10 + 'Ваша версия системы не удовлеторяет требованиям ISWin7, по- этому она будет отключена.', mbinformation, mb_ok);
end;
end;

procedure DeinitializeSetup();
begin
iswin7_free;
end;
[/more] моя версия, если нужно, можно доработать.

Добавлено:

Цитата:
нужно проверять сработало ли "стекло", на семёрке оно тоже может не всегда срабатывать.

Как это проверить?

Добавлено:
Ну и что тогда, если на Win7 ISWin7 вдруг не сработает, что выйти из инсталла, не дать пользователью установить прогу или игру, или выдать сообщение "Простите, из-за профилактических работ ISWin7 сейчас не работает, запустите инсталлятор по позже" чё ли так? Это же, получается ошбка ISWin7, а не Win7, тогда нужно доработать сам ISWin7, а не проверять сработает или нет.

Добавлено:

Цитата:
ошбка

Ну скорее всего не ошибка, а недостаток.

Добавлено:
Внимание ВСЕМ, ВСЕМ, ВСЕМ!!!
Я как-то говорил об обновленной справке по Inno Setup 5.4.2. Сегодня решил выложить её, поскольку больше не смогу продолжить перевод.
Большая часть осталась неизменной и чтобы снова не изобретать колесо, я скопировал перевод Александровой Марии (BagIra), а остальное сам перевел. Также в основную справку добавлены следующие части:
Inno Setup FAQ: RU-BOARD. Подборка полезных примеров (автор - fly)
Руководство по Inno Setup 5 версия 4.0 (автор - Kindly)
Inno Setup Faq 1.4 (авторы – Krinkels, Shegorat и nik1967)
Inno Setup на практике (автор - Александрова Мария)
Inno Setup Extensions Knowledge Base (автор - Vincenzo Giordano, кстати, я перевел вопросы на русский, не все, около 85%)
Справка по препроцессору Inno Setup, перевод не полный.
Размер конечного файла около 600 Кб, может многовато покажется, но это довольно полный набор документаций по Inno Setup.
До ProcessorArchitecture переведены справки по функциям и процедурам.
Хочу попросить, чтобы Вы внимательнее прочитали темы со звездочками (*), перевод мой, работал один, могут быть ошибки, или что-то не понравится, на самом деле я очень старался. Сейчас я не закончил перевод полностью, но основная работа выполнена.
И еще, для тех, кто хочет продолжить дело, вот ССЫЛКА НА так сказать “ИСХОДНИКИ” справки. Редактировал файлы с помощью NVU 1.0 (и рекомендую), а компилировал с htm2chm 3.0.9.3 (тоже рекомендую). Минус в том, что используя htm2chm, я отказался от поиска, но нужные данные есть в указателе. А ВОТ И сама СПРАВКА.
Автор: Raf_SE
Дата сообщения: 20.08.2011 12:39
У меня нубский вопрос: как сделать чтобы один файл распаковался под тремя разными именами? Т.е. чтоб из одного запакованного, распаковалось три файла, а не один?

upd
Уже сам разобрался :)
Автор: bugron
Дата сообщения: 20.08.2011 13:02

Цитата:
iswin7logo

rghost.ru/18618441

Норамально работает и инсталл получился намного легче.

Добавлено:
Спасибо!
Автор: VASYAKRN
Дата сообщения: 20.08.2011 19:04
http://inno.at.ua/TMP/18.08.bmp

сделайте такое readymemo http://inno.at.ua/TMP/12.7z
Автор: sergey3695
Дата сообщения: 20.08.2011 19:51
Привет всем! Кто знает как сделать изображение через фейри, так чтобы оно оказалось за инсталлятором, а не поверх него, и убрать анимацию фейри? Заранее благодарен.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

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


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