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

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

Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 15:36
viktor9
Вот ссылка: http://www.rapidshare.ru/382285
Распаковываешь архив, кидаешь файлы рядом с главным скриптом, также туда кидаешь музыку (файл должен выглядить только так Music.mp3, т.е так называться) - и запускаешь скрипт Main.iss.
Если нужны кнопки управления музыкой (не знаю, куда их можно прицепить к скину - тут всё от вкуса зависит) - выбиваешь из комментариев InitializeMusic (Main.iss, ближе к концу).
Кстати, при запуске мигало фоновое изображение - подредактировал под себя, если что-то не так - извиняй, верну на место.

Добавлено:
Forslay
Мне по твоей ссылке качать нельзя примерно ещё минут 200, перезалей куда-нить.
Автор: viktor9
Дата сообщения: 26.08.2007 16:14
iTASmania_Inc
большое большое спасибо и всем тем кто мне помогал
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 17:52
Forslay
http://www.rapidshare.ru/382377
Кстати, функция ByteOrTB никаким образом не связана с подсчётом места на дисках, неужто никто не догадался?
Она спользуется в скрипте Victora_Dobrova совсем для другого!
2ALL
Знаете, чем удобна оболочка Corona Skin - плюсов о-о-чень много, но ГЛАВНОЕ - её сразу скомпилить можно, потому что она СО ВСЕМИ необходимыми файлами идёт!!!
P.S.: Поэтому КАЧАТЬ ВСЕМ и учиться по ней правильно писать скрипты и заодно делать их доступными для компиляции на других компах.
Автор: GloThin
Дата сообщения: 26.08.2007 19:13

Цитата:
Знаете, чем удобна оболочка Corona Skin - плюсов о-о-чень много, но ГЛАВНОЕ - её сразу скомпилить можно, потому что она СО ВСЕМИ необходимыми файлами идёт!!!
P.S.: Поэтому КАЧАТЬ ВСЕМ и учиться по ней правильно писать скрипты и заодно делать их доступными для компиляции на других компах.

Есть тока один небольшой минус - своеобразное оформление кода(не совсем в стандартах паскаля), что затрудняет многим желающим возможность разобраться в коде,то есть использовать данный код не тока в качестве "плагиата",но и наглядного пособия...
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 19:18
GloThin

Цитата:
Есть тока один небольшой минус - своеобразное оформление кода

Не совсем в тему, но всё же: я не знаю ни паскаля, ни кубейсика, ни какого-либо другого языка программирования (точнее знаю, но крайне поверхностно), но мне это не мешает понять CoronaSkin. Не знаю, как другим...


Добавлено:
Victor_Dobrov
А можно будет сделать так, чтобы в листбоксе с дисками отображались в Кб диски, размер которых менее одного мегабайта?

Добавлено:
Хотя не надо - вот сделал, не знаю правильно или нет? http://www.rapidshare.ru/382461
Автор: viktor9
Дата сообщения: 26.08.2007 20:58
А ради интереса как сделать чтобы по окончании установу включалась сылка на сайт
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 21:07
viktor9
[more=Попробуй так]
[Setup]
AppName=My Program
AppVerName=My Program [Version]
DefaultDirName={pf}\My Program

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;
[/more]
Автор: Forslay
Дата сообщения: 26.08.2007 21:25
iTASmania_Inc, Большое спасибо! Всё работает!!! Спасибо что разобрался в моём скрипте!!!

А теперь у меня вопрос!

В Инно есть функция непрерывного сжатия, сжимает отлично, а вот с распаковкой проблемы И я хотел бы узнать... Можно ли то время пока распаковывается инсталляционный пакет отображать визуально, или сделать как то так... Все эти файлы которые распаковываются в темп сжимать при помощи rar или 7-zip архиваторного модуля, нажимаем на инсталл, видем: Extracting files, а потом запускается инсталляшка...

Просто юзер обычный в это время подумает что INNO завис, и отрубит его в процессах да бы сославшись за неработоспособность программы... Что здесь можно придумать?

Только не пишите мне пожалуйста:
Solidcompression=False

Мне нужно обязательно как можно экономнее!!!
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 21:29
Forslay
http://forum.ru-board.com/topic.cgi?forum=5&topic=23235&start=1320#8
Вот совет от Genri!
Автор: Forslay
Дата сообщения: 26.08.2007 21:56
Прочитал совет раз 20, не в дуплю =)

Объясните пожалуйста подробнее!
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 22:00
Forslay

Цитата:
Прочитал совет раз 20, не в дуплю =)

Все файлы, которые извлекаешь во временную папку, ставишь в начало секции [Files], каждому из них добавляешь флаг solidbreak - ИМХО, всё!
P.S.: Переносить необязательно в начало секции, просто, на мой взгляд, так флаги удобнее проверять, которым поставил, а которым - нет.
Автор: viktor9
Дата сообщения: 26.08.2007 22:08
iTASmania_Inc
Может я не правильно выразился ( итак уже достал из своими вопросами) но хотелось чтобы оно у них прописывалось как в стартовая страница в некоторых русификаторов такое есть когда ставиш этот русификатор то чегото сайт прописываеться как стартовая страница
Автор: iTASmania_Inc
Дата сообщения: 26.08.2007 22:18
viktor9
Может быть, [more=так]
[Setup]
AppName=My Program
AppVerName=My Program [Version]
DefaultDirName={pf}\My Program

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', 'forum.ru-board.com')
end;
[/more]
Автор: viktor9
Дата сообщения: 26.08.2007 22:23
Блин я поражаюсь вашим умениям как бы и себе так научиться
Спасибо все так

Добавлено:
iTASmania_Inc
Думал что сделаю 2 в одном а получилось чорт знает что 3 раза сайт открываеться
[more]
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', 'forum.ru-board.com')
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;
[/more]
Автор: Vetal83
Дата сообщения: 26.08.2007 23:23
viktor9
Может тебе надо так:

[Code]
function NextButtonClick(CurPage: Integer): Boolean;
var
ErrorCode: Integer;
begin
If CurPage=wpFinished then
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
Result:=True
end;
Автор: viktor9
Дата сообщения: 26.08.2007 23:42
Vetal83
твое чтото не работает
Автор: Vetal83
Дата сообщения: 26.08.2007 23:45
viktor9
Всё прекрасно работает при нажатии на кнопку Finish открывается сайт.
Автор: viktor9
Дата сообщения: 26.08.2007 23:48
извени но у меня ее нет
Автор: Vetal83
Дата сообщения: 26.08.2007 23:53
viktor9
Чего нет? Страницы завершения?
Автор: viktor9
Дата сообщения: 26.08.2007 23:56
Vetal83
Да имено ее у меня и нет я выключил ее
[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_code.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:\Диск\Докукменты\222.iss
ProjectAuthor=Copyright © 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 "Copyright © 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=Counter-Strike 1.6
AppVerName=Counter-Strike 1.6
AppPublisher=Вик
AppPublisherURL=http://192.168.77.48/
AppSupportURL=http://192.168.77.48/
DefaultDirName={pf}\Valve
DefaultGroupName=Counter-Strike 1.6
InfoBeforeFile=D:\Program Files\mIRC\download\Эта_программа_установит_Counter.rtf
InfoAfterFile=D:\Program Files\mIRC\download\Эта_программа_установит_Counter.rtf
OutputDir=D:\Диск\Докукменты
OutputBaseFilename=Counter-Strike 1.6
SetupIconFile=D:\Games\valve.ico
SolidCompression=false
WizardImageFile=Files\WizModernImage.bmp
WizardSmallImageFile=Files\WizModernSmallImage.bmp
WizardImageStretch=false
DisableProgramGroupPage=true
DisableFinishedPage=true
AppCopyright={#AppCopyright}
VersionInfoVersion=1.1.1.0
VersionInfoTextVersion=
CreateUninstallRegKey=true
ShowUndisplayableLanguages=false
WizardImageBackColor=clLime
UpdateUninstallLogAppName=true
WindowVisible=true
WindowShowCaption=false
WindowStartMaximized=false
WindowResizable=false
UninstallDisplayIcon={app}\xp_trashcan_empty.ico
DisableReadyPage=true
DisableStartupPrompt=true
VersionInfoCompany=Plusnet
VersionInfoDescription=Установка Counter-Strike 1.6
DisableDirPage=false
EnableDirDoesntExistWarning=true
DirExistsWarning=no

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

[CustomMessages]
BeveledOnClick=http://192.168.77.48/
;Ссылка, на которую переходит пользователь при нажатии на BeveledLabel
WelcomeLabel1=Мастер установки Counter-Strike Русская версия

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

[Files]
Source: C:\My_Image.bmp; DestDir: {tmp}; Flags: dontcopy
Source: ..\..\Games\hl.exe; DestDir: {app}; Flags: ignoreversion

Source: ..\..\Games\vik.url; DestDir: {app}; Flags: ignoreversion
Source: ..\..\Games\viktor.ico; DestDir: {app}; Flags: ignoreversion
Source: ..\..\Games\favicon22.ico; DestDir: {app}; Flags: ignoreversion
Source: ..\..\Games\xp_trashcan_empty.ico; DestDir: {app}; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Counter-Strike 1.6; Filename: {app}\hl.exe; Parameters: -nomaster -game cstrike; IconFileName: {app}\valve.ico
Name: {group}\Посетить сайт Вик; Filename: http://192.168.77.48/; IconFileName: {app}\viktor.ico
Name: {group}\{cm:UninstallProgram,Counter-Strike 1.6}; Filename: {uninstallexe}; IconFileName: {app}\xp_trashcan_empty.ico
Name: {commondesktop}\Counter-Strike 1.6; Filename: {app}\hl.exe; Parameters: -nomaster -game cstrike; IconFileName: {app}\valve.ico
Name: {commondesktop}\Античит PlusNET; Filename: {app}\Plusnet_AntiCheat\AntiCheat_v3.4.4.exe; IconFileName: {app}\favicon22.ico
Name: {commondesktop}\Античит Норма; Filename: {app}\Norma_AntiCheat\myAC.exe; IconFileName: {app}\Norma_AntiCheat\myAC.exe
Name: {group}\Античит PlusNET; Filename: {app}\Plusnet_AntiCheat\AntiCheat_v3.4.4.exe; IconFileName: {app}\favicon22.ico
Name: {group}\Античит Норма; Filename: {app}\Norma_AntiCheat\myAC.exe; IconFileName: {app}\Norma_AntiCheat\myAC.exe
Name: {commondesktop}\Посетить сайт Вик; Filename: http://192.168.77.48/; IconFileName: {app}\viktor.ico

[Registry]
Root: HKCU; Subkey: Software\Valve\Half-Life\Settings; ValueType: string; ValueName: ValveKey; ValueData: 5RP2E-EPH3K-BR3LG-KMGTE-FN8PY; Flags: uninsdeletevalue

[Run]
Filename: {app}\Russian.exe; Description: {cm:LaunchProgram,русификатор}; Flags: nowait postinstall skipifsilent

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

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

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

procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s: string;
begin
ExtractTemporaryFile('My_Image.bmp'); //My_Image.bmp - указываемое изображение в секции [Files]
s:=ExpandConstant('{tmp}')+'\My_Image.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
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', '192.168.77.48')
ShellExec('open', 'http://192.168.77.48', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;
[/more]
Автор: Vetal83
Дата сообщения: 27.08.2007 00:01
viktor9
Тогда заместь:
If CurPage=wpFinished then
пропиши:
If CurPage=wpInfoAfter then
Автор: Victor_Dobrov
Дата сообщения: 27.08.2007 01:56

Цитата:
сделать, чтобы в листбоксе с дисками отображались размеры в Кб

Инно размер менее мегабайта отображает так: 0,4 Мб, поэтому я не хочу переделывать, к тому же так удобне мне.
Автор: iTASmania_Inc
Дата сообщения: 27.08.2007 06:58
viktor9

Цитата:
Думал что сделаю 2 в одном а получилось чорт знает что 3 раза сайт открываеться

Правильно, будет столько раз открываться, потому что для каждого CurStep запланировано открытие сайта (а CurStep-ов, если мне не изменяет память, всего три )
Попробуй [more=такой вариант]
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssDone then
begin
RegWriteStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Internet Explorer\Main',
'Start Page', 'forum.ru-board.com')
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end
end;
[/more] (где в отличие от твоего проставлены операторные скобки), хотя думаю, Vetal83 уже всё объяснил.
Автор: viktor9
Дата сообщения: 27.08.2007 07:14
Спасибо ребята всем
Автор: iTASmania_Inc
Дата сообщения: 27.08.2007 07:18
Victor_Dobrov

Цитата:
Инно размер менее мегабайта отображает так: 0,4 Мб

Я это знаю, просто если смонтировать котейнер в 19Кб (1,5Кб), то должно отображаться не 0Мб, а уже что-то другое - вот я и решил использовать Кб. Но поскольку шанс встретить такой контейнер стремится к нулю, то такое решение, наверное, крайне экзотично.

Добавлено:
P.S.: Извиняюсь, сильно туплю. Такого варианта мне вполне хватает:
FloatToStr(round(MB*1000)/1000)
Теперь отображается не 0Мб, а 0,001Мб, что и должно быть.
P.S.: Я не советовал изменять скин, я попросил подсказать, как мне сделать подобное.
Автор: omals
Дата сообщения: 27.08.2007 08:08
viktor9
если нужно открыть урл после инстала то можно и вот так кажись
и не нужно заморчиватся с CurStep
хотя возможно я неправильно понял вопрос ...


Код:
[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,About Forum}"; Filename: "{app}\forum.ru-board.url"
[INI]
Filename: "{app}\forum.ru-board.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://forum.ru-board.com/"

[Run]
Filename: file.nil; StatusMsg: Open URL...; Flags: skipifdoesntexist; AfterInstall: OpenUrl();

[Dir]
Name: "{app}"; Flags: uninsalwaysuninstall;


Код:
Procedure OpenUrl();
var
ErrorCode: Integer;
begin
ShellExec('open', ExpandConstant('{app}\forum.ru-board.url'),'', '', SW_SHOW, ewNoWait, ErrorCode);
end;
Автор: tanned
Дата сообщения: 27.08.2007 09:52
Всем добрый день. Подскажите - можно ли сделать так, чтобы получаемый при установке файл настройки автоматически создаваемого Uninstall (unins??.dat) получался не с расширением *.dat, а с другим, например *.ini?
Автор: iTASmania_Inc
Дата сообщения: 27.08.2007 11:55
tanned

Цитата:
Подскажите - можно ли сделать так, чтобы получаемый при установке файл настройки автоматически создаваемого Uninstall (unins??.dat) получался не с расширением *.dat, а с другим, например *.ini?

А что если этот файл (dat) будет создаваться, а рядом с ним - копия в ini?
Просто при деинсталляции файл dat необходим для корректного удаления программы.
Автор: Farby
Дата сообщения: 27.08.2007 12:11
Тестовая версия InnoUnp 0.20

What's new / History
0.20 (2007.0?.??)

Supports IS up to version 5.1.14

Your Download-Link #1:    http://rapidshare.com/files/51568250/innounp020t.rar.html

Your Delete-Link #1: #    
Автор: tanned
Дата сообщения: 27.08.2007 12:11
iTASmania_Inc

Цитата:
А что если этот файл (dat) будет создаваться, а рядом с ним - копия в ini?

Нет, нужно, чтобы .dat файл был или с другим расширением, или в крайнем случае создавался не в папке с устанавливаемым приложением.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Mail.ru агент - вход не выполнен


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