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

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

Автор: Unc1e
Дата сообщения: 16.06.2007 23:51
EagleSH
Все что описано в статье, не получится сделать средствами Inno. Я нашел dll-ку "GameuxInstallHelper.dll" с помощью которой можно правильно добавить ярлык, но не знаю как ей пользоваться. Описание к ней лежит тут "http://msdn2.microsoft.com/en-us/library/bb206359.aspx". Здесь описаны все функции библиотеки и примеры для InstallShield и Wise. Никто не хочет разобраться с этим???
ссылка на dll http://forums.winamp.com/attachment.php?s=7deeb5907756c58b29b8ff2604c435e2&postid=2057654
Автор: Forslay
Дата сообщения: 17.06.2007 10:45
Есть функция для того что бы не видеть с about программы, только вот почему то сбивается rtf параметры лицензии, информации... Пожалуйста помогите устранить этот БАГ!
Автор: Sero
Дата сообщения: 17.06.2007 13:44
Forslay
Для лицензии используй этот вариант:

Код:
[Setup]
LicenseFile=License.rtf

[Files]
Source: License.rtf; DestDir: {tmp}; Flags: dontcopy

[Code]
procedure InitializeWizard();
var License: string;
begin
WizardForm.Position:=poScreenCenter;
ExtractTemporaryFile('License.rtf');
LoadStringFromFile(ExpandConstant('{tmp}') + '\License.rtf', License);
WizardForm.LicenseMemo.RTFText:=License;
end;
Автор: Angel_Smerti
Дата сообщения: 17.06.2007 15:51
Люди помогите у меня есть скины для Inno Setup, конкретней скин Monochrome. При установки у скина есть баг:

А надо было бы так:

Сам скин и его код, находится здесь.
Автор: Sampron
Дата сообщения: 17.06.2007 16:03
Angel_Smerti
Скачай последнюю версию скинов, там все баги исправлены:
http://data.cod.ru/1105821130
Автор: iTASmania_Inc
Дата сообщения: 17.06.2007 19:09
Sero

Цитата:
Для лицензии используй этот вариант

А для выпадающих списков не знаешь как устранить подобный баг?
Автор: Sero
Дата сообщения: 17.06.2007 20:42
iTASmania_Inc

Цитата:
А для выпадающих списков не знаешь как устранить подобный баг?


Я так понимаю:

Код:
[Code]
Procedure InitializeWizard;
begin
WizardForm.TypesCombo.Style:=csDropDown
end;
Автор: iTASmania_Inc
Дата сообщения: 17.06.2007 23:16
Sero
Всегда правильно понимаешь!!!
Или почти всегда!
Автор: Sero
Дата сообщения: 17.06.2007 23:39
iTASmania_Inc

Цитата:
Или почти всегда!

Бывает!
Автор: iTASmania_Inc
Дата сообщения: 18.06.2007 00:15
Sero

Цитата:
Бывает!

Но редко! Крайне!

Кстати, не пробовал накладывать на скины от Samprona такой вариант:

procedure InitializeWizard();
begin
WizardForm.BorderStyle:=bsNone
end;

+ разумеется, прозрачность!!! ( + по желанию, Always On Top)
Мне очень понравилось, прикольно смотрится (особенно Blue), чё молчали об этом????
Автор: Sampron
Дата сообщения: 18.06.2007 00:49
iTASmania_Inc
Ты знаешь не пробовал, но представляю это извращение
На многих форумах хочу пробить один код, где при значении WizardForm.BorderStyle:=bsNone можно было б сделать WizardForm подвижным чтоб сделать свой BorderStyle с анимироваными кнопками но никто неможет помочь, что очень жаль а было бы КРУТО!
Автор: iTASmania_Inc
Дата сообщения: 18.06.2007 00:55
Sampron

Цитата:
это извращение

Это не извращение, это эстетика! Это круто! Это COOL! Это свежее дыхание! Это мимолетное виденье! Это морозный воздух в жаркий день, когда всё устало от обыденности и жаждет, алкает чего-то нового, погибая от духовной опустошённости!

Цитата:
На многих форумах

Не подскажешь, а то только на этом и сижу, и только тебя да Sero да Genri да ещё кое-кого (но не так часто!) долбаю!
Автор: Sampron
Дата сообщения: 18.06.2007 01:18
iTASmania_Inc
Ещё здесь пытаюсь пробить, хоть и тема про инно сдохла, но всё-таки надеюсь на помощь. Мой ник там TRT вдруг что.
Автор: iTASmania_Inc
Дата сообщения: 18.06.2007 01:24
Sampron

Цитата:
На многих форумах


Цитата:
Ещё здесь пытаюсь пробить, хоть и тема про инно СДОХЛА

Смешно!

Цитата:
Мой ник там

Если уж позволишь, то я лучше здесь!!! В домашней обстановке!!!

Цитата:
вдруг что

Русского человека нужно хвалить за намерение что-либо сделать!
Поэтому СПАСИБО!!!!


Добавлено:
Хотя ты и сделал немало! Одни скины чего только стоят!
Автор: Sero
Дата сообщения: 18.06.2007 01:31

Цитата:
и только тебя да Sero да Genri да ещё кое-кого (но не так часто!) долбаю!

Ничего страшного!


Цитата:
то я лучше здесь!!! В домашней обстановке!!!

Вот это правильно!
Автор: iTASmania_Inc
Дата сообщения: 18.06.2007 01:34
Sero

Цитата:
Ничего страшного!

Как ничего страшного? Ведь вопросы тупые не могу, хотя уже два месяце в Inno сижу!

Добавлено:
Хотя чё-т я от тематики форума отклонился!!!

Цитата:
Вот это правильно!

Пора б и честь знать, как сказал бы Путин!!!
Автор: Sero
Дата сообщения: 18.06.2007 17:16
boss911
Я тут вспомнил что у тебя есть вопрос.Нашел решение!


Код:
[Files]
Source: RegWrite.exe; DestDir: {app}; Flags: ignoreversion;

[Run]
Filename: {app}\RegWrite.exe; WorkingDir: {app}; AfterInstall: regwrite

[Code]
procedure regwrite;
begin
RegWriteStringValue(HKLM, 'Software\Test',
'ValueName','ValueData');
end;
Автор: Chuvakstepan
Дата сообщения: 18.06.2007 17:52
Народ, неподскажете как скрестить эти две функции?


Код: function NextButtonClick(CurPageID: Integer): Boolean;
var
I: Integer;

begin
Result := True;
if CurPageID = KeyPage.ID then begin
ProgressPage.SetText('Проверка подлинности пароля...', '');
ProgressPage.SetProgress(0, 0);
ProgressPage.Show;
try
for I := 0 to 10 do begin
ProgressPage.SetProgress(I, 10);
Sleep(100);
end;
finally
ProgressPage.Hide;
end;
//Здесь указываем пароль
if KeyPage.Values[0] = 'Львов' then
Result := True
else begin
MsgBox('Вы должны ввести правильный пароль.', mbError, MB_OK);
Result := False;
end;
end else
Result := True;
end;
end;
Автор: boss911
Дата сообщения: 18.06.2007 20:14
Sero

Цитата:
Нашел решение!

Не вкурил я решения! Что это за RegWrite.exe ну, и сам код не понемаю, что оно делает?
Автор: Forslay
Дата сообщения: 18.06.2007 21:05
NightW0lf, у тебя есть инсталляция > русификатор на оригинал программы Inno Setup.

Он у тебя зашифрован на присутствие файла: "WwW.ALL-SofT.NeT.RU - Team.nfo". Так вот без него, он у тебя не запускается. Но вот у меня есть замечание:

1) Я удалил "WwW.ALL-SofT.NeT.RU - Team.nfo", сработала мол защита, "MD5 Хеш неверен".
2) После этого действия программа должна прекратить установку, но после нажатия кнопки "ОК", она запускается и всё как обычно.

3) У меня почему то защиты срабатывает намертво! Всё работает чётко!. Вопрос: С чем это может быть связано?
Автор: Sero
Дата сообщения: 18.06.2007 22:34
boss911

Цитата:
Ребята, помогите, плиз! Нужно, чтоб секция [Registry] обработалась (вносились данные в реестр) после [Run], даже, если выбрана галка 'postinstall'. Реально?

Ситуация такая, что в секции [Run], выполняется некий *.exe с ключами, так программа себя регистрирует в тихом режиме, так вот эта регистрация перезаписывает значения реестра, которые указаны у меня в [Registry].

Сразу скажу, что выполнения команды regedit /s settings.reg, после выполнения всех команд запусков, не выход, так как значения реестра имеют переменные (пути к файлам и т.д.).


На эту тему!

А RegWrite.exe - та программа которая перезаписывает значения реестра, которые указаны у тебя в [Registry].

Я сделал так чтобы сначала запускалясь программа а потом записывались значения реестра!
Автор: boss911
Дата сообщения: 19.06.2007 00:29
Sero

Цитата:
А RegWrite.exe - та программа которая перезаписывает значения реестра, которые указаны у тебя в [Registry].

Я сделал так чтобы сначала запускалясь программа а потом записывались значения реестра!

Я теперь понял! Но, что будет, если будет так:

Код: [Files]
Source: Prog.exe; DestDir: {app}; Flags: ignoreversion

[Cоde]
procedure regwrite;
begin
RegWriteStringValue(HKLM, 'Software\Test',
'ValueName','ValueData');
end;

[Run]
Filename: {app}\Prog.exe; Parameters: /install; Flags: waituntilterminated; StatusMsg: Регистрация компонентов; AfterInstall: regwrite
Filename: {app}\Prog.exe; Description: Запустить программу; Flags: nowait postinstall skipifsilent
Автор: NightW0lf
Дата сообщения: 19.06.2007 01:14
Forslay

Цитата:
NightW0lf, у тебя есть инсталляция > русификатор на оригинал программы Inno Setup.

Он у тебя зашифрован на присутствие файла: "WwW.ALL-SofT.NeT.RU - Team.nfo". Так вот без него, он у тебя не запускается. Но вот у меня есть замечание:

1) Я удалил "WwW.ALL-SofT.NeT.RU - Team.nfo", сработала мол защита, "MD5 Хеш неверен".
2) После этого действия программа должна прекратить установку, но после нажатия кнопки "ОК", она запускается и всё как обычно.

3) У меня почему то защиты срабатывает намертво! Всё работает чётко!. Вопрос: С чем это может быть связано?

Да я знаю что есть такая проблемка, я просто кое что напутал с Result:=.
Автор: Forslay
Дата сообщения: 19.06.2007 01:43

Цитата:
Да я знаю что есть такая проблемка, я просто кое что напутал с Result:=.
Так спешу сообщить, что после кое какого то изменения в конфиге, (я его уже точно не вспомню). У меня такая же теперь трабла, как у тебя. Я надеюсь ты знаешь что сделать? Опиши пожалуйста причину!



Автор: Chuvakstepan
Дата сообщения: 19.06.2007 08:30
Парни!
Я обнаружил крутую функцию в программке XnView. Так вот там есть инструмент для создания слайдшоу из картинок в exe и scr файлы. Есть там эффекты переходов, и прочее (я еще недоконца разобрался). Появилась идея - как запустить exe в фоне во время инсталляции (заменить стандартный способ применения слайдшоу)
Автор: Forslay
Дата сообщения: 19.06.2007 09:37
Chuvakstepan, Я к сожлению уже уезжаю, так и не разобравшись в Inno setup до конца, хотя очень затягивает . Выражаю тебе благодарность за отзывчивость и помощь моему проекту. "... и всем-всем-всем!"
Финальный инсталлятор всё же вышел таким, каким я его хотел видеть.

Скрины моего инстала.
Автор: Chanka
Дата сообщения: 19.06.2007 10:37
Кто-нибудь помогите пожалуйста. Совсем запутался. Как в этот код добавить проверку операционной системы. И как добавить символ к дискам \. Т.е С: на C:\

[Setup]
AppName=SystemTest
AppVerName=SystemTest <Version>
CreateAppDir=false

[Files]
Source: get_hw_caps.dll; Flags: dontcopy

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

[Code]
const oneMB = 1024*1024; BufferLen = 50;
type TMemoryStatus = record dwLength, dwMemoryLoad, dwTotalPhys, dwAvailPhys, dwTotalPageFile, dwAvailPageFile, dwTotalVirtual, dwAvailVirtual: Longint; end;
var Memory: TMemoryStatus; FreeMB, TotalMB: Cardinal; VolumeSerialNo, MaxComponentLength, FileSystemFlags: Longint; i: Integer; VolumeName, FileSystemName: String; ListBox: TListBox;
ProcessorName: string;
Processor, VideoCardPanel, AudioCardPanel, RAMPanel, PageFilePanel: TMemo;
ProcessorNamePanel, VideoCardNamePanel, AudioCardNamePanel, RAMTotalPanel, PageFileTotalPanel: TMemo;
ProcessorMHZ: Cardinal;
StaticText, StaticText2: TNewStaticText;
SysTestPage: TWizardPage;
Text: TNewStaticText;
Memo: TMemo;

procedure GlobalMemoryStatus(var lpBuffer: TMemoryStatus);
external 'GlobalMemoryStatus@kernel32.dll';

function GetVideoCardName(): PChar;
external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall';

function GetSoundCardName(): PChar;
external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall';

function GetHardDriveFreeSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';

function GetHardDriveName(hdd: Integer): PChar;
external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';

function GetHardDriveTotalSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';

function GetHardDrivesCount(): Integer;
external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';

function GetSoundCards(): Integer;
external 'hwc_GetSoundCards@files:get_hw_caps.dll stdcall';

function GetSystemPage(): Integer;
external 'hwc_GetSystemPage@files:get_hw_caps.dll stdcall';

function GetSystemPhys(): Integer;
external 'hwc_GetSystemPhys@files:get_hw_caps.dll stdcall';

function GetVidMemLocal(): Integer;
external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall';

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

function GetVolumeInformation(PathName, VolumeName: PChar; VolumeNameSize, VolumeSerialNumber, MaxComponentLength, FileSystemFlags: Longint; FileSystemName: PChar; FileSystemNameSize: Longint): Longint;
external 'GetVolumeInformationA@kernel32.dll stdcall';

function DelSp(String: String): String; // Удаление начальных и конечных пробелов
begin while (Pos(' ', String) =1) do Delete(String,1,1) while (Copy(String, Length(String),1)=' ') do Delete(String,Length(String),1) Result:= String end;

function MorG(MB, onlyMB: Integer): String; // Значение в строку объёма Мб/Гб (Гб округлим до 3-ёх знаков после запятой)
begin if (MB < 1000) or (onlyMB > 0) then Result:= IntToStr(MB)+ 'Мб' else Result:= FloatToStr(round(MB/1024*1000)/1000)+ 'Гб' end;

procedure ListBoxOnClick(Sender: TObject);
begin for i:= 0 to ListBox.Items.Count-1 do if ListBox.Selected[i] then WizardForm.DirEdit.Text:= Copy(ListBox.Items[i],1,1) +Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text)); end;

procedure InitializeWizard();
begin
RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0', 'ProcessorNameString', ProcessorName);
RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0', '~MHz', ProcessorMHZ);
GetVidMemLocal;
GetSoundCards;
GlobalMemoryStatus(Memory);

SysTestPage := CreateCustomPage(wpWelcome, 'Аппаратное обеспечение', 'Программа установки обнаружила следующие необходимые компоненты');

StaticText := TNewStaticText.Create(SysTestPage);
with StaticText do
begin
Parent := SysTestPage.Surface;
Caption := 'Все компоненты соответствуют требованиям программы.';
StaticText.Font.Color:=clGreen;
Left := 0;
Top := 0;
AutoSize := True;
end;

StaticText2 := TNewStaticText.Create(SysTestPage);
with StaticText2 do
begin
Parent := SysTestPage.Surface;
Caption := 'Когда Вы будете готовы продолжить установку, нажмите «Далее».';
Left := 0;
Top := 220;
AutoSize := True;
end;

//******************************************* [Начало - Процессор] ***************************************************//

Processor := TMemo.Create(SysTestPage);
with Processor do
begin
Text := ' Процессор';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(0);
Top := ScaleY(30);
Width := ScaleX(100);
Height := ScaleY(22);
ReadOnly := True;
Color := $EEEEEE;
end;

ProcessorNamePanel := TMemo.Create(SysTestPage);
with ProcessorNamePanel do
begin
Text := ' ' + DelSp(ProcessorName) + ' ~' + IntToStr(ProcessorMHZ) + ' MHz';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(104);
Top := ScaleY(30);
Width := ScaleX(313);
Height := ScaleY(22);
ReadOnly := True;
Color := $CCFFCC;
end;

//******************************************* [Конец - Процессор] ****************************************************//


//******************************************* [Начало - Видеоадаптер] ************************************************//

VideoCardPanel := TMemo.Create(SysTestPage);
with VideoCardPanel do
begin
Text := ' Видеоадаптер';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(0);
Top := Processor.Top + 27;
Width := ScaleX(100);
Height := ScaleY(22);
ReadOnly := True;
Color := $EEEEEE;
end;

VideoCardNamePanel := TMemo.Create(SysTestPage);
with VideoCardNamePanel do
begin
Text := ' ' + DelSp(GetVideoCardName) + ', '+ MorG(round(GetVidMemLocal/oneMB/64)*64,1) + ', ' + IntToStr(GetSystemMetrics(0)) + 'x' +IntToStr(GetSystemMetrics(1));;
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(104);
Top := VideoCardPanel.Top;
Width := ScaleX(313);
Height := ScaleY(22);
ReadOnly := True;
Color := $CCFFCC;
end;

//******************************************* [Конец - Видеоадаптер] *************************************************//


//******************************************* [Начало - Звуковая карта] **********************************************//

AudioCardPanel := TMemo.Create(SysTestPage);
with AudioCardPanel do
begin
Text := ' Звуковая карта';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(0);
Top := VideoCardPanel.Top + 27;
Width := ScaleX(100);
Height := ScaleY(22);
ReadOnly := True;
Color := $EEEEEE;
end;

AudioCardNamePanel := TMemo.Create(SysTestPage);
with AudioCardNamePanel do
begin
Text := ' ' + DelSp(GetSoundCardName) + ' (рекомендуется Creative X-Fi)';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(104);
Top := AudioCardPanel.Top;
Width := ScaleX(313);
Height := ScaleY(22);
ReadOnly := True;
Color := $CCFFCC;
end;

//******************************************* [Конец - Звуковая карта] ***********************************************//


//******************************************* [Начало - ОЗУ] *********************************************************//

RAMPanel := TMemo.Create(SysTestPage);
with RAMPanel do
begin
Text := ' ОЗУ';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(0);
Top := AudioCardPanel.Top + 27;
Width := ScaleX(100);
Height := ScaleY(22);
ReadOnly := True;
Color := $EEEEEE;
end;

RAMTotalPanel := TMemo.Create(SysTestPage);
with RAMTotalPanel do
begin
Text := ' ' + MorG(round(Memory.dwTotalPhys/oneMB/64)*64,1) + ' всего, ' + MorG(Memory.dwAvailPhys/oneMB,1) +' свободно, ' + MorG((Memory.dwTotalPhys - Memory.dwAvailPhys)/oneMB,1) +' используется';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(104);
Top := RAMPanel.Top;
Width := ScaleX(313);
Height := ScaleY(22);
ReadOnly := True;
Color := $CCFFCC;
end;

//******************************************* [Конец - ОЗУ] **********************************************************//


//******************************************* [Начало - Файл подкачки] ***********************************************//

PageFilePanel := TMemo.Create(SysTestPage);
with PageFilePanel do
begin
Text := ' Файл подкачки';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(0);
Top := RAMPanel.Top + 27;
Width := ScaleX(100);
Height := ScaleY(22);
ReadOnly := True;
Color := $EEEEEE;
end;

PageFileTotalPanel := TMemo.Create(SysTestPage);
with PageFileTotalPanel do
begin
Text := ' '+MorG(GetSystemPage,1)+' всего, ' + MorG((Memory.dwTotalPageFile - Memory.dwAvailPageFile)/oneMB,0) + ' занято системным кэшем';
Alignment := taLeftJustify;
Parent := SysTestPage.Surface;
Left := ScaleX(104);
Top := PageFilePanel.Top;
Width := ScaleX(313);
Height := ScaleY(22);
ReadOnly := True;
Color := $CCFFCC;
end;

//******************************************* [Конец - Файл подкачки] ************************************************//

ListBox:= TListBox.Create(WizardForm)
with ListBox do begin
Color:= $EEEEEE; Font.Size:= 10; Font.Name:= 'Tahoma'; Font.Style:=[fsBold]; Parent:= WizardForm.SelectDirPage; OnClick:= @ListBoxOnClick; Top:= WizardForm.DirEdit.Top +WizardForm.DirEdit.Height +ScaleY(30); Width:= WizardForm.DirBrowseButton.Left + WizardForm.DirBrowseButton.Width - WizardForm.DirEdit.Left; Height:= WizardForm.DiskSpaceLabel.Top -Top -9;
FileSystemName:= StringOfChar(' ', BufferLen); VolumeName:= StringOfChar(' ', BufferLen);
for i:=0 to GetHardDrivesCount-1 do begin
GetSpaceOnDisk(GetHardDriveName(i), True, FreeMB, TotalMB); GetVolumeInformation(GetHardDriveName(i), VolumeName, BufferLen-1, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, BufferLen-1);
Items.Add(Copy(Uppercase(GetHardDriveName(i)),0,2)+ Copy(' ',0,14-Length(MorG(TotalMB,0)))+ MorG(TotalMB,0)+ Copy(' всего, ',0,17-Length(MorG(FreeMB,0)))+ MorG(FreeMB,0)+ Copy(' (0',0,4-Length(IntToStr(round(FreeMB/TotalMB*100)))) + FloatToStr(round(FreeMB/TotalMB*100))+ '%) свободно, '+ FileSystemName); end;
end;
with TNewStaticText.Create(WizardForm) do begin Top:= WizardForm.DirEdit.Top +WizardForm.DirEdit.Height +ScaleY(8); Caption:='Список локальных дисков, присутствующих в системе:'; Parent:= WizardForm.SelectDirPage; end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = SysTestPage.ID then

if ProcessorMHZ < 3800 then //Минимальное значение частоты в MHz
begin
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям программы.';
StaticText.Font.Color := clRed;
ProcessorNamePanel.Color := $CCCCFF;
WizardForm.NextButton.Enabled:=False
end;

if round(GetVidMemLocal/oneMB/64)*64 < 128 then //Минимальный объём ОЗУ видеоадаптера в Мб
begin
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям программы.';
StaticText.Font.Color := clRed;
VideoCardNamePanel.Color := $CCCCFF;
WizardForm.NextButton.Enabled:=False
end;

if GetSoundCards = 0 then
begin
AudioCardNamePanel.Text:=' Устройство не обнаружено';
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям программы.';
StaticText.Font.Color := clRed;
AudioCardNamePanel.Color := $CCCCFF;
WizardForm.NextButton.Enabled:=False
end;


if round(Memory.dwTotalPhys/oneMB/64)*64 < 512 then //Минимальный объём ОЗУ в Мб
begin
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям программы.';
StaticText.Font.Color := clRed;
RAMTotalPanel.Color := $CCCCFF;
WizardForm.NextButton.Enabled:=False
end;

if GetSystemPage < 768 then //Минимальный объём файла подкачки в Мб
begin
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям программы.';
StaticText.Font.Color := clRed;
PageFileTotalPanel.Color := $CCCCFF;
WizardForm.NextButton.Enabled:=False
end;
end;
Автор: Rage Hunter
Дата сообщения: 19.06.2007 10:45
Всем привет!
Народ подскажите, можно ли сделать что бы инсталятор при установке вносил строки в файл, например txt (дополнял, а не заменял)?
Если это возможно то подскажите как это сделать!
Автор: NightW0lf
Дата сообщения: 19.06.2007 11:10
Forslay

Цитата:
Так спешу сообщить, что после кое какого то изменения в конфиге, (я его уже точно не вспомню). У меня такая же теперь трабла, как у тебя. Я надеюсь ты знаешь что сделать? Опиши пожалуйста причину!

Скинь вличку код свой посматрю в чем может быть ошибка.
Автор: Forslay
Дата сообщения: 19.06.2007 11:24
NightW0lf, большое спасибо, у меня опять пропал этот глюк. Так что уже незачем. Хтя я вообще немогу понять в чём дело. Я просто высунул этот код с "проверкой на файл в директории", утром встал, опять решил попробывать, засунул и работает всё прекрасно! Вот трабла... Даже не понятно почему он иногда пропускает...

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

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


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