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

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

Автор: Widok
Дата сообщения: 25.09.2007 16:33
Inno Setup
предыдущая часть

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

Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки

Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало

Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте

Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
Версия 5.1 скачать || версия 5 скачать|зеркало || версия 4 скачать|зеркало || версия 3 скачать|зеркало

Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы)
Новая версия (Web-интерфейс) || Старая chm-версия скачать | зеркало

Corona Skin & Check System Requirements от Victor_Dobrov
Скачать скрипт | зеркало | скриншот | описание | старая версия | InnoSetup Upgrade | Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...

Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы исправить добавьте этот код.
Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи в реестр вносит та или иная программа, то понадобится RegShot.

Дополнительные утилиты для Inno Setup

ISTool

Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.

Последний релиз: 5.2.1 [15.10.2007]
Скачать | зеркало

Русификатор
Скачать | зеркало
Inno Setup Unpacker

Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются ресурсы и скрипт установки (немного усечённый). Возможно подключение к Total Commander или FAR с помощью MultiArc плагинов.
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.2.3

Последний релиз: 0.20 [23.05.2008] New
Скачать

Inno Script Generator

Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.

Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновление | изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.2.3.

Старая версия [ScriptMaker 5.1.6.9 от 09.07.2006]
Русификатор версии 5.1.5 от GloThin | зеркало | зеркало | зеркало пароль: ruboard

Примечание для всех участников

Длинные куски кода помещайте под тегом more, дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.
Автор: Victor_Dobrov
Дата сообщения: 25.09.2007 17:01

Corona Skin & Check System Requirements (380 Кб) - эта надстройка сделает инсталлятор симпатичным и добавит проверку Минимальных требований, Слайдшоу, Проигрывание музыки в фоне, Компактный режим установки и многое другое...

Необходимое дополнение будет встроено в инсталлятор, если в скрипте указан соответствующий ключ:
MediaPlayer: проигрыватель аудио и видео-файлов для указанной папки
Requirements: проверка минимальных требований и таблица сведений о системе
ShowOnBackground: рисунок, слайдшоу или AVI-файл на заднем плане
PerfectProgressBar: подсчёт времени до завершения распаковки, горячие кнопки
AutoRunSetup: автозапуск данного файла, если программа уже установлена
EnableSplash: экран справки или скриншота, параметры оформления текста
WizardPos, MiniProgress: смещение основного и компактного окон мастера

Версия 5.3 от 24.03.08. К инсталлятору добавляется всего 38 Кб (248 Кб со всеми дополнениями).
[more=Пример скрипта]
[Setup]
AppName=Corona
AppVerName=Inno Setup Corona Skin & System Test
DefaultDirName={pf}\Corona Skin
UsePreviousAppDir=false
OutputBaseFilename=Corona Skin
OutputDir=.

[_ISToolPreCompile]
#define Requirements "NeedSp:= 2; NeedMHZ:= 2000; NeedRAM:= 1024"
#define MediaPlayer "{src}\Music"
#define PerfectProgressBar 10
#define MiniProgress "100,100"

;Corona Skin by Victor Dobrov, thanks to Genri.
#define SkinPath AddBackslash(SourcePath) + "Corona\"
#include SkinPath + "Corona_kernel.iss"

[Languages]
#expr AddLocale('Russian', 'compiler:Languages\Russian.isl','','',''), AddLocaleFiles

[Code]
Procedure CurPageChanged(CurPageID: Integer);
Begin
ShowSkinPage(CurPageID) { Corona Skin® & System Test © Victor Dobrov}
End;

Procedure InitializeWizard;
Begin
InitializeSkin { Corona Skin® with Buttons & checking System requirements by Victor Dobrov}
End;

Procedure DeinitializeSetup;
Begin
DeInitializeSkin { требуется, если указаны MediaPlayer, PerfectProgressBar, ShowOnBackground}
End;

Function InitializeSetup: Boolean;
Begin
If not WizardSilent and (FindWindowbyWindowName(FmtMessage(SetupMessage(msgSetupWindowTitle), ['{#AppName}'])) > 0) then MessageBox(0, cm('AlreadyRun'), '{#AppName}', MB_OK or $40) else Result:= true
End;
[/more], использующего Corona Skin (для сборки необходим Inno Setup QuickStart Pack 5.2.3 и выше).
InnoSetup Upgrade - расширение возможностей Inno Setup. (подключение скрипта добавляет к инсталлятору 11 Кбайт)
Проверка минимальных требований, подсчёт объёма папок, список дисков на wpSelectDir, защита системной папки, выбор вариантов деинсталляции, деинсталляция неучтённых файлов, подсчёт времени установки.
Слайдшоу - 5 скриптов: рисунок в фоне, слайдшоу, скринсевер + системные, AVI-файл в фоне.
Автор: gMaX
Дата сообщения: 26.09.2007 11:27
Недавно обновили innounp, теперь может распаковывать 5.2.0

http://innounp.sourceforge.net/test020.rar


Цитата:
RE: Inno Setup 5.1.13 support (New)
By: QuickeneR (quickener) - 2007-09-25 07:45
http://innounp.sourceforge.net/test020.rar
This should extract 5.2.0/
Автор: Igrock2007
Дата сообщения: 26.09.2007 13:17
Unc1e

Цитата:
Сожалею, но для Episode1 у меня нет такого bat-файла. Bat-файл для HL2 - может как-то поможет.

Такого добра у меня самого полно. Чтож, придётся писать самому, там всего то 4201 файл. Может к Новому году закончу.
Автор: NightW0lf
Дата сообщения: 26.09.2007 16:30
В новом инно опять небольшая проблема с GetSystemMetrics, раньше все было нормально т.е. мини-прогресс бар полность становился в угол экрана, а теперь на один сантиметр выше с низу, а слева все нормально.

[more=Вот код]
Код: [Setup]
AppName=Example.Mini.Progress.Bar
AppVerName=Example.Mini.Progress.Bar 1.5
DefaultDirName={pf}\Example.Mini.Progress.Bar
OutputBaseFilename=mini.progress.bar.by.genri
WindowVisible=no


;Язык всех диалогов в инсталляторе:
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"


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

[Code]
function GetSystemMetrics(nIndex: Integer): Integer;
external 'GetSystemMetrics@user32.dll stdcall';

procedure InitializeWizard();
var
Form: TSetupForm;
ProgressBar: TNewProgressBar;
CancelButton: TButton;
StaticText: TNewStaticText;
BitmapImage: TBitmapImage;
BitmapFileName: string;
i: Integer;
begin
Form := CreateCustomForm();
try
with Form do
begin
ClientWidth := ScaleX(375); //Ширина формы для ProgressBar
ClientHeight := ScaleY(120); //Высота формы для ProgressBar
BorderStyle := bsDialog;
Left := GetSystemMetrics(16) - ClientWidth - ScaleX(5);
Top := GetSystemMetrics(17) - ClientHeight - ScaleY(5);
Caption := 'Inno Setup Wizard' //Заголовок мини ProgressBar'a
end;

BitmapFileName := ExpandConstant('{tmp}\WizModernSmallImage.bmp');
ExtractTemporaryFile(ExtractFileName(BitmapFileName));
BitmapImage := TBitmapImage.Create(Form);
BitmapImage.Left := ScaleX(8);
BitmapImage.Top := ScaleY(8);
BitmapImage.Width := ScaleX(58);
BitmapImage.Height := ScaleY(58);
BitmapImage.Bitmap.LoadFromFile(BitmapFileName);
BitmapImage.Parent := Form;

StaticText := TNewStaticText.Create(Form);
StaticText.Top := BitmapImage.Top;
StaticText.Left := BitmapImage.Left + BitmapImage.Width + ScaleX(8)
StaticText.Caption := 'Идет подготовка к установке S.T.A.L.K.E.R.: Shadow Of' + #10#13 + 'Chernobyl' + #10#13#10 + 'Пожалуйста подождите...'; //Текст самого мини ProgressBar'a
StaticText.AutoSize := True;
StaticText.Parent := Form;

CancelButton := TButton.Create(Form);
CancelButton.Parent := Form;
CancelButton.Width := ScaleX(75);
CancelButton.Height := ScaleY(23);
CancelButton.Left := Form.ClientWidth - ScaleX(75 + 10);
CancelButton.Top := Form.ClientHeight - ScaleY(23 + 10);
CancelButton.Caption := 'Cancel';
CancelButton.ModalResult := mrCancel;
CancelButton.Cancel := True;

ProgressBar := TNewProgressBar.Create(Form);
with ProgressBar do
begin
Height := CancelButton.Height - ScaleY(8);
Width := Form.Width - ScaleX(128);
Top := CancelButton.Top;
Left := BitmapImage.Left;
Parent := Form;
Min := 0;
Max := 30;
Position := 0;
end;
Form.ActiveControl := CancelButton;
Form.Show();
for i := 0 to 30 do
begin
ProgressBar.Position := i;
Form.Repaint;
Sleep(500);
i := i + 1;
end;
finally
Form.Free();
end;
end;
Автор: boss911
Дата сообщения: 27.09.2007 02:09
NightW0lf

Есть предложени: полностью доделать *.lng на русском для ISTool. Сейчас юзаю локализацию от Ipse, но хочется, чтоб уже было все русифицированно, там совсем не много! Подумай, плиз!
Автор: Ipse San
Дата сообщения: 27.09.2007 05:57
boss911
На мсилабе старый русик. В шапке максимально полный лежит для последней версии: http://rapidshare.com/files/57940415/istool-ru.zip.html Все остальное можно перевести только правя экзешник.
Автор: svs123456789
Дата сообщения: 27.09.2007 10:50
есть программа на delphi использующая динамические библиотеки bpl
как автоматизировать добавление этих библиотек
в инсталляционный пакет (создаваемый при помощи Inno Setup)
может есть дополнительные инструменты, плагины или скрипты ?

например InstallShield может сканировать проект на наличие зависимостей и автоматически добавлять библиотеки
Автор: CrackMe
Дата сообщения: 27.09.2007 16:58
Igrock2007
А кто мешает исползовать
Код: Source: d:\Setup\*; DestDir: {app}
Автор: boss911
Дата сообщения: 27.09.2007 18:39
Ipse San

Цитата:
В шапке максимально полный лежит для последней версии:

В том то и дело, что из шапки я качал, но с зеркала, а там лежит старый русик, а на рапиде, тот, что ты выше мне дал. Короче, кто-то дал зеркало на старый русик, но я уже исправил! Спасибо, теперь русские буковки все на месте, чего я и хотел!
Автор: Real_Inkvizitor
Дата сообщения: 27.09.2007 19:22
"Это (ввод серийного номера) до или после инсталляции?"
До.
Автор: viktor9
Дата сообщения: 27.09.2007 23:32
Как можно сделать такое
Подскажите
Автор: o22
Дата сообщения: 28.09.2007 10:26
Не нашел с наскока как можно выдать предупреждение перед инсталляцией(деинсталляцией) о том, что программа запущена и ее нужно выгрузить.
Автор: Vale99
Дата сообщения: 28.09.2007 11:04

Цитата:

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


Можно воспользоваться функцией IssFindModule из IssProc.dll


Цитата:

I'm pleased to announce a new release of IssProc: Files In Use Extension
for Inno Setup (IssProc.dll v1.0.2) which includes both 32 and 64 bit
applications detection and some more options.

What's new :

* 64 bit applications detection (Vista & XP x64 )
* dll packer removed (size is a little bigger but bugs free, ~75KB with
Inno Compression)
* detected applications are now displayed with icons along with their
names/exe
* when double clicking the detected application IssProc will try to find
and display the main window
* right click on detected application for more options: Show app file
Properties and End Process
* minor bug fixes

You can download the extesion including the demo script from my home page:
http://raz-soft.com

Kind Regards,
Razvan Serban
Programmer
home: http://raz-soft.com


Или использовать Mutex...
Автор: Dust112
Дата сообщения: 28.09.2007 14:47
Здравствуйте, может кто подскажет. После перехода на версию 5.2.0, при запуске скомпилированного проекта получаю ошибку "The file is-S9050-0.bin is missing from the installation directory. Please correct the problem or obtain a new copy of the program." при компиляции предыдущей версией, все нормально.
Автор: o22
Дата сообщения: 28.09.2007 16:19
Vale99
Можно подробнее - с IS ранее не работал.
Что-то нужно доставлять к дистрибутиву InnoSetup ?
Может у кого-то есть готовое решение ?
Автор: Alex Zaguzin
Дата сообщения: 28.09.2007 17:04
Victor_Dobrov - простите ламера за тупой вопрос: для того чтобы установить корона скин или написать свой - как его интегрировать в саму программу устанощик или нужно наподобие скрипта в скине прописывать значение в скрипте создаваемого устанощика. Просто мне после Смарт инсталл мейкера немного непонятно как с ним работать...Но ущущаю, что в инно сетап гораздо больше возможностей. Правда немного сложновато сразу с ним освоится. Извиняюсь если что, но есть ли подробное FAQ для "ламеров" в этом деле?
Автор: iTASmania_Inc
Дата сообщения: 28.09.2007 17:18
viktor9
http://www.rapidshare.ru/414281
А почему не исподьзовать такой вариант, который неоднократно выкладывали на форуме?
Разве только "Описание" вниз переместить...
Но это уже делается на свой вкус.
Автор: Unc1e
Дата сообщения: 28.09.2007 20:28
Такой вопрос: Как свернуть inno в трей во время установки (то есть if CurPageID=wpInstalling)? И чтобы при наведении на иконку установки в трее вылазил hint отображающий текущий копируемый файл.
PS: какие есть ещё форумы по inno (и наши и вражеские)?
Автор: viktor9
Дата сообщения: 28.09.2007 20:32
iTASmania_Inc
а как его совместить чтобы при снятии галочки не устанавливалась данная программа???
[more]; Script generated by the Мастер Inno Setup .
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define WelcomeImagePath AddBackslash(SourcePath) + "Files\"
;Путь к картинке на странице приветствия, размер которой 582 X 72
#define WelcomeImageName "welcome.bmp"
;Имя картинки
#define FinishedImagePath AddBackslash(SourcePath) + "Files\"
;Путь к картинке на странице завершения, размер которой 582 X 72
#define FinishedImageName "finished.bmp"
;Имя картинки
#define FinishedImage (FinishedImagePath) + (FinishedImageName)
#define WelcomeImage (WelcomeImagePath) + (WelcomeImageName)
#include "Files\gis_code1.iss"
#include "Files\MP3.iss"

[_TopOfScript]
; This is a Innoscript generate with ScriptMaker version 5.1.6.9

[_Project]
ProjectNr=1.1.1.0
ProjectName=
ProjectExeFileName=
ProjectMainFileName=D:\Диск\Докукменты\PlusNET Base Install.iss
ProjectAuthor=Plusnet © 2007 Вик
ProjectCreateDate=23.08.2007
ProjectAccessDate=25.08.2007 8:56:28

[_ISPP]
#Pragma Option -v+
#Pragma VerboseLevel 9 ;Macro and functions successfull call acknowledgements
#Pragma SpanSymbol "\"
#Define AppVersion "1.1.1.0" ;Здесь номер версии программы
#define AppID ""
#define AppCopyright "Plusnet © 2007 Вик"

[_EndOfScript]
; © HiSoft2000 http://www.Hisoft2000.de Mail: HiSoft2000@HiSoft2000.de © 2002-2005
; Visual dBase, dB2K, dBase SE and dBase Plus © dataBased Intelligence.Inc Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE PLUS © dataBased Intelligence.Inc see also Homepage: http://www.dQuery.com/
[Setup]
AppName=PlusNET Base Install
AppVerName=PlusNET Base Install
AppPublisher=Вик
AppPublisherURL=http://vik.norma4.ks.ua/
AppSupportURL=http://vik.norma4.ks.ua/
DefaultDirName={pf}\PlusNET Base Install
DefaultGroupName=PlusNET Base Install
DisableProgramGroupPage=true
InfoBeforeFile=D:\Program Files\mIRC\download\readmыe.rtf
OutputDir=D:\Диск\Докукменты
OutputBaseFilename=PlusNET_Base_Install_v2
SetupIconFile=D:\Program Files\PlusNET Base Install\av-1.ico
SolidCompression=false
WizardImageFile=Files\WizModernImage.bmp
WizardSmallImageFile=Files\WizModernSmallImage.bmp
WizardImageStretch=false
DisableFinishedPage=true
AppCopyright={#AppCopyright}
InternalCompressLevel=max
CreateUninstallRegKey=true
ShowUndisplayableLanguages=false
WizardImageBackColor=clLime
UpdateUninstallLogAppName=true
WindowVisible=true
WindowShowCaption=false
WindowStartMaximized=false
WindowResizable=false
DisableReadyPage=true
DisableStartupPrompt=true
VersionInfoVersion=1.2
VersionInfoCompany=Plusnet
VersionInfoDescription=Установка Базовый пакет
VersionInfoCopyright=Вик
UninstallDisplayIcon={app}\xp_trashcan_empty.ico
DisableDirPage=false
EnableDirDoesntExistWarning=false
DirExistsWarning=no
AlwaysShowComponentsList=true
UsePreviousGroup=false
UsePreviousSetupType=true
AlwaysShowGroupOnReadyPage=false
AlwaysShowDirOnReadyPage=false
UsePreviousAppDir=false
ShowTasksTreeLines=true

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

[CustomMessages]
BeveledOnClick=http://vik.norma4.ks.ua/
;Ссылка, на которую переходит пользователь при нажатии на BeveledLabel
WelcomeLabel1=Мастер установки Базового пакета

[Messages]
BeveledLabel=Посетите мой Сайт

[Files]
Source: C:\3D_-_146.bmp; DestDir: {tmp}; Flags: dontcopy
Source: D:\Program Files\PlusNET Base Install\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Посетить сайт Вик; Filename: http://vik.norma4.ks.ua/; IconFileName: {app}\viktor.ico
Name: {group}\{cm:UninstallProgram,PlusNET Base Install}; Filename: {uninstallexe}; IconFileName: {app}\xp_trashcan_empty.ico
Name: {group}\mIRC; Filename: {app}\mIRC\mirc.exe; IconFileName: {app}\mIRC\mirc.exe
Name: {group}\Авторизатор; Filename: {app}\Authorization\Авторизатор.exe; IconFileName: {app}\Authorization\Авторизатор.exe
Name: {group}\NetLook; Filename: {app}\NetLook\NetLook.exe; IconFileName: {app}\NetLook\NetLook.exe
Name: {group}\PeerWeb; Filename: {app}\PeerWeb\PeerWeb DC++.exe; IconFileName: {app}\PeerWeb\PeerWeb DC++.exe
Name: {commondesktop}\mIRC; Filename: {app}\mIRC\mirc.exe; IconFileName: {app}\mIRC\mirc.exe
Name: {commondesktop}\Авторизатор; Filename: {app}\Authorization\Авторизатор.exe; IconFileName: {app}\Authorization\Авторизатор.exe
Name: {commondesktop}\NetLook; Filename: {app}\NetLook\NetLook.exe; IconFileName: {app}\NetLook\NetLook.exe
Name: {commondesktop}\PeerWeb; Filename: {app}\PeerWeb\PeerWeb DC++.exe; IconFileName: {app}\PeerWeb\PeerWeb DC++.exe
Name: {commondesktop}\Посетить сайт Вик; Filename: http://vik.norma4.ks.ua/; IconFileName: {app}\viktor.ico

[Registry]
Root: HKCU; SubKey: Software\mIRC\LastRun; ValueType: string; ValueName: ; ValueData: 1189863532,0
Root: HKCU; SubKey: Software\mIRC\License; ValueType: string; ValueName: ; ValueData: 5034-553367
Root: HKCU; SubKey: Software\mIRC\UserName; ValueType: string; ValueName: ; ValueData: Plusnet

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
UpdateButtons
end;

{Created by Chuvakstepan Inc. 2007
Version of gis_code1.iss - 1.045}

function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';

procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s: string;
begin
ExtractTemporaryFile('3D_-_146.bmp'); //3D_-_146.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\3D_-_146.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Align := alClient;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
InitializeSkin
InitializeMusic
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usPostUninstall then
begin
DelTree(ExpandConstant('{app}'), True, True, True)
RemoveDir(ExpandConstant('{app}'))
end
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
begin
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', 'vik.norma4.ks.ua')
ShellExec('open', 'http://vik.norma4.ks.ua/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end
end;[/more]
Автор: iTASmania_Inc
Дата сообщения: 28.09.2007 21:23
viktor9
Смотри секцию [Files] --> там Check: ...
Это и идущие потом функции отвечают за неустановку компонентов со снятой галочкой.
Автор: viktor9
Дата сообщения: 28.09.2007 21:53
Я использую скин посмотри может чтото нужно подправить, ато я не очень шарю в этом. Потому что ошибку выдает.
Автор: iTASmania_Inc
Дата сообщения: 28.09.2007 22:10
viktor9
У меня, разумеется, всегда под рукой файлы скина.
Автор: viktor9
Дата сообщения: 28.09.2007 22:26
ТУТ ГОВОРИЛОСЬСсылка
или Качай
Автор: iTASmania_Inc
Дата сообщения: 28.09.2007 22:49
viktor9

Цитата:
ТУТ ГОВОРИЛОСЬ

О многом - знаешь как не удобно искать то, что не соответствует указанной теме. Плюс ты не выложил кусок кода для проигрывания MP3 - может там ошибка.
Ну, а если по сути - то очевидно копируешь переменную ListBox из моего примера в главный скрипт, а она дублируется в скрипте скина (решение - заменить ListBox в моём скрипте (везде в моём примере) на, допустим, CListBox). Или что там пишет?
Автор: viktor9
Дата сообщения: 28.09.2007 23:03
iTASmania_Inc

заменил теперь на это ругаеться procedure InitializeWizard();

Я выложил весь скрипт из файлами скина
Автор: iTASmania_Inc
Дата сообщения: 28.09.2007 23:36
viktor9
Вот:
- распаковываешь свой архив, который ты выложил;

http://www.rapidshare.ru/414541
- замещаешь в папке Files два файла из этого архива;

http://www.rapidshare.ru/414542
- файлы этого архива кладёшь рядом с папкой Files и компилишь.

Соответственно, текстовые документы примера ты потом замещаешь на нужные файлы или папки.
Автор: viktor9
Дата сообщения: 29.09.2007 01:06
iTASmania_Inc
блин немогу добавить еще одно описание посмотри что не так
[more]; Script generated by the Мастер Inno Setup .
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define WelcomeImagePath AddBackslash(SourcePath) + "Files\"
;Путь к картинке на странице приветствия, размер которой 582 X 72
#define WelcomeImageName "welcome.bmp"
;Имя картинки
#define FinishedImagePath AddBackslash(SourcePath) + "Files\"
;Путь к картинке на странице завершения, размер которой 582 X 72
#define FinishedImageName "finished.bmp"
;Имя картинки
#define FinishedImage (FinishedImagePath) + (FinishedImageName)
#define WelcomeImage (WelcomeImagePath) + (WelcomeImageName)
#include "Files\gis_code1.iss"
#include "Files\MP3.iss"

[_TopOfScript]
; This is a Innoscript generate with ScriptMaker version 5.1.6.9

[_Project]
ProjectNr=1.1.1.0
ProjectName=
ProjectExeFileName=
ProjectMainFileName=D:\Диск\Докукменты\PlusNET Base Install.iss
ProjectAuthor=Plusnet © 2007 Вик
ProjectCreateDate=23.08.2007
ProjectAccessDate=25.08.2007 8:56:28

[_ISPP]
#Pragma Option -v+
#Pragma VerboseLevel 9 ;Macro and functions successfull call acknowledgements
#Pragma SpanSymbol "\"
#Define AppVersion "1.1.1.0" ;Здесь номер версии программы
#define AppID ""
#define AppCopyright "Plusnet © 2007 Вик"

[_EndOfScript]
; © HiSoft2000 http://www.Hisoft2000.de Mail: HiSoft2000@HiSoft2000.de © 2002-2005
; Visual dBase, dB2K, dBase SE and dBase Plus © dataBased Intelligence.Inc Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE PLUS © dataBased Intelligence.Inc see also Homepage: http://www.dQuery.com/

[Setup]
AppName=PlusNET Base Install
AppVerName=PlusNET Base Install
AppPublisher=Вик
AppPublisherURL=http://vik.norma4.ks.ua/
AppSupportURL=http://vik.norma4.ks.ua/
DefaultDirName={pf}\PlusNET Base Install
DefaultGroupName=PlusNET Base Install
DisableProgramGroupPage=true
;InfoBeforeFile=D:\Program Files\mIRC\download\readmыe.rtf
;OutputDir=D:\Диск\Докукменты
OutputBaseFilename=PlusNET_Base_Install_v2
;SetupIconFile=D:\Program Files\PlusNET Base Install\av-1.ico
SolidCompression=false
WizardImageFile=Files\WizModernImage.bmp
WizardSmallImageFile=Files\WizModernSmallImage.bmp
WizardImageStretch=false
DisableFinishedPage=true
AppCopyright={#AppCopyright}
InternalCompressLevel=max
CreateUninstallRegKey=true
ShowUndisplayableLanguages=false
WizardImageBackColor=clLime
UpdateUninstallLogAppName=true
WindowVisible=true
WindowShowCaption=false
WindowStartMaximized=false
WindowResizable=false
DisableReadyPage=true
DisableStartupPrompt=true
VersionInfoVersion=1.2
VersionInfoCompany=Plusnet
VersionInfoDescription=Установка Базовый пакет
VersionInfoCopyright=Вик
;UninstallDisplayIcon={app}\xp_trashcan_empty.ico
DisableDirPage=false
EnableDirDoesntExistWarning=false
DirExistsWarning=no
AlwaysShowComponentsList=true
UsePreviousGroup=false
UsePreviousSetupType=true
AlwaysShowGroupOnReadyPage=false
AlwaysShowDirOnReadyPage=false
UsePreviousAppDir=false
ShowTasksTreeLines=true

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

[CustomMessages]
BeveledOnClick=http://vik.norma4.ks.ua/
;Ссылка, на которую переходит пользователь при нажатии на BeveledLabel
WelcomeLabel1=Мастер установки Базового пакета

[Messages]
BeveledLabel=Посетите мой Сайт

[Files]
Source: 3D_-_146.bmp; DestDir: {tmp}; Flags: dontcopy
;Source: D:\Program Files\PlusNET Base Install\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: D:\Program Files\PlusNET Base Install\Authorization\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Checked4
;Source: D:\Program Files\PlusNET Base Install\mIRC\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Checked2
;Source: D:\Program Files\PlusNET Base Install\NetLook\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Checked3
;Source: D:\Program Files\PlusNET Base Install\PeerWeb\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Checked1

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Посетить сайт Вик; Filename: http://vik.norma4.ks.ua/; IconFileName: {app}\viktor.ico
Name: {group}\{cm:UninstallProgram,PlusNET Base Install}; Filename: {uninstallexe}; IconFileName: {app}\xp_trashcan_empty.ico
Name: {group}\mIRC; Filename: {app}\mIRC\mirc.exe; IconFileName: {app}\mIRC\mirc.exe
Name: {group}\Авторизатор; Filename: {app}\Authorization\Авторизатор.exe; IconFileName: {app}\Authorization\Авторизатор.exe
Name: {group}\NetLook; Filename: {app}\NetLook\NetLook.exe; IconFileName: {app}\NetLook\NetLook.exe
Name: {group}\PeerWeb; Filename: {app}\PeerWeb\PeerWeb DC++.exe; IconFileName: {app}\PeerWeb\PeerWeb DC++.exe
Name: {commondesktop}\mIRC; Filename: {app}\mIRC\mirc.exe; IconFileName: {app}\mIRC\mirc.exe
Name: {commondesktop}\Авторизатор; Filename: {app}\Authorization\Авторизатор.exe; IconFileName: {app}\Authorization\Авторизатор.exe
Name: {commondesktop}\NetLook; Filename: {app}\NetLook\NetLook.exe; IconFileName: {app}\NetLook\NetLook.exe
Name: {commondesktop}\PeerWeb; Filename: {app}\PeerWeb\PeerWeb DC++.exe; IconFileName: {app}\PeerWeb\PeerWeb DC++.exe
Name: {commondesktop}\Посетить сайт Вик; Filename: http://vik.norma4.ks.ua/; IconFileName: {app}\viktor.ico


[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
UpdateButtons
end;

{Created by Chuvakstepan Inc. 2007
Version of gis_code1.iss - 1.045}

function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';

var
Page: TWizardPage;
Text1, Text2, Text3, Text4: TNewStaticText;
Panel: TPanel;
CListBox: TListBox;
Check1, Check2, Check3, Check4: TCheckBox;
NoChecks, Label1, Label2, Label3, Label4: TLabel;

function Checked1: Boolean;
begin
Result := Check1.Checked
end;

function Checked2: Boolean;
begin
Result := Check2.Checked
end;

function Checked3: Boolean;
begin
Result := Check3.Checked
end;

function Checked4: Boolean;
begin
Result := Check4.Checked
end;

procedure Check1OnClick (Sender: TObject);
begin
Check1.Checked := not (Check1.Checked)
end;

procedure Check2OnClick (Sender: TObject);
begin
Check2.Checked := not (Check2.Checked)
end;

procedure Check3OnClick (Sender: TObject);
begin
Check3.Checked := not (Check3.Checked)
end;

procedure Check4OnClick (Sender: TObject);
begin
Check4.Checked := not (Check4.Checked)
end;

procedure Check1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled := True
Text4.Caption := 'Описание компонента 1'
end;

procedure Check2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled := True
Text4.Caption := 'Описание компонента 2'
end;

procedure Check3MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled := True
Text4.Caption := 'Описание компонента 3'
end;

procedure Check4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled := True
Text4.Caption := 'Описание компонента 4'
end;

procedure NoChecksMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
Text4.Enabled := False
Text4.Caption := 'Наведите курсор мыши на название компонента, чтобы прочесть его описание.'
end;

procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s: string;
begin
ExtractTemporaryFile('3D_-_146.bmp'); //3D_-_146.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\3D_-_146.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Align := alClient;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
InitializeSkin
InitializeMusic

Page := CreateCustomPage(2, 'Компоненты устанавливаемой программы', 'Выберите компоненты, которые вы хотите установить.')

Text1 := TNewStaticText.Create(Page)
Text1.Left := 0
Text1.Top := 0
Text1.Width := 417
Text1.Height := 28
Text1.AutoSize := False
Text1.WordWrap := True
Text1.Caption := 'Выберите компоненты программы, которые вы хотите установить. Нажмите на кнопку "Далее" для продолжения.'
Text1.Parent := Page.Surface

Text2 := TNewStaticText.Create(Page)
Text2.Left := 0
Text2.Top := 63
Text2.Width := 130
Text2.Height := 56
Text2.AutoSize := False
Text2.WordWrap := True
Text2.Caption := 'Выберите компоненты программы:'
Text2.Parent := Page.Surface

Panel := TPanel.Create(Page)
Panel.Left := 290
Panel.Top := 60
Panel.Width := 130
Panel.Height := 120
Panel.BevelInner := bvLowered
Panel.Parent := Page.Surface

Text3 := TNewStaticText.Create(Page)
Text3.Left := 293
Text3.Top := 54
Text3.Font.Color := clBlue
Text3.Caption := 'Описание'
Text3.Parent := Page.Surface

Text4 := TNewStaticText.Create(Page)
Text4.Left := 4
Text4.Top := 10
Text4.Width := 122
Text4.Height := 80
Text4.AutoSize := False
Text4.WordWrap := True
Text4.Parent := Panel

NoChecks := TLabel.Create(Page)
NoChecks.Width := WizardForm.Width
NoChecks.Height := WizardForm.Height
NoChecks.Autosize := False
NoChecks.Transparent := True
NoChecks.OnMouseMove := @NoChecksMouseMove
NoChecks.Parent := Page.Surface

CListBox := TListBox.Create(Page)
CListBox.Left := 138
CListBox.Top := 60
CListBox.Width := 140
CListBox.Height := 120
CListBox.Parent := Page.Surface

Check1 := TCheckBox.Create(Page)
Check1.Left := 2
Check1.Top := 0
Check1.Checked := True
Check1.Parent := CListBox

Check2 := TCheckBox.Create(Page)
Check2.Left := 2
Check2.Top := 16
Check2.Checked := True
Check2.Parent := CListBox

Check3 := TCheckBox.Create(Page)
Check3.Left := 2
Check3.Top := 32
Check3.Checked := True
Check3.Parent := CListBox

Check4 := TCheckBox.Create(Page)
Check4.Left := 2
Check4.Top := 32
Check4.Checked := True
Check4.Parent := CListBox

Label1 := TLabel.Create(Page)
Label1.Left := 16
Label1.Top := 2
Label1.Caption := 'Компонент 1'
Label1.OnClick := @Check1OnClick
Label1.OnMouseMove := @Check1MouseMove
Label1.Parent := Check1

Label2 := TLabel.Create(Page)
Label2.Left := 16
Label2.Top := 2
Label2.Caption := 'Компонент 2'
Label2.OnClick := @Check2OnClick
Label2.OnMouseMove := @Check2MouseMove
Label2.Parent := Check2

Label3 := TLabel.Create(Page)
Label3.Left := 16
Label3.Top := 2
Label3.Caption := 'Компонент 3'
Label3.OnClick := @Check3OnClick
Label3.OnMouseMove := @Check3MouseMove
Label3.Parent := Check3

Label4 := TLabel.Create(Page)
Label4.Left := 16
Label4.Top := 2
Label4.Caption := 'Компонент 4'
Label4.OnClick := @Check4OnClick
Label4.OnMouseMove := @Check4MouseMove
Label4.Parent := Check4
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usPostUninstall then
begin
DelTree(ExpandConstant('{app}'), True, True, True)
RemoveDir(ExpandConstant('{app}'))
end
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
begin
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', 'vik.norma4.ks.ua')
ShellExec('open', 'http://vik.norma4.ks.ua/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end
end;
[/more]
Автор: iTASmania_Inc
Дата сообщения: 29.09.2007 01:18
viktor9
А знаешь, есть такое слово "пожалуйста"?
http://www.rapidshare.ru/414612
Автор: viktor9
Дата сообщения: 29.09.2007 02:30
iTASmania_Inc
Большое прибольшое спасибо. теперь еще нужно найти чтобы после установки видео файл запускался .avi

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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