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

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

Автор: SotM
Дата сообщения: 21.11.2008 08:21
DarkSeroy

Цитата:
Ребята подскажите как сделать компиляцыю больше 2 гиг

Никак, читаем хелп.
Автор: Serega0675
Дата сообщения: 21.11.2008 19:28
999Kay666

Цитата:
На форуме, один добрый человек, уже говорил как рописать в реестр сроку "Распоковать innounp". Так, чтобы она отображалась в контекстном меню при нажатии правой кнопкой мыши на экзешнике.
Прочитать об этом можно здесь. А у себя, я делал так, сам .reg файл:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Распаковать с помощью InnoUnp\command]
@="С:\\Program Files\\ISUnp\\innounp.exe -x \"%1\""

т.е. указывал путь до innounp.exe и в контекстном меню отображалась команда Распаковать с помощью InnoUnp
Автор: Artem_Butenko
Дата сообщения: 21.11.2008 23:29
Genri - пожалуйста, подскажите, как в Inno Setup реализовать такое действие: в зависимости от выбранного компонента (или варианта) установки одному и тому же файлу присваивалось разное имя?
Автор: serg_aka_lain
Дата сообщения: 22.11.2008 00:50
Artem_Butenko

Цитата:
в зависимости от выбранного компонента (или варианта) установки одному и тому же файлу присваивалось разное имя?

[more=Вариант]

[Setup]
AppName=Test Components
AppVerName=Test Components v 1.0
DefaultDirName={pf}\Test Components
OutputDir=.

[Components]
Name: "english"; Description: "MyProg_Eng"; Flags: exclusive checkablealone;
Name: "russian"; Description: "MyProg_Rus"; Flags: exclusive;

[Files]
Source: "compiler:Examples\MyProg.exe"; DestName: "MyProg_Eng.exe"; DestDir: "{app}"; Components: "english"; Flags: ignoreversion;
Source: "compiler:Examples\MyProg.exe"; DestName: "MyProg_Rus.exe"; DestDir: "{app}"; Components: "russian"; Flags: ignoreversion;

[/more]

Автор: Genri
Дата сообщения: 22.11.2008 00:51
Artem_Butenko

Цитата:
в зависимости от выбранного компонента (или варианта) установки одному и тому же файлу присваивалось разное имя?
-- используй параметр DestName:
[more=Вариант через секцию Files]
Код: [no]
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Tasks]
Name: hard; Description: "Hard"; GroupDescription: "Select level:"; Flags: exclusive unchecked
Name: medium; Description: "Medium"; GroupDescription: "Select level:"; Flags: exclusive unchecked
Name: easy; Description: "Easy"; GroupDescription: "Select level:"; Flags: exclusive

[Files]
Source: "MyProg.exe"; DestDir: "{app}"; DestName: "Hard.exe"; Tasks: hard
Source: "MyProg.exe"; DestDir: "{app}"; DestName: "Medium.exe"; Tasks: medium
Source: "MyProg.exe"; DestDir: "{app}"; DestName: "Easy.exe"; Tasks: easy
[/no]
Автор: Don_Juan
Дата сообщения: 22.11.2008 07:05
Подскажите, пожалуйста, где ошибка. Заменил {userappdata} на "{commonappdata} чтобы ярлык в панели быстрого запуска создавался для всех пользователей. но ничего не происходит

[Tasks]
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{commonappdata}\Microsoft\Internet Explorer\Quick Launch\My Program"; Filename: "{app}\MyProg.exe"; Tasks: quicklaunchicon
Автор: notAlx
Дата сообщения: 22.11.2008 07:53
Don_Juan

Цитата:
Подскажите, пожалуйста, где ошибка.

Дело в том, что путь ...\Microsoft\Internet Explorer\Quick Launch\ есть только в userappdata. В commonappdata его нет и самой виндой наличие его там не предполагается.
Автор: Don_Juan
Дата сообщения: 22.11.2008 08:29
notAlx

Спасибо за разъяснения.
Автор: Artem_Butenko
Дата сообщения: 22.11.2008 14:10
serg_aka_lain и Genri - большое Вам спасибо ребята, оба варианта действительно хороши!
Автор: Uncle_Steeler
Дата сообщения: 22.11.2008 17:33
Уважаемые форумчане, подскажите как реализовать в инсталляторе проигрывание мп3 через всплывающее окно (что-то типа: хотите послушать музыку во время установки программы "да/нет")? Заранее спасибо...
Автор: serg_aka_lain
Дата сообщения: 22.11.2008 19:09
Uncle_Steeler

Цитата:
Уважаемые форумчане, подскажите как реализовать в инсталляторе проигрывание мп3 через всплывающее окно (что-то типа: хотите послушать музыку во время установки программы "да/нет")?

[more=Такой вариант]


[Setup]
AppName=Mp3 Test
AppVerName=Mp3 Test v 1.0
DefaultDirName={pf}\mp3 test
OutputDir=.

[Files]
Source: "Sound.mp3"; DestDir: "{tmp}"; Flags: dontcopy;
Source: "{sys}\*.dll"; DestDir: "{app}\TEMP"; Flags: deleteafterinstall external;

[Code]
function mciSendString(lpstrCommand: string; lpstrReturnString: string; uReturnLength:integer; hwndCallback:integer):integer;
external 'mciSendStringA@winmm.dll stdcall';

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
if MsgBox('хотите послушать музыку во время установки программы', mbConfirmation, MB_YESNO) = idYes then
ExtractTemporaryFile(ExpandConstant('Sound.mp3'));
mciSendString(ExpandConstant('play {tmp}\Sound.mp3 repeat'),'NULL',0,0);
end;

[/more]

Автор: DarkSeroy
Дата сообщения: 22.11.2008 21:11
Ребята подскажите мне нада на страницу ввода ключа написать текст вот код

Page := CreateInputQueryPage(wpPassword,
'Ëèöåíçèîííàÿ èíôîðìàöèÿ', 'Àêòèâàöèÿ ïðîãðàììû?',
'Ïîæàëóéñòà ââåäèòå Àêòèâàöèîííûé êîä è íàæìèòå "Äàëåå".');

UserCodeFieldIndex:= Page.Add('Êîä êîìïþòåðà:', False);
Page.Edits[UserCodeFieldIndex].ReadOnly:= True;
Page.Edits[UserCodeFieldIndex].Color:= clSilver;
Page.Edits[UserCodeFieldIndex].TabStop := False;
Page.Add('Àêòèâàöèîííûé êîä:', False);

_________мой текст______________________________


begin
Автор: Uncle_Steeler
Дата сообщения: 23.11.2008 09:54
serg_aka_lain
спасибо, работает, вот только зачем:

Цитата:
Source: "{sys}\*.dll"; DestDir: "{app}\TEMP"; Flags: deleteafterinstall external;
?


Автор: serg_aka_lain
Дата сообщения: 23.11.2008 12:13
Uncle_Steeler

Цитата:
спасибо, работает, вот только зачем:

Цитата:Source: "{sys}\*.dll"; DestDir: "{app}\TEMP"; Flags: deleteafterinstall external;

Для тестирования, дабы увидеть резалт после сообщения, а так установка сразу закончится.
Автор: Velikom
Дата сообщения: 23.11.2008 14:33
2 All

Понимаю, что всё это можно сделать самому, но, к сожалению, у меня мало опыта и времени… Потому-то и обращаюсь к Вам с вопросом: нет ли у Вас какого-нибудь скрипта, который позволял бы инсталлятору делать следующее:

Запускаться в полностью тихом режиме.
Определять тип операционной системы (x86 или x64).
Брать путь установки из реестра (ключи зависят от типа операционки). В случае отсутствия необходимых значений - закрываться (также по-тихому).
Устанавливать различные группы файлов в зависимости от типа операционной системы.
Устанавливать определенные файлы независимо от типа операционной системы.
Ну и, наконец, обновлять существующие файлы при следующей загрузке системы, если таковые в момент установки не доступны для перезаписи.
Автор: DarkSeroy
Дата сообщения: 23.11.2008 18:39
Все вопрос исчерпан
Автор: X11
Дата сообщения: 24.11.2008 09:29
Приветствую. Перечитал некоторые сообщения всех 80 страниц.
Вопрос относительно checkbox.
Нужно показать пользователю чекбокс, где будет написано "Установка доп. компонент".
Если отмечено и пользователь нажимает Далее, то устанавливается дополнительная инсталляха, вшитая в основную.
Вот есть наброски, но связать воедино не получается. Если кто поможет буду признателен.


Код:

procedure CreateTheWizardPages;
var
Page: TWizardPage;
CheckBox: TNewCheckBox;
begin
Page := CreateCustomPage(wpWelcome, 'Установка дополнительных компонент', 'Нажмите Далее для продолжения');

CheckBox := TNewCheckBox.Create(Page);
//CheckBox.Top := Button.Top + Button.Height + ScaleY(8);
CheckBox.Width := Page.SurfaceWidth;
CheckBox.Height := ScaleY(17);
CheckBox.Caption := 'Установить дополнительную программу';
CheckBox.Checked := True;
CheckBox.Parent := Page.Surface;

Page.NextButtonClick := @Page_NextButtonClick;
end;

procedure InitializeWizard();
begin
{ Custom wizard pages }

CreateTheWizardPages;

end;


function Page_NextButtonClick(Page: TWizardPage): Boolean;
begin
if Page.CheckBox.Checked then begin
exec(Install,{tmp}\dop_prog.exe /silence /rfr=kvart_xprs, SW_HIDE, ewWaitUntilTerminated, ResultCode)

end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpWelcome then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
Автор: Gizer
Дата сообщения: 24.11.2008 09:40
Пробежался по теме вроде не нашел если все таки было не пинайте

Нужно сделать выбор типа установки обновление или полная устновка, соотответственно при нужном выборе копируются другие файлы? как это реализовать?
буду рад любой помощи.
Автор: X11
Дата сообщения: 24.11.2008 10:50
Gizer, это есть в примерах. Можно вот так:


Цитата:

[Types]
Name: type_full; Description: Полня установка
Name: type_general; Description: Основные компоненты
Name: type_dop; Description: Дополнительные компоненты

[Components]
Name: Full_inst; Description: Полная установка; Types: type_dop type_general type_full
Name: general_inst; Description: Основные компоненты; Types: type_general
Name: dop_instal; Description: Дополнительные компоненты; Types: type_dop

Source: kvx_pe.exe; DestDir: {app}; Components: general_inst Full_inst
Source: prog2.exe; DestDir: {tmp}; Components: dop_instal Full_inst
Автор: Gizer
Дата сообщения: 24.11.2008 13:00
а можно как нить седалать чтобы при выборе обновления он просто не копировал ненужные файлы?
Автор: Forslay
Дата сообщения: 24.11.2008 13:06
Здравствуйте, во многих инсталляциях видел, как устанавливается "Microsoft Visual C++ 2008 Redistributable". Сверху появляется окошечко: Копирование необходимыйх файлов"

Как сделать так же?


И ещё:

У меня есть две версии Microsoft Visual C++ 2008 Redistributable:
для x86 и x64 процессоров... Как сделать так, что бы инсталл сам определял систему и устанавливал необходимый Microsoft Visual C++ 2008 Redistributable.

Заранее большое спасибо.
Автор: SotM
Дата сообщения: 24.11.2008 13:46
Gizer

Цитата:
а можно как нить седалать чтобы при выборе обновления он просто не копировал ненужные файлы?

Можно.
А чтобы получить поконкретней ответ, надо задавать более конкретные вопросы.

Forslay

Цитата:
для x86 и x64 процессоров

Время от времени на форуме это обсуждается вновь и вновь. Так что не составит особого труда найти это.
Автор: EagleSH
Дата сообщения: 24.11.2008 14:19
Forslay

Цитата:
У меня есть две версии Microsoft Visual C++ 2008 Redistributable:
для x86 и x64 процессоров... Как сделать так, что бы инсталл сам определял систему и устанавливал необходимый Microsoft Visual C++ 2008 Redistributable.


Код: [Run]
Filename: {src}\Redist\VC80\vcredist_x86.exe; Check: not IsWin64; Flags: waituntilterminated
Filename: {src}\Redist\VC80\vcredist_x64.exe; Check: IsWin64; Flags: waituntilterminated
Автор: Forslay
Дата сообщения: 24.11.2008 16:10

Цитата:
Время от времени на форуме это обсуждается вновь и вновь. Так что не составит особого труда найти это.


Согласен, я нашёл спасибо...
Автор: kpuk
Дата сообщения: 24.11.2008 21:36
Вот ссылка на все добро из щапки 1 файлом, как по мне так намного удобнее чем качать всё поочереди:
1. Inno Setup 5.2.3 + InnoSetup_CoronaSkin_and_SystemTest.7z
2. Скрипты и фак, рус. справка, руководство по расширенным возможностям и КБ
3. IsTool 5.2.1 с русиком
4. Inno_Script_Generator_Setup v1.0.3.1 + ispack-5.2.3
5. GameScript Generator
6. Unpacker+extended
Всё одним файлом качать ТУТ
Может стоит в шапку закинутЬ?
Автор: 999Kay666
Дата сообщения: 25.11.2008 01:41
Serega0675


Цитата:
[HKEY_CLASSES_ROOT\exefile\shell\Распаковать с помощью InnoUnp\command]
@="С:\\Program Files\\ISUnp\\innounp.exe -x \"%1\""


Спасибо огромное
Прошлый "Добрый человек" не такую давал, -- по-хуже.
Автор: Gizer
Дата сообщения: 25.11.2008 08:35
Ну допустим у меня есть набор файлов и папок, при чистой установке копирются все папки и файлы, а при обновлении только несколько файлов, все это для того чтобы уменьшить размер дистрибутива, а не пихать по разным папкам, а в установке при выборе новой установки или обновления просто выбиралось какую папку копировать из диструбтива.
примерно у меня папка cодержимое папки при чистой установке образно:
___________________________________________________
Установочная папка>data\audio\setting\redme.txt\proga.exe
___________________________________________________


при обновлении:
___________________________________________________
Установочная папка>proga.exe\readme.txt
___________________________________________________

Как это релизовать с выбором не из списка, а радиокнопками?
Заранее спасибо
Автор: mikutu
Дата сообщения: 25.11.2008 08:46
Нужно добавить возможность автозагрузки в инсталятор
нашел как примерно сделать
[Tasks]
...
Name: startup; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}
...
[Icons]
...
Name: {userstartup}\Prog; Filename: {app}\Prog.exe; Tasks: " startup"; IconIndex: 0
...
Но в инсталяторе пишет создать ярлык в панели быстрого запуска, что не правильно.
Насколько я понял нужно в Description: заменить {cm:CreateQuickLaunchIcon} на что-то другое только на что?
Использую Inno Setup 5 + CoronaSkin, в инсталяторе будет как минимум 2 языка: русский и английский
Автор: Gizer
Дата сообщения: 25.11.2008 08:57
mikutu

Примерно так

#define Startupcion "Автозагрузка при старте Windows"

[Tasks]
....
Name: startupicon; Description: {#Startupcion}; GroupDescription: {cm:AdditionalIcons}


[Icons]
Name: {userstartup}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: startupicon


Автор: mikutu
Дата сообщения: 25.11.2008 09:36
Просто я же писал

Цитата:
в инсталяторе будет как минимум 2 языка: русский и английский

а в предложенном варианте я вижу только как это применить если в инсталяторе только 1 язык.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Презентация


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