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

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

Автор: serg_aka_lain
Дата сообщения: 31.10.2008 19:47
Diawer

Цитата:
Как можно совсем убрать на странице выбора компонентов, выпадающее меню, ну то где пишется (Полная – Выборочная установка), что бы осталось только окно выбора компонентов.
[more=Так]

procedure InitializeWizard();
begin
WizardForm.TypesCombo.Visible := False;
end;

[/more]

Автор: Diawer
Дата сообщения: 31.10.2008 20:24
serg_aka_lain
Спасибо, то что надо.
Автор: Genri
Дата сообщения: 01.11.2008 01:58
Artem_Butenko

Цитата:
похоже меня игнорируют многие форумчане
-- на основании чего такой вывод? Я, например, только сегодня вернулся с конференции (т.е. на неделю выпал из "общественной" жизни). Сейчас сил на ответы нет. Отдохну - появлюсь на форуме. Но это не значит, что я кого-либо игнорирую. Думаю, что и у других своих дел полно. Как говорится: колхоз - дело добровольное

Автор: Artem_Butenko
Дата сообщения: 01.11.2008 02:08
Genri - извиняюсь за собственную дерзость и требовательность. Но, в любом случае буду благодарен за проявление внимания.
Автор: Diawer
Дата сообщения: 01.11.2008 12:03
Вот упростил страничку с выбором компонентов [more=Код][Setup]
AppName=NSIS
AppVerName=NSIS
DefaultDirName={pf}\NSIS
DefaultGroupName=NSIS
AllowNoIcons=yes

[CustomMessages]
english.ComponentsNSISPage1=Select the components you want to install; clear the components you do not want to%ninstall. Click Next when you are ready to continue.
russian.ComponentsNSISPage1=Выберите компоненты, которые Вы хотите установить; снимите флажки с%nкомпонентов, устанавливать которые не требуется. Нажмите «Далее», когда Вы%nбудете готовы продолжить.
english.ComponentsNSISPage2=Description
russian.ComponentsNSISPage2=Описание
english.ComponentsNSISPage3=Direct the cursor a mouse on name of the component to read his description.
russian.ComponentsNSISPage3=Наведите курсор мыши на название компонента, чтобы прочитать его описание.
english.ComponentsNSISDescription1=My program™
russian.ComponentsNSISDescription1=Моя программа™
english.ComponentsNSISDescription1_1=English version
russian.ComponentsNSISDescription1_1=Английская версия
english.ComponentsNSISDescription1_2=Russian version
russian.ComponentsNSISDescription1_2=Русская версия
english.ComponentsNSISDescription2=Help
russian.ComponentsNSISDescription2=Помощь
english.ComponentsNSISDescription2_1=Documentation
russian.ComponentsNSISDescription2_1=Документация
english.ComponentsNSISDescription2_2=User manual
russian.ComponentsNSISDescription2_2=Руководство пользователя

[LangOptions]
LanguageCodePage=0

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

[Components]
Name: Main; Description: {cm:ComponentsNSISDescription1}; Types: full custom; Flags: fixed
Name: Main\english; Description: {cm:ComponentsNSISDescription1_1}; Flags: exclusive
Name: Main\russian; Description: {cm:ComponentsNSISDescription1_2}; Flags: exclusive
Name: Help; Description: {cm:ComponentsNSISDescription2}; Types: full custom
Name: Help\Documentation; Description: {cm:ComponentsNSISDescription2_1}; Types: full custom
Name: Help\Manual; Description: {cm:ComponentsNSISDescription2_2}; Types: full custom

[Icons]
Name: {group}\NSIS; Filename: MakeNSIS.exe

[Files]
Source: compiler:descctrl.dll; Flags: dontcopy

[Code]
function EnableDesc(ComponentsListHandle, DescLabelHandle: HWND; DescStrings: PChar): BOOL;
external 'enabledesc@files:descctrl.dll stdcall';

function disabledesc(): BOOL;
external 'disabledesc@files:descctrl.dll stdcall';

var
Text: TNewStaticText;

procedure DeinitializeSetup();
begin
disabledesc();
end;

procedure InitializeWizard();
begin
WizardForm.TypesCombo.Visible:=False;
begin
Text:=TNewStaticText.Create(WizardForm);
Text.Left:=ScaleX(0);
Text.Top:=ScaleY(0);
Text.Width:=ScaleX(417);
Text.Height:=ScaleY(0);
Text.AutoSize:=false;
Text.WordWrap:=true;
Text.Caption:=ExpandConstant('{cm:ComponentsNSISPage1}');

WizardForm.ComponentsList.Left:=ScaleX(0);
WizardForm.ComponentsList.Top:=WizardForm.GroupEdit.Top + ScaleY(-31);
WizardForm.ComponentsList.Width:=ScaleX(417);
WizardForm.ComponentsList.Height:=ScaleY(155);
end;
end;[/more]. Посмотрите, почему он тупит, а именно запустив инсталлятор и нажав, отмена он 2-3 секунды чего-то ждет, прежде чем закрыться, только запускать надо не через Inno (тогда нормально) а через *.EXE
И еще вопрос, у меня установка в двух языках анг. и рус. Над окном с компонентами есть надпись типа (Выберите компоненты, которые Вы хотите установить…), в русском она занимает 3 строки, а в английском 2, я сделал, что бы окно было привязано по положению к надписи (поднималось или опускалось) но не могу сделать, что бы оно расширялось, как это сделать.


Добавлено:
Genri

Цитата:
По второму вопросу - сделано только на уровне корневой папки (при первом же вхождении во вложенную выставляется CheckFiles:= True).


Я задавал вопрос, но вы, тогда как раз, похоже, уехали, я все по вашему коду (окно с неудалившемися файлами), что имя не переноситься – бог с ним и так нормально, а вот что бы папки были с верху не только в начальной папке а и в остальных.
Автор: STRATOSV
Дата сообщения: 02.11.2008 02:11
Приветствую Уважаемых Специалистов
У меня к Вам Вопросец и Просьба.
Занимаюсь Модификациями к Стратегиям
Решил Сделать Инсталяшку в Inno Setupe для своего Мода
После нескольких Проб остановился на варианте Создания Инстал-Пакета для 7 zip SFX Архива с последующей Распаковкой в заданную Директорию.
Выбрал этот метод потому что после личных проб, такая Форма Инстал Пакета оказалась самой Лёгкой / в смысле по весу Готовой Инсталяшки/
Но мне кажется что Скриптик получился Кривоватый/ ну или Грамоздкий/
Подскажите как его Оптимизировать/ если это возможно/
И ещё, как прописать направление на Иконку к Ярлыку который по скрипту появляеться на рабочем столе.
Сразу Извиняюсь за свои Ламерские Вопросы. Бывает
Вобщем вот Скрипт - он рабочий, но Оооочень хотелось бы Услышать Мнения, Рекомендации и возможные Исправления

[Setup]
AppName=Bran_retrofit
AppVerName=Bran_retrofit 1.5
AppPublisher=Моя Проба
AppPublisherURL=
AppSupportURL=
AppUpdatesURL=
DefaultDirName={sd}\
DefaultGroupName=Bran_retrofit
AllowNoIcons=yes
OutputDir=E:\SEGA
OutputBaseFilename=setup
UninstallFilesDir={app}\Bran_retrofit
UninstallLogMode=overwrite

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

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

[Files]
Source: "E:\SEGA\Medieval II Total War\mods\333 ПРАВИЛЬНАЯ\Bran_retrofit.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{src}\Bran_retrofit.exe"; DestDir: "{app}"; Flags: ignoreversion external deleteafterinstall

[Icons]
Name: "{userdesktop}\Brancampaign_retrofit.bat"; Filename: "{app}\Brancampaign_retrofit.bat"; Tasks: desktopicon; WorkingDir: "{app}"

[Run]
Filename: "{src}\Bran_retrofit.exe"; WorkingDir: "{app}"; Parameters: "-y -o"; StatusMsg: "Процесс Установки Мода..."; Flags: waituntilterminated
Filename: "E:\SEGA\Medieval II Total War\mods\333\Brancampaign_retrofit.bat"; WorkingDir: "{app}"; StatusMsg: "Поместить Ярлык на Рабочий Стол"; Flags: waituntilterminated d

Длинные Строчки для того чтобы Страницу Форума не Раздуть перенёс
Буду Ооочень Благодарен за Дельные Советы и Рекомендации
Автор: KurtWagner
Дата сообщения: 02.11.2008 10:28
SotM

[more][Code_]
var
InstallLocation: String;
errCode: Integer;
procedure InitializeWizard();
var
MD5: String;
begin
MD5 := GetMD5OfString('сool')
WizardForm.PasswordEdit.Visible:= False;
WizardForm.PasswordEdit.Text:= MD5;
end;
type TSystemTime = record wYear, wMonth, wDayOfWeek, wDay, wHour, wMinute, wSecond, wMilliseconds: word; end;

procedure GetLocalTime(var lpSystemTime: TSystemTime); external 'GetLocalTime@kernel32 stdcall delayload';
function SystemTimeToFileTime(const lpTime: TSystemTime; var lpFileTime: TFileTime): Boolean; external 'SystemTimeToFileTime@kernel32 stdcall delayload';
function CompareFileTime(const lpFileTime1, lpFileTime2: TFileTime): LongInt; external 'CompareFileTime@kernel32 stdcall delayload';

#ifdef TimeLimit
Function TimeLimit: Boolean; var lt, dateLimit: TSystemTime; LocalTime, LimitTime: TFileTime;
Begin
#for {M[0] = 59; Pos(':', TimeLimit); M[0]++} M[M[0]] = Int(Copy(TimeLimit,,Pos(':', TimeLimit)-1)), TimeLimit = Copy(TimeLimit,Pos(':', TimeLimit)+1)
#expr M[M[0]] = TimeLimit
dateLimit.wYear:= {#Int(M[59])}; dateLimit.wMonth:= {#Int(M[60])}; dateLimit.wDay:= {#Int(M[61])}; dateLimit.wHour:= {#Int(M[62])}; dateLimit.wMinute:= {#Int(M[63])};
GetLocalTime(lt); SystemTimeToFileTime(lt, LocalTime); SystemTimeToFileTime(dateLimit, LimitTime)
Result:= not(CompareFileTime(LimitTime, LocalTime) = -1)
End;
#endif
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
Autorun : Boolean;
begin

Autorun := RegKeyExists(HKLM,'SOFTWARE\{#Author}\');
if Autorun =true then
begin
Result := true;
end;
if Autorun = false then
begin
Autorun := RegKeyExists(HKLM,'SOFTWARE\{#Reglnk}');
if Autorun =true then
begin
Result := true;
end;

if Autorun =false then
begin

Result:=false;
end
else
begin
Result:=false;
ShellExec('open', ExpandConstant('{reg:HKLM\Software\{#Reglnk},{#lnk}|}') + '\{#MyAppExeName}', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
begin
if not TimeLimit then MsgBox('Âíèìàíèå! Âû èñ÷åðïàëè ëèìèò âðåìåíè, â òå÷åíèè'#10'êîòîðîãî óñòàíîâêà ïðèëîæåíèÿ áûëà ðàçðåøåíà.'#10#10'Ðåêîìåíäóåòñÿ ïîëó÷èòü íîâóþ âåðñèþ ïðîãðàììû.', mbError, MB_OK)
else Result:= True;
end;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;[/more]
Автор: serg_aka_lain
Дата сообщения: 02.11.2008 15:05
STRATOSV

Цитата:
как прописать направление на Иконку к Ярлыку который по скрипту появляеться на рабочем столе.

IconFilename: "{app}\MyIcon.ico"; IconIndex: "0";
IconFilename: "{app}\MyIcon.exe"; IconIndex: "0";
IconFilename: "{app}\MyIcon.dll"; IconIndex: "0";
Автор: viktor9
Дата сообщения: 02.11.2008 15:21
Подскажите мне нужно создать инсталятор но чтобы устанавливалось в разные папки
C:\Program Files\My Program\
и чтобы сюда с другим содержанием
C:\Documents and Settings\viktor\Application Data\Program\
как это организать спомощу встроеной программ или с помощю скрипта??
Еще у меня почемуто не ставится Русификатор от NightW0lf для версии 5.2.0
Автор: Diawer
Дата сообщения: 02.11.2008 18:20
viktor9
Source: C:\Prog1\*; DestDir: {app}\My Program; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\Prog2\*; DestDir: {userappdata}\Program; Flags: ignoreversion recursesubdirs createallsubdirs




Добавлено:
В Prog1, содержание первой программы, в Prog2, содержание второй.

Добавлено:
На будущее смотри описание констант в хелпе с одноименным названием.
Автор: andreasb
Дата сообщения: 02.11.2008 20:59
    
Пацаны У меня большая проблема после установки проги икона(ярлык) на рабочем столе не работает а когда указываеш путь : свойства -рабочия папка наченает работать Как зделать чтоб она сама находила после установки где у неё рабочия папка?

У меня ни как не выходит помогите
У меня вот так



; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1от AndreasB
AppVerName=PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1
AppPublisher=andreasb
AppPublisherURL=www.andreasb@mail.ru
AppSupportURL=www.andreasb@mail.ru
AppUpdatesURL=www.andreasb@mail.ru
DefaultDirName={pf}\PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1от AndreasB
DefaultGroupName=PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1от AndreasB
DisableProgramGroupPage=yes
InfoBeforeFile=C:\Documents and Settings\Администратор\Рабочий стол\Текстовый документ (2).txt
OutputDir=C:\
OutputBaseFilename=PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1 от AndreasB
SetupIconFile=E:\Install\autoran pro\Andreas.ico
Password=Danil
Compression=lzma
SolidCompression=yes

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

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

[Files]
Source: "C:\BDE.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\BDE.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\2D-Place от AndreasB\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\PRO100 v4.42 от Andreasb\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\PRO100 v 4.16 от AndreasB\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\Установить BDE"; Filename: "{app}\BDE.exe"
Name: "{group}\{cm:ProgramOnTheWeb,PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1от AndreasB}"; Filename: "www.andreasb@mail.ru"
Name: "{group}\{cm:UninstallProgram,PRO 100 v 4.16 + v 4.42 +2D-Place обновление 1от AndreasB}"; Filename: "{uninstallexe}"
Name: "{group}\2D Place v3.9 Обновление 1 от AndreasB"; Filename: "{app}\2D-Place\2D Place v3.9 Обновление 1 от AndreasB .exe"
Name: "{group}\PRO100 v4.16 от AndreasB"; Filename: "{app}\PRO100 v 4.16\PRO100 v4.16 от AndreasB.exe"
Name: "{group}\pro100 V 4.42 от AndreasB"; Filename: "{app}\PRO100 v4.42\pro100 V 4.42 от AndreasB.exe"
Name: "{commondesktop}\2D Place v3.9 Обновление 1 от AndreasB "; Filename: "{app}\2D-Place\2D Place v3.9 Обновление 1 от AndreasB .exe"; Tasks: desktopicon
Name: "{commondesktop}\PRO100 v4.16 от AndreasB"; Filename: "{app}\PRO100 v 4.16\PRO100 v4.16 от AndreasB.exe"; Tasks: desktopicon
Name: "{commondesktop}\pro100 V 4.42 от AndreasB"; Filename: "{app}\PRO100 v4.42\pro100 V 4.42 от AndreasB.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\2D Place v3.9 Обновление 1 от AndreasB "; Filename: "{app}\2D-Place\2D Place v3.9 Обновление 1 от AndreasB .exe"; Tasks: quicklaunchicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PRO100 v4.16 от AndreasB"; Filename: "{app}\PRO100 v 4.16\PRO100 v4.16 от AndreasB.exe"; Tasks: quicklaunchicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\pro100 V 4.42 от AndreasB"; Filename: "{app}\PRO100 v4.42\pro100 V 4.42 от AndreasB.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\BDE.exe"; Description: "{cm:LaunchProgram, BDE}"; Flags: nowait postinstall skipifsilent



А сам exeшник находится C:\2D-Place от AndreasB\2D-Place\2D Place v3.9 Обновление 1 от AndreasB .exe

ну пакажите что дальше то?
очень прошу не бросайте !!!



к примеру у Opera AC так :



а у меня так :


А как зделать чтоб он сам заполнялся здеcь :




Тогда всё работать наченает

У меня со stalkerom 2 такая же бида

За рание большое спасибо



Автор: serg_aka_lain
Дата сообщения: 02.11.2008 21:09
andreasb

Цитата:
Как зделать чтоб она сама находила после установки где у неё рабочия папка?


Name: "{commondesktop}\2D Place v3.9 Обновление 1 от AndreasB"; Filename: "{app}\2D-Place\2D Place v3.9 Обновление 1 от AndreasB .exe"; WorkingDir: "{app}\2D-Place";
Автор: KurtWagner
Дата сообщения: 03.11.2008 00:31
ЧУВАКИ ПОМОГИТЕ
[MORE]что бы при установке файлов
писались расширения скажем в сексии [Code]
я впишу *.dll - "Распаковка Библиотек"
а вовремя установки! При распаковки файлов *.dll
Выскакивало вместо "Распаковка файлов" след. "Распаковка Библиотек"
Заранее спасибо...





а еще вопросик как слепить 2-ва кода


[_Code]
var
InstallLocation: String;
errCode: Integer;
procedure InitializeWizard();
var
MD5: String;
begin
MD5 := GetMD5OfString('сool')
WizardForm.PasswordEdit.Visible:= False;
WizardForm.PasswordEdit.Text:= MD5;
end;
type TSystemTime = record wYear, wMonth, wDayOfWeek, wDay, wHour, wMinute, wSecond, wMilliseconds: word; end;

procedure GetLocalTime(var lpSystemTime: TSystemTime); external 'GetLocalTime@kernel32 stdcall delayload';
function SystemTimeToFileTime(const lpTime: TSystemTime; var lpFileTime: TFileTime): Boolean; external 'SystemTimeToFileTime@kernel32 stdcall delayload';
function CompareFileTime(const lpFileTime1, lpFileTime2: TFileTime): LongInt; external 'CompareFileTime@kernel32 stdcall delayload';

#ifdef TimeLimit
Function TimeLimit: Boolean; var lt, dateLimit: TSystemTime; LocalTime, LimitTime: TFileTime;
Begin
#for {M[0] = 59; Pos(':', TimeLimit); M[0]++} M[M[0]] = Int(Copy(TimeLimit,,Pos(':', TimeLimit)-1)), TimeLimit = Copy(TimeLimit,Pos(':', TimeLimit)+1)
#expr M[M[0]] = TimeLimit
dateLimit.wYear:= {#Int(M[59])}; dateLimit.wMonth:= {#Int(M[60])}; dateLimit.wDay:= {#Int(M[61])}; dateLimit.wHour:= {#Int(M[62])}; dateLimit.wMinute:= {#Int(M[63])};
GetLocalTime(lt); SystemTimeToFileTime(lt, LocalTime); SystemTimeToFileTime(dateLimit, LimitTime)
Result:= not(CompareFileTime(LimitTime, LocalTime) = -1)
End;
#endif
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
Autorun : Boolean;
begin

Autorun := RegKeyExists(HKLM,'SOFTWARE\{#Author}\');
if Autorun =true then
begin
Result := true;
end;
if Autorun = false then
begin
Autorun := RegKeyExists(HKLM,'SOFTWARE\{#Reglnk}');
if Autorun =true then
begin
Result := true;
end;

if Autorun =false then
begin

Result:=false;
end
else
begin
Result:=false;
ShellExec('open', ExpandConstant('{reg:HKLM\Software\{#Reglnk},{#lnk}|}') + '\{#MyAppExeName}', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
begin
if not TimeLimit then MsgBox('Âíèìàíèå! Âû èñ÷åðïàëè ëèìèò âðåìåíè, â òå÷åíèè'#10'êîòîðîãî óñòàíîâêà ïðèëîæåíèÿ áûëà ðàçðåøåíà.'#10#10'Ðåêîìåíäóåòñÿ ïîëó÷èòü íîâóþ âåðñèþ ïðîãðàììû.', mbError, MB_OK)
else Result:= True;
end;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;[/MORE]
Автор: viktor9
Дата сообщения: 03.11.2008 00:33
Diawer
спасибо большое еще один вопрос в файле Установка удаления Программ создается ярлык деинсталятора под стандартным именем, можно это имя изменить???
Автор: serg_aka_lain
Дата сообщения: 03.11.2008 01:00
viktor9

Цитата:
Установка удаления Программ создается ярлык деинсталятора под стандартным именем, можно это имя изменить???


В секции Setup
UninstallDisplayName=Имя ярлыка.
Автор: Diawer
Дата сообщения: 03.11.2008 10:23
viktor9
Скачай из шапки
Цитата:
Русская справка к версиям 5.0.x, автор перевода BagIra
, там ты найдешь ответы на вопросы которые тебя интересуют сейчас и в ближайшее время. Думаю так будет быстрее, чем ждать ответа.


Добавлено:
KurtWagner

Цитата:
что бы при установке файлов
писались расширения скажем в сексии [Code]
я впишу *.dll - "Распаковка Библиотек"
а вовремя установки! При распаковки файлов *.dll
Выскакивало вместо "Распаковка файлов" след. "Распаковка Библиотек"

Попробуй так [more=][Files]
Source: Видео.avi; DestDir: {app}; BeforeInstall: ExtractAVI(); Flags: ignoreversion;
Source: Аудио.mp3; DestDir: {app}; BeforeInstall: ExtractWAV(); Flags: ignoreversion;
Source: "Все остальные"; DestDir: "{app}"; BeforeInstall: Extract(); Flags: ignoreversion;

[_Code]
procedure ExtractAVI();
begin
WizardForm.StatusLabel.Caption := 'Распаковка видео...';
end;

procedure ExtractWAV();
begin
WizardForm.StatusLabel.Caption := 'Распаковка аудио...';
end;

procedure Extract();
begin
WizardForm.StatusLabel.Caption := 'Распаковка файлов...;
end;[/more]
Автор: andreasb
Дата сообщения: 03.11.2008 12:55
ОГРОМНОЕ СПАСИБО serg_aka_lain , NightW0lf и Diawer все пашет полная вам уважуха!!!
Автор: JuNoS
Дата сообщения: 03.11.2008 17:33
Мне нужно чтоб перед запуском инсталла показывалась картинка например из
{src}\img\image.bmp размеро 640х480, но чтоб она не растягивалась, а была по центру. И ёще чтоб после принятия лиц.соглашения запускался exe очистки, а потом ещё один.
Зарание спасибо!
Автор: serg_aka_lain
Дата сообщения: 03.11.2008 17:57
JuNoS

Цитата:
чтоб после принятия лиц.соглашения запускался exe очистки, а потом ещё один.


Интересно, что это такое?
Автор: JuNoS
Дата сообщения: 03.11.2008 18:08
Я решил перепаковать Red Alert™ 3, там надо сперва запустить Red Alert 3_uninst.exe, а потом Red Alert 3_code.exe
Автор: serg_aka_lain
Дата сообщения: 03.11.2008 19:11
JuNoS

Цитата:
Я решил перепаковать Red Alert™ 3, там надо сперва запустить Red Alert 3_uninst.exe, а потом Red Alert 3_code.exe


Red Alert 3_uninst.exe удаляет только ключ реестра
"HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Electronic Arts\Red Alert 3\ergc"
или в Windows64 bit
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\Electronic Arts\Red Alert 3\ergc" и только, а Red Alert 3_code.exe, соответственно записывает его.

Автор: JuNoS
Дата сообщения: 03.11.2008 19:37
Мне нужно чтоб Red Alert 3_code.exe запустился до начала копирования файлов...
Автор: serg_aka_lain
Дата сообщения: 03.11.2008 20:53
JuNoS

Цитата:
Мне нужно чтоб Red Alert 3_code.exe запустился до начала копирования файлов...


Если нужно как и в модулях от EA, то так;
На странице приветствия при нажатии на кнопку "далее"
инсталлятор смотрит ключ реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Electronic Arts\Red Alert 3\ergc" и если он присутствует переходит на след. страницу,
если ключа нет, запускается модуль ввода серийника. (ИМХО, но выглядет именно так.)
Автор: JuNoS
Дата сообщения: 03.11.2008 21:06

Цитата:
Если нужно как и в модулях от EA, то так;
На странице приветствия при нажатии на кнопку "далее"
инсталлятор смотрит ключ реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\Electronic Arts\Red Alert 3\ergc" и если он присутствует переходит на след. страницу,
если ключа нет, запускается модуль ввода серийника. (ИМХО, но выглядет именно так.)


И как это сделать для inno setup?
Автор: serg_aka_lain
Дата сообщения: 03.11.2008 22:28
JuNoS

Цитата:
И как это сделать для inno setup?

смотри ПМ, там ссылка на один из возможных вариантов.
Автор: serg_aka_lain
Дата сообщения: 04.11.2008 05:15
JuNoS

Вот демка, что примерно можно на Inno.

Автор: JuNoS
Дата сообщения: 04.11.2008 07:22

Цитата:
смотри ПМ, там ссылка на один из возможных вариантов


Большое спасибо serg_aka_lain
Автор: Don_Juan
Дата сообщения: 04.11.2008 07:49
А как можно сделать такой авторан как привёл пример serg_aka_lain
?
Автор: Serega0675
Дата сообщения: 04.11.2008 13:34
Здравствуйте, как сделать, чтоб в зависимости от версии windows 32 или 64 битной, устанавливалась та или другая .dll?
Автор: serg_aka_lain
Дата сообщения: 04.11.2008 13:43
Don_Juan

Цитата:
А как можно сделать такой авторан

Ну это не только авторан, прежде всего это инсталлятор.,
После установки и повторном запуске инсталлятор смотрит реестр, и если ключ найден то
кнопка "Установить" меняет название на "Играть, Запустить, ну или как нравится" и меняет свою функцию, т.е. запускает ".exe".
Принцип прост, а кнопки и картинки просто косметика, но все они функционируют.


Добавлено:
Serega0675

Цитата:
Здравствуйте, как сделать, чтоб в зависимости от версии windows 32 или 64 битной, устанавливалась та или другая .dll?

В 32битном режиме установки правильней будет так:
[Files]
Source: "My.dll"; DestDir: "{app}"; Check: IsWin64;
Source: "My.dll"; DestDir: "{app}"; Check: not IsWin64;
(ИМХО)
Если софт 64битный, то
[Setup]
ArchitecturesInstallIn64BitMode=x64 x86
(тоже ИМХО)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

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


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