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

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

Автор: BUU
Дата сообщения: 07.04.2014 20:07
Всем привет, кто сможет реализовать закачку файлов из сети?, нужно так - Чтоб после первой страницы скачал новые файлы и положил в установленную папку, куда укажет в папку установщик, пробовал, ошибка лезет и не могу понять из за чего, использовал InnoTools Downloader. Спс заранее
Автор: AtotIK
Дата сообщения: 07.04.2014 23:03
Всем привет! Делаю кастомный лог установки, нужно записать в файл все устанавливаемые файлы. Не могу нащупать получение имён файлов, которые устанавливаются инсталятором.
Список компонентов можно получить при помощи WizardForm.ComponentsList.ItemCaption. А с файлами как тогда? Голову уже сломал.
Автор: betssaf
Дата сообщения: 08.04.2014 01:36
Чем можно пропатчить ранее созданный проект, заменить надо один файл? Год назад собирал инсталятор и конфиги не сохранились.
Автор: Tobyas Ripper
Дата сообщения: 08.04.2014 13:34
[more]
Код:
var
ProgressLabel: TLabel;

[qoute]procedure ExtLog();
begin
SaveStringToFile(ExpandConstant('{app}\setup.log'), #13#10 + GetDateTimeString('dd/mm/yyyy hh:nn:ss', '-', ':') +
' - ' + ExpandConstant(CurrentFileName), True);
with WizardForm.ProgressGauge do
ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + '%';
end;

procedure InitializeWizard();
begin
ProgressLabel := TLabel.Create(WizardForm);
with WizardForm.ProgressGauge do
begin
ProgressLabel.Top := Top + Height + ScaleY(8);
ProgressLabel.Left:= Left + Width/2 - ScaleX(8);
ProgressLabel.Caption := 'TLabel';
ProgressLabel.AutoSize := True;
ProgressLabel.Parent := WizardForm.InstallingPage;
end;
end;
Автор: streamdown
Дата сообщения: 13.04.2014 13:13
Где можно посмотреть пример скрипта разбора Connection String?
Пример app.config

Код:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<clear />
<add name="Test_Project.Properties.Settings.KBConnectionString" connectionString="Data Source=(local);Initial Catalog=KB;User ID=sa;Password=sa"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
Автор: dodakaedr
Дата сообщения: 13.04.2014 13:59
Помогите отредактировать скрипт. Я с разных примеров склеил установщик оформлением как у D!akov. Появляется ошибка (5 раз) с момента запуска и до окончания установки. Вот полный проект моего скрипта . Пожалуйста... Все помогли!
Автор: T2008
Дата сообщения: 13.04.2014 14:45
Где найти набор красивых лого (картинка которая слева в инсталляторе)?
Автор: dodakaedr
Дата сообщения: 13.04.2014 17:33
T2008 Самому создать. Формат bmp размером 164x314
Автор: T2008
Дата сообщения: 13.04.2014 21:19
dodakaedr

Странно, что нет готового пакета bmp-обложек, где каждый выберет для себя.
Автор: BUU
Дата сообщения: 13.04.2014 23:25
sjwrec войти в агент, мне скрипт надо доработать, не могу справится
Автор: dragon1000
Дата сообщения: 19.04.2014 11:54
Доброго времени суток!

Подскажите как сделать проверку на наличие определённых файлов в указанной директории установки перед началом распаковки.

К примеру выбрал директорию, далее при нажатии на кнопку "установить" в директории установки проверялось наличие файла:

{app} / MyProg.exe

При положительном результате началась распаковка файлов.
При отрицательном выводился Msbox:

Неверно выбрана директория установки, укажите правильный путь!

Вот начатый установщик:
http://rghost.ru/54395682
Автор: dodakaedr
Дата сообщения: 19.04.2014 12:17
dragon1000
пример с моего кода:

Код:
function NextButtonClick(CurPage: Integer): Boolean;
var
s:string;
begin
Result:=True;
If CurPage=6 then
begin
If (FileSearch('MyProg.exe', ExpandConstant('{app}'))='')
then
begin
s:='Извините, в выбранной папке '+ExpandConstant('{app}')+'' #13 'не обнаружена программа.' #13#13 'Пожалуйста, выберите правильный путь.';
MsgBox(s, mbError, mb_Ok);
Result:= False
end;
end;
end;
Автор: dragon1000
Дата сообщения: 19.04.2014 13:24

Цитата:
пример с моего кода:


Не хочет искать файлы просто установка продолжается при наличии и при отсутствии файлов

Вот начатый установщик:
http://rghost.ru/54395682
Автор: namquang93
Дата сообщения: 19.04.2014 19:36
Hi I'm Trying to Extract temporary dll and installer of Exe to TMemoryStream INSTEAD of {tmp} Folder using ExtractTemporaryFileToStream but I do not know How to declare functions in dll Files. Can anyone explain how to do it. For example this declaration:
Код:


Код: procedure SetTaskBarProgressValue (APP: HWND; Value: Integer); external 'SetTaskBarProgressValue @ {tmp} \ WinTB.dll stdcall delayload';
Автор: dodakaedr
Дата сообщения: 19.04.2014 22:52
dragon1000 тогда не знаю
Автор: YURSHAT
Дата сообщения: 20.04.2014 06:32
dragon1000

Код: function NextButtonClick(CurPage: Integer): Boolean;
begin
Result := True;
if CurPage = wpReady then
if not FileExists(ExpandConstant('{app}\MyProg.exe')) then
begin
MsgBox('Неверно выбрана директория установки, укажите правильный путь! ', mbError, MB_OK);
Result := False;
end;
end;
Автор: tyumenik
Дата сообщения: 20.04.2014 07:56
Возможно примерно скрипт как у Opera???

Автор: dragon1000
Дата сообщения: 20.04.2014 09:02

Цитата:
Код:

YURSHAT, взял за основу ваш код но вот незадача

При выборе папки в которой нет указанного файла установщик выводит сообщение об ошибке и это правильно. Но в тоже время при выборе той папки где есть файл MyProg.exe он опять начинает выводить Msbox с ошибкой и не дает продолжить установку.

http://rghost.ru/54426460
Автор: tryroom
Дата сообщения: 20.04.2014 11:54
dragon1000
При выборе папки в которой нет указанного файла установщик выводит сообщение об ошибке и это правильно. Но в тоже время при выборе той папки где есть файл MyProg.exe он опять начинает выводить Msbox с ошибкой и не дает продолжить установку.
http://rghost.ru/54428856 Работает.
Автор: dragon1000
Дата сообщения: 20.04.2014 12:29

Цитата:
Работает.


Установщик нормально все определяет если я выбираю стандартную папку установки

{pf}\{#AppName}

Если же указываю другую папку то уже нет.

В коде указано искать файл в текущей выбранной папке {app}

if not FileExists(ExpandConstant('{app}\MyProg.exe')) then

А он все равно ищет файлы по стандартному пути.
Автор: YURSHAT
Дата сообщения: 20.04.2014 19:05
dragon1000
Попробуйте так

Код:
function NextButtonClick(CurPage: Integer): Boolean;
begin
Result := True;
if CurPage = wpReady then
if not FileExists(AddBackslash(WizardForm.DirEdit.Text) + 'MyProg.exe') then
begin
MsgBox('Неверно выбрана директория установки, укажите правильный путь! ', mbError, MB_OK);
Result := False;
end;
end;
Автор: YURSHAT
Дата сообщения: 21.04.2014 02:07
tyumenik

Цитата:
Возможно примерно скрипт как у Opera???

Посмотрите этот скрипт. Вроде это то, что вам нужно
Автор: tyumenik
Дата сообщения: 21.04.2014 10:12
YURSHAT, но мне нужно примерно
Автор: dragon1000
Дата сообщения: 21.04.2014 14:50

Цитата:
Попробуйте так


Огромное спасибо вам!!!
Автор: dodakaedr
Дата сообщения: 21.04.2014 15:37
Можно запретить тихую установку? Или изменить сам ключ тихой установки с /VERYSILENT на /S?
Автор: rsg16
Дата сообщения: 24.04.2014 12:49
помогите доделать функцию... нужно сделать проверку если файл \csgo\pak01_dir.vpk присутствует то продолжать установку...
проверку нужно сделать после проварки на присутствие файла steam.inf
вот сама же функция

Код:
function NextButtonClick(CurPageID: Integer): Boolean;
var
ss: TArrayOfString;
s, file: String;
i: Integer;
begin
Result:= True;
if CurPageID = wpSelectDir then begin
file:= WizardForm.DirEdit.Text+'\csgo\steam.inf';
if not FileExists(file) then begin
MsgBox(ExpandConstant('{cm:incatalog} '+ExpandConstant('{app}')+' {cm:gameeps}'), mbCriticalError, MB_OK);
Result:= False;
Exit;
end;
LoadStringsFromFile(file, ss);
s:= '';
for i:=0 to GetArrayLength(ss)-1 do begin
if Pos('patchversion', AnsiLowercase(ss[i]))>0 then begin
s:= ss[i];
Break;
end;
end;
if s='' then Exit;
Delete(S, 1, Pos('=', s));
s:= Trim(S);
If (s<>'1.32.6.0') and (s<>'1.32.5.1') and (s<>'1.32.5.0') and (s<>'1.32.7.0') then begin
MsgBox(ExpandConstant('{cm:gemever} '+s+'. {cm:errorinst}'), mbCriticalError, MB_OK);
Result:= False;
end;
end;
end;
Автор: innonewbie
Дата сообщения: 26.04.2014 08:39
rsg16, как я понял, необходимо проверять наличие 2 файлов в папке установки? Если да, то вот простенький [more=пример.][code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result:= True;
if CurPageID = wpSelectDir then begin
if (fileExists(ExpandConstant('{app}\steam.inf'))) and (fileExists(ExpandConstant('{app}\csgo\pak01_dir.vpk'))) then begin
Result := True;
end
else begin
MsgBox('Файлы не найдены! Дальнейшая установка невозможна!', mbError, MB_OK)
Result:=false
end;
end;
end;[/more]
Автор: Prostoi_Nik
Дата сообщения: 26.04.2014 10:34
Всем привет. Начал осваивать этот установщик.

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

И есть ли пример для отображения всплывающего сообщения/картинки при наведении на компонент установки?
Автор: Genricke
Дата сообщения: 28.04.2014 16:58
Привет всем !

Только начал работать с Inno Setup - не могу решить простую задачу.
Нужно подписать сертификатом через kSign файлы, которые будут добавлены в установочный комплект или хотя бы выполнить внешний bat файл до начала создания инсталлятора. Такое вообще возможно ?

P/S: Как подписать сам созданный комплект через SignTool я знаю.

Заранее спасибо !
Автор: dragon1000
Дата сообщения: 29.04.2014 18:56
Всем привет

Помогите включить отображение полосы прокрутки в ComponentsList

Вынес его в отдельное окно и после этого пропала полоса прокрутки.

Причем исчезает при использовании ISSkin.
Хотя если использовать скин в обычном установщике без переноса расположения компонент листа полоса прокрутки есть.

Сам скрипт:

http://rghost.ru/54731689


Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

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


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