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

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

Автор: Kindly
Дата сообщения: 01.11.2014 13:52
пример копирования текста в буфер обмена, и пример сигнатурного патчинга с использованием движка snr патчера dUP2.

http://rghost.ru/58825586

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

еще snr функция возвращает 0 при ошибке и 1 при удаче, так что можно использовать дополнительные уведомления в завимости от найденой сигнатуры.
Автор: makdem1
Дата сообщения: 06.11.2014 18:14
Здравствуйте форумчане! подскажите мне пожалуйста всю голову сломал стало при выборе папки установки дублировать папку не пойму где поправить,первоначально по умолчанию стоит C:\Games пользователь выбирает папку для установки World_of_Tanks и прибавляется само автоматом опять \Games

вот итог C:\Games\World_of_Tanks\Games как исправить последний дубляж?
Автор: dodakaedr
Дата сообщения: 07.11.2014 06:50
makdem1
В секции [setup] добавте AppendDefaultDirName=no
Автор: makdem1
Дата сообщения: 07.11.2014 18:21
dodakaedr

Спасибо огромное, помогли!
Автор: MihailM
Дата сообщения: 08.11.2014 13:11
Здравствуйте !
1.У меня есть зип-архив , подскажите чем сейчас его лучше распаковать с помощью Inno Setup- и вообще можно как-то это сделать ?
То есть запускаешь скрипт выбираешь или же он сам находит определенный архив , потом уже все как в обычном инсталляторе .
2. Подскажите как перед инсталляцией , но после выбора папки - запустить определенный файл/батник ..
Автор: dodakaedr
Дата сообщения: 08.11.2014 19:43

Цитата:
2. Подскажите как перед инсталляцией , но после выбора папки - запустить определенный файл/батник ..

[more=запуск файла перед началом установки]
Код: [Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=...


[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {tmp}; Flags: deleteafterinstall;


[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
i: Integer;
begin
case CurStep of
ssInstall:
begin
ExtractTemporaryFile('MyProg.exe');
Exec(ExpandConstant('{tmp}\MyProg.exe'), '', '', 5, ewWaitUntilTerminated, i);
end;
end;
end;
Автор: MihailM
Дата сообщения: 08.11.2014 23:58
dodakaedr, Спасибо !
А можно пример для записи в файл своих данных из скрипта .. А то где было , но не могу найти .
а по 1-ому вопросу , если я возьму скрипт распаковки из этой темы :
Цитата:
Inno Setup плюс внешние упаковщики

К примеру
Цитата:
7zip+Inno
, пойдет ли для zip-архива распаковка ,никто не пробовал ?
Автор: kuriozin
Дата сообщения: 09.11.2014 10:36
Подскажите, как сделать, чтобы при разбивке на диски - первый диск, допустим, setup-1.bin занимал меньше места, чем последующие ?
Автор: Brabusdark
Дата сообщения: 09.11.2014 11:05
это уже сам решаешь сколько места, как сожмешь такой размер и будет. Можешь взять 2 папки и будет setup-1.bin 2мб а setup-2.bin 10Gb. А можешь по другому сжать, смысл думаю понял
Автор: kuriozin
Дата сообщения: 09.11.2014 11:09
Brabusdark
Не, это геморно слишком. Файлов много и в одной папке может быть больше гига.
Разве нет возможности просто задать первому диску определенный размер и последующим?
Автор: dodakaedr
Дата сообщения: 09.11.2014 17:24
MihailM

Цитата:
пойдет ли для  zip-архива распаковка


пойдет, но пример дать не могу, никогда не пользовался
Автор: MihailM
Дата сообщения: 09.11.2014 19:27
dodakaedr , ок надо попробовать , пример вроде из приведенной темы (в шапке) есть , найдем .
Спасибо !

Автор: Brabusdark
Дата сообщения: 10.11.2014 10:49
kuriozin ну так и сжимай по нескольку папок, насколько я знаю нет никаких алгоритмов для выборочного сжатия, как сам сожмешь так и будет.
Автор: Brabusdark
Дата сообщения: 10.11.2014 19:02
помогите прикрутить кликабельное лого в углы, код сам я нашел, но вот прикрутить не получается( инсталл запускается, он не более, кликабельного лого я не обнаруживаю
http://rghost.ru/58995455
Автор: RussaKKinG
Дата сообщения: 13.11.2014 15:25
Подскажите что делать если я сделал инсталлер через программу isgsg и туда засунул заставку и когда я собираю его ЗАСТАВКА НЕ показывается!
Что делать? Как исправить?
Автор: Brabusdark
Дата сообщения: 13.11.2014 15:54
ну для начала выложить код желательно бы, так как экстрасенсов тут нету, а далее посмотрим
Автор: RussaKKinG
Дата сообщения: 13.11.2014 16:19
Вроде это...

Код: procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';

procedure InitializeWizard;
begin
ExtractTemporaryFile('3ACTABKA.bmp');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\3ACTABKA.bmp',800,5000,800,0,255,True,$FFFFFF,10);
end;
Автор: Vo1T
Дата сообщения: 14.11.2014 10:57
ISCallProc проект небольшого эксперимента направленный на вызов процедур по их имени (аналог калбэков)
Исходный код сия чуда можно скачать тут ISCallProc
Использовались:
Inno Setup Compiler 5.5.5 (u) (build 121002) для других придётся поменять адрес процедуры
Delphi XE6, но думаю скомпилится в любой

PS Вдогонку ISCallBack (версия Inno не имеет значения)
Автор: Brabusdark
Дата сообщения: 16.11.2014 11:18
RussaKKinG выложи лучше сам инсталл архивом, так как непонятно мне.
Автор: VisualFire
Дата сообщения: 16.11.2014 12:29
RussaKKinG
Цитата:
у меня пропало окно с путём установки...

Цитата:
DisableDirPage=yes

Так вот строка деактивации этого окна.
Автор: MihailM
Дата сообщения: 18.11.2014 23:45

Цитата:
DisableDirPage
Это переводится так "Выключить DirPage " , как то так ...
Попробуй "no" поставить , или же удали полностью всё строчку .
Автор: kuriozin
Дата сообщения: 20.11.2014 18:16
Подскажите, как бы сделать, чтобы при Деинстлляции, удалялись при запросе на удаление сохранений, Сохранения которые находятся в моих документах --> Buka -- > Rush, Но если в папке Buka, при удалении Rush, больше никаких файлов и папок не находится - удалить и ее "Buka" ?
Автор: AngelNet
Дата сообщения: 20.11.2014 18:21
kuriozin

Код: [UninstallDelete]
// удаляем папку установленной программы со всем её содержимым
Type: "filesandordirs"; Name: "{app}"
Автор: kuriozin
Дата сообщения: 20.11.2014 18:44
AngelNet

Это совсем не то.
Автор: AngelNet
Дата сообщения: 20.11.2014 19:49
kuriozin
тьфу, прочёл спросонья не поняв что у вас игрушка, и соответственно она сохраняет в "документы пользователя" свои данные еще.

Цитата:
[UninstallDelete]
Type: filesandortdirs; Name: "{userdocs}\Buka\Rush"

пробуйте. (конструкцию на проверку "пустоты" папки бука я уже не осилю, может кто то еще подскажет)
Автор: kuriozin
Дата сообщения: 20.11.2014 19:57
AngelNet
А как в этот код добавить?


Код: procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var ResultStr:String;
begin
if CurUninstallStep=usPostUninstall then
begin
if DirExists(ExpandConstant('{userdocs}')+'\Buka' +'\Runs') then
if MsgBox('Удалить сохранения игры',mbconfirmation, mb_YesNo) = IDYES then
begin
if not DelTree(ExpandConstant('{userdocs}')+'\Buka'+'\Runs', True, True, True)
then
MsgBox('Папка не удалена!' #13#13 'Папка не существует или задействована.', mbError, MB_OK);
end;
end;
end;
Автор: innonewbie
Дата сообщения: 21.11.2014 10:29
kuriozin, так пробуй
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=uspostUninstall then // или usUninstall
if DirExists(ExpandConstant('{userdocs}')+'\Buka\Runs') then
if MsgBox('Удалить сохранения игры?', mbInformation, MB_YESNO) = idYes then
DelTree(ExpandConstant('{userdocs}')+'\Buka\Runs', True, True, True);
RemoveDir(ExpandConstant('{userdocs}')+'\Buka'); //удалит папку, если пустая
end;
Автор: AngelNet
Дата сообщения: 21.11.2014 14:01
вопрос к завсегдатаям ветки: кто нибудь может подсказать источник или автора ISTask.dll
которая корректно прибивала запущенный процесс удаляемой программы?
штука была очень хорошая за исключением одного минуса:
она существовала только для ANSI-версии инсталлятора.

столкнулся недавно с суровой необходимостью перехода на юникод версию и не нахожу замены для столь ценного инструмента(
ищу автора длл либо исходники для пересборки под unicode.
заранее благодарю!
Автор: kuriozin
Дата сообщения: 21.11.2014 18:08
innonewbie

Спасибо. Работает как надо.
Автор: Kindly
Дата сообщения: 21.11.2014 21:15
AngelNet, так попробуй задекларировать не string, а ansistring.

Код: function KillTaskA(ExeFileName: ansistring): Integer;
function RunTaskA(FileName: ansistring; bFullpath: Boolean): Boolean;

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

Предыдущая тема: Только инсталлятор


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