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

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

Автор: Seraph1
Дата сообщения: 02.12.2010 14:08
alexandrevil
У меня все пашет, спасибо NiCKsOn123
Автор: alexandrevil
Дата сообщения: 02.12.2010 14:10
Вот толькочто скачал и установил ...


Добавлено:
Seraph1
ну а у меня он не пашет ...

Добавлено:
Короче вот как это было:

Я переустановил систему изза слета ее... полностью форматнув жоский и установив ХР сп3 !
Все дрова и тп . Проги необходимые типа С++ и нет.фрамеворк ...
Установил инно и оно отказываеться рабоать ?
Я уже незнаю что мне сделать фантазия на 0 ...

Добавлено:
когда первый раз устанавливал его то стояла 7 х64 и все работало, но потом она чето скачала и померла ... пришлось переустанавливать ее и инно не стал работать ... удалил его не коректно с нее и поставил ХР сп3 х86
Автор: troyan90
Дата сообщения: 02.12.2010 15:03
alexandrevil
ispack установи из шапки. он предложит установить препроцессор - согласись.
Автор: alexandrevil
Дата сообщения: 02.12.2010 15:10
troyan90
alexandrevil
ispack установи из шапки. он предложит установить препроцессор - согласись.

Если не трудно можеш дать ссылку, а то я еще ченить не то скачаю !?

Добавлено:
troyan90
урааа ! епт . СПАСИБООО ....

Добавлено:
А ТЕПЕРЬ ТАКОЙ ВОПРОС : вот у меня скрипт щас от нфски . Можно его както в ширине уменьшить ?
Автор: troyan90
Дата сообщения: 02.12.2010 15:19

Цитата:
Можно его както в ширине уменьшить ?

практически полностью переписать придется. этож не только уменьшение размера формы, но и еще придется править все лайблы, картинки, кнопки и прочее
Автор: alexandrevil
Дата сообщения: 02.12.2010 15:21
troyan90

Цитата:
Цитата:Можно его както в ширине уменьшить ?


практически полностью переписать придется. этож не только уменьшение размера формы, но и еще придется править все лайблы, картинки, кнопки и прочее



а есть уже такие готовые скрипты ?
Автор: troyan90
Дата сообщения: 02.12.2010 15:23

Цитата:
а есть уже такие готовые скрипты ?

слегка уменьшенных по ширине? я лично таких не видел. попробуй сам сделать
Автор: Dark91
Дата сообщения: 02.12.2010 16:18
Как в ISDone0.5k заблокировать кнопку "отменить распаковку" ?
Автор: oXiOneX
Дата сообщения: 02.12.2010 18:20
Ребят, подскажите пожалуйста одну вещь. Я хочу сделать сборку клиента на основе АпексДЦ. В принципе, установщик есть, но вот в чём беда - русик постоянно слетает. Как сделать так, чтобы программа открывала файл, редактировала его, прописывая абсолютный путь к русификатору?
Ссылка на апекс вот - http://sourceforge.net/projects/apexdcspeedmod/files/apexdcspeedmod/s16.4/ApexDC-s16_4.exe.rar/download
Строчка, значение которой надо изменить находится в папке Settings, файл DCPlusPlus.xml - <LanguageFile type="string">.\Settings\Russian.xml</LanguageFile> (она восьмая)
Автор: Shegorat
Дата сообщения: 02.12.2010 19:12
oXiOneX
Помнится я и СТАСКо писали XMLParser, но так и не закончили. Но функция, которая тебе нужна (изменение параметра) там есть. Вот [more=код][Setup]
Appname=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp

[code]
type
TTagPoint = record Name: String; BeginPos, EndPos: Integer; end;

const
CP_ACP = 0; CP_UTF8 = 65001;

Function MultiByteToWideChar(CodePage: UINT; dwFlags: DWORD; lpMultiByteStr: PAnsiChar; cbMultiByte: integer; lpWideCharStr: PAnsiChar; cchWideChar: integer): longint; external 'MultiByteToWideChar@kernel32.dll stdcall';
Function WideCharToMultiByte(CodePage: UINT; dwFlags: DWORD; lpWideCharStr: PAnsiChar; cchWideChar: integer; lpMultiByteStr: PAnsiChar; cbMultiByte: integer; lpDefaultChar: integer; lpUsedDefaultChar: integer): longint; external 'WideCharToMultiByte@kernel32.dll stdcall';

function AnsiToUtf8(strSource: string): string;
var
nRet, nRet2: integer; WideCharBuf, MultiByteBuf: AnsiString;
begin
SetLength(WideCharBuf, Length(strSource) * 2);
SetLength(MultiByteBuf, Length(strSource) * 2);
nRet:= MultiByteToWideChar(CP_ACP, 0, strSource, -1, WideCharBuf, Length(WideCharBuf));
nRet2:= WideCharToMultiByte(CP_UTF8, 0, WideCharBuf, -1, MultiByteBuf, Length(MultiByteBuf), 0, 0);
MultiByteBuf:=Copy(MultiByteBuf, 1, nRet2-1);
Result:= MultiByteBuf;
end;

function GetExists(TagArr: array of TTagPoint): Boolean;
var Part1, Part2, Temp: Boolean; n: integer;
begin
if (GetArrayLength(TagArr) > 1) then begin
Temp:= True;
for n:= GetArrayLength(TagArr)-1 downto 1 do begin
Part1:=False; If TagArr[n].BeginPos > TagArr[n-1].BeginPos then Part1:=True;
Part2:=False; If TagArr[n].EndPos < TagArr[n-1].EndPos then Part2:=True;
Temp:=Temp and (Part1 and Part2);
end;
If Temp then Result:= True;
end else begin
Result:=False; if (TagArr[0].BeginPos > 0) and (TagArr[0].EndPos > 0) then Result:= true;
end;
end;
//Можно было еще отдельно сделать функцию XMLWriteLine
//и если параметра не находится, то пишем новый параметр, только нужно
//расширить список входящих данных, добавив sTagType
procedure XMLChange(sFileName, sTagName, sTagParam: string);
var sFileText: string; i: Integer; Tags: array of TTagPoint;
begin
if LoadStringFromFile(sFileName, sFileText) then
begin
//Если тэгов несколько то создаем массив
If Pos('\', STagName) > 0 then try
repeat
i:= GetArrayLength(Tags); SetArrayLength(Tags, i+1);
Tags[i].Name:= Copy(sTagName, 1, Pos('\', sTagName)-1);
Delete(sTagName, 1, Pos('\', sTagName));
until Pos('\', STagName) = 0;
finally begin i:= GetArrayLength(Tags); SetArrayLength(Tags, i+1);
Tags[i].Name:= Copy(sTagName, 1, Length(sTagName));
end;
end else begin
SetArrayLength(Tags, 1); Tags[0].Name:= sTagName;
end;
for i:=0 to GetArrayLength(Tags)-1 do begin //тут мы находим точки открытия и закрытия тегов, которые потом будем сравнивать
Tags[i].BeginPos:= Pos('<'+Tags[i].Name, sFileText);
if (Tags[i].BeginPos <> 0) then while sFileText[Tags[i].BeginPos] <> '>' do Tags[i].BeginPos:=Tags[i].BeginPos+1;
Tags[i].EndPos:= Pos('</'+Tags[i].Name+'>', sFileText)
end;
//Если тэг входит в дерево или просто присутствует (если просто передано название тэга)
If GetExists(Tags) then begin
i:= GetArrayLength(Tags)-1;
SaveStringToFile(sFileName, Copy(sFileText,1,Tags[i].BeginPos) + AnsiToUtf8(sTagParam) + Copy(sFileText,Tags[i].EndPos,Length(sFileText)-Tags[i].EndPos), False);
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
XMLChange('E:\DCPlusPlus.xml','Settings\Nick','пPиHцип PAб0ты тAкOй - CHAчAлA ищEM 3AKPыBAющий Tэг, эTO OбычHO иMя_TэгA');
end;
end;[/more]
Автор: oXiOneX
Дата сообщения: 02.12.2010 19:19
Shegorat
А этот скрипт может сам определять место конечной установки, т.е. абсолютныйпуть к файлу русификации и вписывать его в dcplusplus.xml? (Например c://program files/apexdc/settings/dcplusplus.xml)
Автор: Shegorat
Дата сообщения: 02.12.2010 19:27
oXiOneX
В конце скрипта есть пример как использовать. Могу дать еще один пример. Если папка установки это - c://program files/apexdc то пример будет таким

Код: procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
XMLChange(ExpandConstant('{app}\Settings\DCPlusPlus.xml'),'Settings\Language',ExpandConstant('{app}\Language\Russian.xml'));
end;
end;
Автор: riperoc1
Дата сообщения: 02.12.2010 19:33
ответьте пожалуйста на вопрос как сделать проценты больше и в другом стиле или шрифте
Автор: Shegorat
Дата сообщения: 02.12.2010 19:38
riperoc1
PercentsLabel.Font.Name:= 'Georgia';
PercentsLabel.Font.Color:= clRed;
PercentsLabel.Font.Style:= [fsBold, fsItalic];
PercentsLabel.Font.Size:= 12;
И так далее. Практически все есть в справке к инно.
Автор: oXiOneX
Дата сообщения: 02.12.2010 20:12
Shegorat
Слушай, помоги прикрутить этот скрипт, а то у меня вообще ничего не получается )= Вот ссылка на апекс с моим скриптом, он пустой практически. http://narod.ru/disk/712679001/ApexDC-s16_4.exe.rar.html
Надо, чтобы он прописывал абсолютный путь к русификатору в файле Settings\DCPlusPlus.xml , конкретно в строчке номер 8 - <LanguageFile type="string">.\Settings\Russian.xml</LanguageFile> . Сам русификатор - Settings\Russian.xml
Поможешь?
Автор: Edison00007
Дата сообщения: 02.12.2010 20:51
Возможно как-нибудь архив ****.arc прикрепить к секции task или components
Но что бы он расспаковывался при выборе
Автор: skitonline
Дата сообщения: 02.12.2010 21:52
В скрипте Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone нормально извлекаются все архивы а в скрипте Xenus2+botva2+ISDone0.5L он полчаса извлекает архивы а потом в папке с игрой создатся только файл дисталяции.В чем причина ?
Автор: Shegorat
Дата сообщения: 03.12.2010 03:01
oXiOneX
Вот держи, ссылка
Edison00007

Цитата:
Возможно как-нибудь архив ****.arc прикрепить к секции task или components
Но что бы он расспаковывался при выборе

Все можно, качай ISFreeArcExtarct из шапки и обязательно прочитай Readme_ru.doc из архива.
Автор: riperoc1
Дата сообщения: 03.12.2010 03:09
Shegorat
огромное спасибо
Автор: oXiOneX
Дата сообщения: 03.12.2010 08:03
Shegorat
Спасибо прям огромное!
Автор: NiCKsOn123
Дата сообщения: 03.12.2010 13:49
Кто-нибудь пробовал писать скрипт, как у Шепарда?
http://rghost.ru/3466097
Автор: Lunch927
Дата сообщения: 03.12.2010 14:28
NiCKsOn123
Оно тебе не надо. "Запомни."
Автор: FROST999
Дата сообщения: 03.12.2010 16:13
Парни, расскажите ,пожалуйста, все о пережатии\рекомпрессии
Автор: Shegorat
Дата сообщения: 03.12.2010 16:28
FROST999

Цитата:
Парни, расскажите ,пожалуйста, все о пережатии\рекомпрессии

Тебе в соседнюю тему. Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия.
P.S. Когда же вы уже научитесь читать шапку перед тем как задать вопрос?

Добавлено:
NiCKsOn123

Цитата:
Кто-нибудь пробовал писать скрипт, как у Шепарда?
http://rghost.ru/3466097

Насколько я знаю никто не писал подобный скрипт и не собирается. Он не очень сложный просто смысла нет плагиатить все подряд.
Автор: meekrab
Дата сообщения: 03.12.2010 16:52
NiCKsOn123
Есть но не дам )))
Shegorat
Ты когда в асе появишся. Есть пару вопросов по моему скрипту.
Автор: FROST999
Дата сообщения: 03.12.2010 17:02
Shegorat
А не подскажите в скрипт от юршата (nfs undercover) можно прекомп файлы как-то вставить?Просто скрипт очень большой и куда что вписывать непонятно.
Автор: skitonline
Дата сообщения: 03.12.2010 18:45
FROST999
Качаешь Need for Speed™ Undercover.iss v 2.2 [Final] + ISDone, заходишь в ISdone.iss и настраиваешь эти строчки под себя
[more]
Код: if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\bin\bin1.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
//if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Data2.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
//if not ISSRepExtract ( 0, OveralPct, 0, ExpandConstant('{app}\Data.srp'), ExpandConstant('{app}\Data.pcf'), '', true, CallBack ) then break;
if not ISPrecompExtract( 0, OveralPct, 0, ExpandConstant('{app}\bin1.pcf'), ExpandConstant('{app}\bin1.7z'), true, CallBack ) then break;
if not IS7ZipExtract ( 0, OveralPct, 0, ExpandConstant('{app}\bin1.7z'), ExpandConstant('{app}'), true, CallBack, '' ) then break;
//if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\Data1.bin'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc' ) then break;
// if not ISArcExtract ( 1, OveralPct, 0, ExpandConstant('{src}\rustext.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 2, OveralPct, 0, ExpandConstant('{src}\engtext.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 3, OveralPct, 0, ExpandConstant('{src}\rusvoice.arc'),ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISArcExtract ( 4, OveralPct, 0, ExpandConstant('{src}\engvoice.arc'),ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
Автор: FROST999
Дата сообщения: 03.12.2010 19:20
skitonline
вообще не понял,там столько строчек бин файлы рсф итд,но у меня после прекомпа получился один файл

Добавлено:
А вот допустим заархивировал я два архива,они взяты из одной папки ,как сделать чтобы при установке создавалась папка, и они туда распаковывались?
Автор: nik1967
Дата сообщения: 03.12.2010 20:25

Цитата:
Кто-нибудь пробовал писать скрипт, как у Шепарда?


Цитата:
Есть но не дам )))


Цитата:
Насколько я знаю никто не писал подобный скрипт и не собирается. Он не очень сложный просто смысла нет плагиатить все подряд.

Действительно... Есть, но зачем плагиатить все подряд?

Автор: Gnom3
Дата сообщения: 03.12.2010 20:38
Помогите пожалуйста?
Пытаюсь в скрипт Автозона встроить авторан от скрипта НФС Андеркавер, все компилится, только ошибка вылетает:

Код: [21:36:36,512] InitializeSetup raised an exception (fatal).
[21:36:36,517] Exception message:
[21:36:36,520] Message box (OK):
    Runtime Error (at 309:3885):
    
    Could not call proc.
[21:36:40,248] User chose OK.
[21:36:40,251] Deinitializing Setup.
[21:36:42,362] Failed to remove temporary directory: C:\Users\8523~1\AppData\Local\Temp\is-72QBG.tmp
[21:36:42,415] *** Setup exit code: 1

Страницы: 12345678910111213

Предыдущая тема: µTorrent / uTorrent


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