Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
Serega_, ))) Я так и сделал... поля ввода для 111 и 222 отдельные т.е. когда инсталяция завершена в ini файле отображается следующее
1. Если создаю ini:
Data Source = 111
Initial Catalog = 222
2. Если изменяю ini:
ConStr=Provider=***;Data Source=***;Initial Catalog=***
Data Source = 111
Initial Catalog = 222
Как видно inno setup при записи все время пытается записать параметры в отдельные строки. а при изменении не изменяет уже существующие параметры а добавляет те же но во все те же отдельные строки. Т.е. key для ini может быть только один (тот что первый (ConStr)). Мне набросал знакомый код по разбиению строки на отдельные параметры и дальнейшей ее сборки обратно в строку. только вот у меня не получается ее реализовать в .
Заранее извиняюсь за обьем сообщения может еще кто что посоветует? ))
[CODE]unit FrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Button3: TButton;
Edit6: TEdit;
Button4: TButton;
Edit7: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
FIntegrSecurity : String;
FPersistSecInfo : String;
FInitialCatalog : String;
FDataSource : String;
FProvider : String;
procedure ParseStr(const AStr: String; var AProvider, AIntegrSecurity,
APersistSecInfo, AInitialCatalog, ADataSource: String);
// procedure CombineStr(var AStr: String; const AProvider, AIntegrSecurity,
// APersistSecInfo, AInitialCatalog, ADataSource: String);
procedure CombineStr(var AStr: String; const AProvider,
AInitialCatalog, ADataSource: String);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
SIntegrSecurity = 'Integrated Security';
SPersistSecInfo = 'Persist Security Info';
SInitialCatalog = 'Initial Catalog';
SDataSource = 'Data Source';
SProvider = 'Provider';
SDelim = ';';
SEqual = '=';
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
S: String;
begin
Ini := TIniFile.Create('c:\a.ini');
try
S := Ini.ReadString('CONNECT', 'ConStr', '');
Edit6.Text := S;
finally
if Assigned(Ini) then Ini.Free;
end;
end;
{
procedure TForm1.CombineStr(var AStr: String; const AProvider,
AIntegrSecurity, APersistSecInfo, AInitialCatalog, ADataSource: String);
begin
AStr := Format('%s=%s;%s=%s;%s=%s;%s=%s;%s=%s', [SProvider, AProvider,
SIntegrSecurity, AIntegrSecurity, SPersistSecInfo, APersistSecInfo,
SInitialCatalog, AInitialCatalog, SDataSource, ADataSource]);
end;
}
procedure TForm1.CombineStr(var AStr: String; const AProvider,
AInitialCatalog, ADataSource: String);
begin
AStr := Format('%s=%s;%s=%s;%s=%s', [SProvider, AProvider,
SInitialCatalog, AInitialCatalog, SDataSource, ADataSource]);
end;
procedure TForm1.ParseStr(const AStr: String; var AProvider,
AIntegrSecurity, APersistSecInfo, AInitialCatalog, ADataSource: String);
procedure ExtractParamAndValue(const Str: String; var Param, Value: String);
var
I: Integer;
begin
Param := ''; Value := '';
I := Pos(SEqual, Str);
if (I > 0) and (I < Length(Str)) then
begin
Param := copy(Str, 1, I - 1);
Value := copy(Str, I + 1, MAXINT);
end;
end;
var
I: Integer;
S, S1, S2: String;
begin
S := AStr;
repeat
I := Pos(SDelim, S);
if I > 0 then
begin
ExtractParamAndValue(copy(S, 1, I - 1), S1, S2);
S := copy(S, I + 1, MAXINT);
end
else
begin
ExtractParamAndValue(S, S1, S2);
S := '';
end;
if S1 = SProvider then FProvider := S2 else
if S1 = SIntegrSecurity then AIntegrSecurity := S2 else
if S1 = SPersistSecInfo then APersistSecInfo := S2 else
if S1 = SInitialCatalog then AInitialCatalog := S2 else
if S1 = SDataSource then ADataSource := S2;
until I <= 0
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ParseStr(Edit6.Text, FProvider, FIntegrSecurity, FPersistSecInfo,
FInitialCatalog, FDataSource);
Edit1.Text := FProvider;
Edit2.Text := FIntegrSecurity;
Edit3.Text := FPersistSecInfo;
Edit4.Text := FInitialCatalog;
Edit5.Text := FDataSource;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
S: String;
begin
self.CombineStr(S, Edit1.Text, Edit5.Text, Edit4.Text);
Edit7.Text := S;
end;
end.
Заранее извиняюсь за обьем сообщения »
используйте тег [more]
inno setup при записи все время пытается записать параметры в отдельные строки »так вобще-то это правильно ведь инишник никогда не пишется в одну строку, одним словом неправильный у вас инишник...
Мне набросал знакомый код » интересный код, только для Делфи, в общем надо подумать...
Я уже писал что инишник не правельный... а в программу лезть запретили чтоб поменять интерпретацию ((( вот так (( Если чего разберешь дай знать )) очень надеюсь... а то работа встала... сам уже 4-й день бьюсь...
MrLD, а вы этот код на делфи проверяли на работоспасобность? А то я собрал, накидал на форму кнопки и едиты, а он не пашет, главно и не ругается, т.е вообще ничего не происходит... Если не сложно скиньте полный исходник посмотреть, можно в PM...
там надо создать ini и внести в него секцию [Connect] и запись в виде строки которую я приводил в пример.
[Connect]
ConStr=Provider=***;Data Source=***;Initial Catalog=***
и путь прописать к инишнику
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
S: String;
begin
Ini := TIniFile.Create('c:\a.ini');
try
S := Ini.ReadString('CONNECT', 'ConStr', '');
Edit6.Text := S;
finally
if Assigned(Ini) then Ini.Free;
end;
end; »
MrLD, ну, что обрадовать вас?[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DisableProgramGroupPage=yes
CreateUninstallRegKey=no
DisableDirPage=yes
CreateAppDir=no
Uninstallable=no
DisableFinishedPage=yes
DisableReadyPage=yes
OutputBaseFilename=My Program
OutputDir=.
Code]
const
SIntegrSecurity = 'Integrated Security';
SPersistSecInfo = 'Persist Security Info';
SInitialCatalog = 'Initial Catalog';
SDataSource = 'Data Source';
SProvider = 'Provider';
SDelim = ';';
SEqual = '=';
var
Form: TForm;
lbl1, lbl2, lbl3, lbl4, lbl5, lbl6, lbl7: TLabel;
btn1, btn2, btn3, btn4: TButton;
edt1, edt2, edt3, edt4, edt5, edt6, edt7: TEdit;
FIntegrSecurity, FPersistSecInfo, FInitialCatalog,
FDataSource, FProvider : String;
procedure btn2Click(Sender: TObject);
begin
Form.Close;
end;
procedure btn1Click(Sender: TObject);
var
S: String;
begin
S:= GetIniString('CONNECT', 'ConStr', '', 'c:\a.ini');
edt6.Text:= S;
end;
procedure CombineStr(var AStr: String; const AProvider,
AInitialCatalog, ADataSource: String);
begin
AStr:= Format('%s=%s;%s=%s;%s=%s', [SProvider, AProvider,
SInitialCatalog, AInitialCatalog, SDataSource, ADataSource]);
end;
procedure ExtractParamAndValue(const Str: String; var Param, Value: String);
var
I: Integer;
begin
Param:= '';
Value:= '';
I:= Pos(SEqual, Str);
if (I > 0) and (I < Length(Str)) then
begin
Param:= copy(Str, 1, I - 1);
Value:= copy(Str, I + 1, MAXINT);
end;
end;
procedure ParseStr(const AStr: String; var AProvider,
AIntegrSecurity, APersistSecInfo, AInitialCatalog, ADataSource: String);
var
I: Integer;
S, S1, S2: String;
begin
S:= AStr;
repeat
I:= Pos(SDelim, S);
if I > 0 then
begin
ExtractParamAndValue(copy(S, 1, I - 1), S1, S2);
S:= copy(S, I + 1, MAXINT);
end else
begin
ExtractParamAndValue(S, S1, S2);
S:= '';
end;
if S1 = SProvider then FProvider:= S2 else
if S1 = SIntegrSecurity then AIntegrSecurity:= S2 else
if S1 = SPersistSecInfo then APersistSecInfo:= S2 else
if S1 = SInitialCatalog then AInitialCatalog:= S2 else
if S1 = SDataSource then ADataSource:= S2;
until I <= 0
end;
procedure btn3Click(Sender: TObject);
begin
ParseStr(edt6.Text, FProvider, FIntegrSecurity, FPersistSecInfo,
FInitialCatalog, FDataSource);
edt1.Text:= FProvider;
edt2.Text:= FIntegrSecurity;
edt3.Text:= FPersistSecInfo;
edt4.Text:= FInitialCatalog;
edt5.Text:= FDataSource;
end;
procedure btn4Click(Sender: TObject);
var
S: String;
begin
CombineStr(S, edt1.Text, edt5.Text, edt4.Text);
edt7.Text:= S;
end;
procedure CreateComponents;
begin
Form:= TForm.Create(Application);
try
Form.ClientWidth:= 345;
Form.ClientHeight:= 300;
Form.Caption:= 'Пример';
Form.Position:= poScreenCenter;
Form.Color:= clBtnFace;
Form.Font.Color:= clWindowText;
Form.Font.Height:= -11;
Form.Font.Name:= 'MS Sans Serif';
Form.Font.Style:= [];
Form.PixelsPerInch:= 96;
//lbl1
lbl1:= TLabel.Create(Form);
lbl1.Parent:= Form;
lbl1.Left:= 24;
lbl1.Top:= 8;
lbl1.Width:= 86;
lbl1.Height:= 13;
lbl1.Caption:= 'Секция [Connect]';
//lbl2
lbl2:= TLabel.Create(Form);
lbl2.Parent:= Form;
lbl2.Left:= 24;
lbl2.Top:= 48;
lbl2.Width:= 39;
lbl2.Height:= 13;
lbl2.Caption:= 'Provider';
//lbl3
lbl3:= TLabel.Create(Form);
lbl3.Parent:= Form;
lbl3.Left:= 24;
lbl3.Top:= 88;
lbl3.Width:= 60;
lbl3.Height:= 13;
lbl3.Caption:= 'Data Source';
//lbl4
lbl4:= TLabel.Create(Form);
lbl4.Parent:= Form;
lbl4.Left:= 24;
lbl4.Top:= 128;
lbl4.Width:= 63;
lbl4.Height:= 13;
lbl4.Caption:= 'Initial Catalog';
//lbl5
lbl5:= TLabel.Create(Form);
lbl5.Parent:= Form;
lbl5.Left:= 24;
lbl5.Top:= 168;
lbl5.Width:= 68;
lbl5.Height:= 13;
lbl5.Caption:= 'Integr Security';
//lbl6
lbl6:= TLabel.Create(Form);
lbl6.Parent:= Form;
lbl6.Left:= 24;
lbl6.Top:= 208;
lbl6.Width:= 71;
lbl6.Height:= 13;
lbl6.Caption:= 'Persist SecInfo';
//lbl7
lbl7:= TLabel.Create(Form);
lbl7.Parent:= Form;
lbl7.Left:= 24;
lbl7.Top:= 248;
lbl7.Width:= 54;
lbl7.Height:= 13;
lbl7.Caption:= 'CombineStr';
//btn1
btn1:= TButton.Create(Form);
btn1.Parent:= Form;
btn1.Left:= 240;
btn1.Top:= 64;
btn1.Width:= 75;
btn1.Height:= 22;
btn1.Caption:= 'Читать';
btn1.TabOrder:= 0;
btn1.OnClick:= @btn1Click;
btn1.Cursor:= crHand;
btn1.ShowHint:=True;
btn1.Hint:='Читать секцию [Connect] из файла';
//btn2
btn2:= TButton.Create(Form);
btn2.Parent:= Form;
btn2.Left:= 240;
btn2.Top:= 176;
btn2.Width:= 75;
btn2.Height:= 22;
btn2.Caption:= 'Закрыть';
btn2.TabOrder:= 1;
btn2.OnClick:= @btn2Click;
btn2.Cursor:= crHand;
btn2.ShowHint:=True;
btn2.Hint:='Закрыть и продолжить установку';
//btn3
btn3:= TButton.Create(Form);
btn3.Parent:= Form;
btn3.Left:= 240;
btn3.Top:= 96;
btn3.Width:= 75;
btn3.Height:= 22;
btn3.Caption:= 'Разделить';
btn3.TabOrder:= 2;
btn3.OnClick:= @btn3Click;
btn3.Cursor:= crHand;
btn3.ShowHint:=True;
btn3.Hint:='Разделить строку на данные';
//btn4
btn4:= TButton.Create(Form);
btn4.Parent:= Form;
btn4.Left:= 240;
btn4.Top:= 128;
btn4.Width:= 75;
btn4.Height:= 22;
btn4.Caption:= 'Объединить';
btn4.TabOrder:= 3;
btn4.OnClick:= @btn4Click;
btn4.Cursor:= crHand;
btn4.ShowHint:=True;
btn4.Hint:='Объединить изменённые данные';
//edt1
edt1:= TEdit.Create(Form);
edt1.Parent:= Form;
edt1.Left:= 24;
edt1.Top:= 64;
edt1.Width:= 200;
edt1.Height:= 21;
edt1.TabOrder:= 4;
//edt2
edt2:= TEdit.Create(Form);
edt2.Parent:= Form;
edt2.Left:= 24;
edt2.Top:= 184;
edt2.Width:= 200;
edt2.Height:= 21;
edt2.TabOrder:= 5;
//edt3
edt3:= TEdit.Create(Form);
edt3.Parent:= Form;
edt3.Left:= 24;
edt3.Top:= 224;
edt3.Width:= 200;
edt3.Height:= 21;
edt3.TabOrder:= 6;
//edt4
edt4:= TEdit.Create(Form);
edt4.Parent:= Form;
edt4.Left:= 24;
edt4.Top:= 144;
edt4.Width:= 200;
edt4.Height:= 21;
edt4.TabOrder:= 7;
//edt5
edt5:= TEdit.Create(Form);
edt5.Parent:= Form;
edt5.Left:= 24;
edt5.Top:= 104;
edt5.Width:= 200;
edt5.Height:= 21;
edt5.TabOrder:= 8;
//edt6
edt6:= TEdit.Create(Form);
edt6.Parent:= Form;
edt6.Left:= 24;
edt6.Top:= 24;
edt6.Width:= 289;
edt6.Height:= 21;
edt6.TabOrder:= 9;
//edt7
edt7:= TEdit.Create(Form);
edt7.Parent:= Form;
edt7.Left:= 24;
edt7.Top:= 264;
edt7.Width:= 297;
edt7.Height:= 21;
edt7.TabOrder:= 10;
Form.ShowModal;
finally
Form.Free;
end;
end;
procedure InitializeWizard;
begin
CreateComponents;
end;
Serega_, ((( не работает ((
Serega_У тебя этот код работает?
MrLD, естественно... иначе бы не давал.
Serega_, У тебя tool- зы какиенить установленны?? а то у меня inno Application не понимает ((
MrLD,
Установите себе ispack-5.2.3 (http://www.innosetup.com/isdl.php), упс уже вышло обновление, версия ispack-5.2.4-dev, сейчас скачаю, а также расширенную версию от Restools (http://restools.hanzify.org/inno/InnoCompiler090319_English.zip), которая добавляет много возможностей для инсталляторов...
P.S.
буду через час...
Забыл уточнить. Сначала нужно установить ispack, а затем обновить путём замены файлов от Restools.
Всем привет!Скажите пожалуйста как при выборе компонентов указать в какую папку копировать выбранные компоненты?Также интересует вопрос в том как сделать так чтобы если выбираешь один компонент,копируется файл с одним содержанием,а если выбираешь другой компонент или если компонент не выбирать,то копируется файл с таким же именет но только с другим содержанием внутри.Скажите пожалуйста как так сделать.
Diman19, [Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Types]
Name: full; Description: Полная установка
Name: custom; Description: Выборочная установка; Flags: iscustom
[Components]
Name: a; Description: Моя программа™; Types: full custom
Name: a\a; Description: Руководство пользователя; Types: full
Name: a\a\a; Description: Русский; Flags: exclusive
Name: a\a\b; Description: English; Flags: exclusive
Name: a\b; Description: Справка; Types: full
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Components: a
Source: compiler:Examples\Readme-ru.txt; DestDir: {app}; Components: a\a\a
Source: compiler:Examples\Readme-en.txt; DestDir: {app}; Components: a\a\b
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Components: a\b
Всем привет!Всем спасибо кто отвечает и помогает.Прошу помочь с маленькой проблемой.При создании исталлятора не работаю чекбоксы которые должны копировать файлы в папку если они помечены.Пишу код следующим образом
Name: programfiles; Description: Файлы программы; Types: full custom; Flags: fixed
Name: files; Description: Доп.файлы; Types: full
Name: plugins; Description: Плагины; Types: full custom
Name: "plugins\plugin1"; Description: "plugin1";
это путь к файлу запуска
Source: "C:\myprogram\myprogram.exe"; DestDir: "{app}"; Flags: ignoreversion
Это путь ко всем папкам и файлам.Тоестьв этой папке лежат файлы и папки программы.
Source: "C:\myprogram\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: programfiles
здесь я указываю путь к файлам плагина.
Source: "C:\myprogram\other\plugis\plugin1.exe"; DestDir: {app}; Components: plugins\plugin1
Source: "C:\myprogram\other\plugins\plugin1.txt"; DestDir: {app}; Components: plugins\plugin1
Проблема возникла в том что если во время установки не установить чекбоксы на плугины,то они всё равно устанавливаются незнаю почему.Скажите пожалуйста где я допустил ошибку?Может путь неправильно к файлам программы указал?Указывал папку со всеми файлами.Помогите пожалуйста разобраться
Diman19, я ничего не понял, покажите скрипт полностью и используйте тег [ more][/more], чтоб ваше сообщение не было объёмным...
Serega_,
Ок Вот полный скрипт.
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Myprogram"
#define MyAppVerName "Myprogram 1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "myprogram.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5EEBB548-ED74-4FFF-9D6D-BE4A6C859BA4}
AppName={#MyAppName}
AppVerName={#MyAppVerName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
LicenseFile=C:\myprogram\readme.txt
OutputDir=C:\Documents and Settings\Дима\My Documents
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
ComponentsListTVStyle=true
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Types]
Name: full; Description: Полная установка
Name: recomend; Description: Рекомендуемая установка
Name: custom; Description: Выборочная установка; Flags: iscustom
[Components]
Name: programfiles; Description: Файлы программы™; Types: full recomend custom; Flags: fixed
Name: source; Description: Исходники; Types: full
Name: plugins; Description: Плагины; Types: full recomend custom
Name: "plugins\Plugin1"; Description: "Plugin1";
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\myprogram\myprogram.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\myprogram\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: programfiles
Source: "C:\myprogram\other\plugins\plugin1.exe"; DestDir: {app}; Components: plugins\Plugin1
Source: "C:\myprogram\other\plugins\plugin1.txt"; DestDir: {app}; Components: plugins\Plugin1
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent
Diman19, добавьте Excludes: plugin1.exe, plugin1.txt
......................................
Source: C:\myprogram\*; DestDir: {app}; Excludes: plugin1.exe, plugin1.txt; Flags: ignoreversion recursesubdirs createallsubdirs; Components: programfiles
Source: C:\myprogram\other\plugins\plugin1.exe; DestDir: {app}; Components: plugins\Plugin1; Flags: ignoreversion
Source: C:\myprogram\other\plugins\plugin1.txt; DestDir: {app}; Components: plugins\Plugin1; Flags: ignoreversion
......................................
Здравствуйте, решил реализовать в Inno Setup 'Бегущую строку' и вот, что получилось...
; Решил реализовать в Inno Setup 'Бегущую строку' и вот, что получилось...
; Для нормальной работы у Вас должен быть установлен набор от Restools http://restools.hanzify.org/
; Подразумеваю под словом набор - InnoCompiler и ISCmplr, последние версии Вы можете найти на сайте Restools.
; Автор: Serega, http://forum.oszone.net/member.php?userid=88670
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[_Code]
var
lbl1: TLabel;
tmr1: TTimer;
procedure tmr1Timer(Sender: TObject);
var
str: string;
begin
str:= lbl1.Caption;
lbl1.Caption:= Copy(str, 2, Length(str) - 1) + Copy(str, 1, 1);
end;
procedure InitializeWizard();
begin
//lbl1
lbl1:= TLabel.Create(WizardForm);
with lbl1 do begin
Parent:= WizardForm;
Left:= 20;
Top:= 325;
Width:= 200;
Height:= 20;
AutoSize:= False;
Caption:= 'Вот, что можно сделать средствами Inno Setup... ';
Font.Color:= clWindowText;
Font.Height:= -16;
Font.Name:= 'MS Sans Serif';
Font.Style:= [];
ParentFont:= False;
end;
//tmr1
tmr1:= TTimer.Create(WizardForm);
with tmr1 do begin
Interval:= 200;
OnTimer:= @tmr1Timer;
end;
end;
Для правильной работы требуется: ispack (http://files.jrsoftware.org/ispack/ispack-5.2.4-dev.exe), после чего необходимо обновить, путём замены файлов, до расширенной версии от Restools (http://restools.hanzify.org/).
В расширенную версию входят:
InnoCompiler (http://restools.hanzify.org/inno/InnoCompiler090319_English.zip) - в неё входят файлы: Compil32.exe и Templates.dat;
Inno_ISCmplr_Setup (http://restools.hanzify.org/inno/Inno_ISCmplr_Setup090302.zip) - в неё входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32.
Serega_,
Что-то не выходит:
Unknown type 'TTimer'
de_MAX, установите себе ispack, а затем обновите, путём замены файлов, до расширенной версии от Restools. Ссылки я давл выше, ссылка на пост.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC