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

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

Автор: Nightmareterrible
Дата сообщения: 15.01.2014 07:48
307cwam
1) Инсталляция:
MyInstaller2.exe /S
В инсталляторе прописать:
[SETUP]
UninstallFilesDir={app}\{#MyFolder2}

2) Деинсталляция программы 1:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ErrorCode: Integer;
begin
case CurUninstallStep of
usUninstall: //Uninstall is about to start
begin
ShellExec('',ExpandConstant'{app}\{#MyFolder2}\unins000.exe /S'),'', '', SW_SHOW, ewNoWait, ErrorCode);
end;
end;
end;
Автор: 307cwam
Дата сообщения: 15.01.2014 08:08
Когда время будет проверю.
Nightmareterrible, Спасибо за ответ.
Автор: AlekseyPopovv
Дата сообщения: 19.01.2014 07:08
vint56
Как сделать "Лицензию" что бы она не была в одной паре с "Языком" и как сделать что бы при выборе установки последние 3 лицензии были не доступны, а при выборе распаковки первые 3 были не доступны?
Автор: MOD_TEC
Дата сообщения: 19.01.2014 08:05
Как через ботву наложить Edit чтобы можно было выделять покажите пожалуйста пример
Автор: brduakh
Дата сообщения: 19.01.2014 11:31
вот хорошая программа для добавления различных функций, работы с реестром и другим: https://www.kymoto.org/products/inno-script-studio/downloads
Автор: AlekseyPopovv
Дата сообщения: 20.01.2014 10:22
Всё, разобрался. Вопрос снят.
Автор: Mooriarty
Дата сообщения: 20.01.2014 20:27
Здравствуйте. Подскажите есть ли возможность разобрать инсталлятор так, чтобы выдернуть секцию [code] ? Вроде таких программ не увидел тут.
Автор: Re0g
Дата сообщения: 20.01.2014 22:05
Спасибо за ответы.
Есть вопросы:
1. Можно ли перемещасть "Checkbox" на странице "SelectTasksPage", если можно, то как?
2. Как отобразить страницу "SelectTasksPage", если секция [Tasks] отсутствует?
Автор: Joker0701
Дата сообщения: 21.01.2014 06:03
[more] [more] Добрый день. Есть вот такой код:

function NextButtonClick(pg: Integer): Boolean;
var
Page: TInputQueryWizardPage;
UserName, UserCompany: String;
begin
result:=true;
if pg=wpSelectComponents then
begin
Page := CreateInputQueryPage(wpSelectComponents,
'Личная информация', 'Кто вы?',
'Пожалуйста, укажите ваше имя и компанию, в которой вы работаете, а затем нажмите Далее.');
Page.Add('Name:', False);
Page.Add('Company:', False);
Page.Values[0] := ExpandConstant('{sysuserinfoname}');
Page.Values[1] := ExpandConstant('{sysuserinfoorg}');
UserName := Page.Values[0];
UserCompany := Page.Values[1];
SaveStringToFile(ExpandConstant('{src}')+'\filename.txt',UserName+#13#10, True);
SaveStringToFile(ExpandConstant('{src}')+'\filename.txt',UserCompany+#13#10, True);
end;
end;

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

Покажите где я затупил. И поправьте. [/more] [/more]

Добавлено:
Разобрался
Автор: andrey167
Дата сообщения: 21.01.2014 15:59
Здравствуйте создал скрипт так вот хотелось бы создать проверку Md5 на подобии как у каталистов но по примерам нашедшим в инете не понятно может кто поможет
Автор: Tapas77789
Дата сообщения: 21.01.2014 22:14
andrey167
РАБОТА С Md5
Автор: andrey167
Дата сообщения: 22.01.2014 06:38

Цитата:
Tapas77789
пробывал данный код но проверка не происходит
Автор: nik1967
Дата сообщения: 22.01.2014 07:25

Цитата:
пробывал данный код но проверка не происходит

Значит плохо пробовал. Этот пример я писал основываясь на нашем инсталле.
Автор: andrey167
Дата сообщения: 22.01.2014 08:17

Цитата:
nik1967
можешь помочь вставить в мой скрипт?http://rghost.ru/51835827
Автор: aibek1996
Дата сообщения: 22.01.2014 15:08
Здравствуйте.
Дайте пример инсталала с такой формой http://fotohost.kz/images/2014/01/22/GvOuR.png
Автор: andrey167
Дата сообщения: 22.01.2014 15:50

aibek1996
работай с боотвой там легко и все понятно вобшем по примерам поймешь
Автор: MOD_TEC
Дата сообщения: 22.01.2014 16:01
Как в исдоне отменить распаковку архивов стандартной кнопкой отмены. Чтобы на ssInstall и ssPostInstall отрубаласъ распаковка. Покажите пример зарание спасибо.
Автор: aibek1996
Дата сообщения: 23.01.2014 08:55
Здравствуйте.
Как добавить WinTB в инстал с такой формой http://fotohost.kz/images/2014/01/22/GvOuR.png
Автор: log1stable
Дата сообщения: 25.01.2014 17:38
MOD_TEC, привязать кнопке SuspendProc;ISDoneError:=True;ResumeProc;
Автор: brduakh
Дата сообщения: 25.01.2014 17:41
интересует секция серийного номера, желательно еще бы с проверкой на http сервере, через файл txt который там будет расположен, спасибо!
Автор: AlekseyPopovv
Дата сообщения: 26.01.2014 11:45
При установке программы в файл hosts дописывается строка:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10' 127.0.0.1 www.example.com', True);
end;
end;
Как при деинсталяции удалить именно эту строку из файла hosts?
Автор: tryroom
Дата сообщения: 26.01.2014 12:02
AlekseyPopovv

[/code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
HostFile: TStringList;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
if IndexOf('127.0.0.1 www.example.com') <> -1 then Delete(IndexOf('127.0.0.1 www.example.com'));
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;
Автор: AlekseyPopovv
Дата сообщения: 26.01.2014 12:52
tryroom
При удалении вот такая ошибка:
[more] [/more]
Автор: tryroom
Дата сообщения: 26.01.2014 13:12
AlekseyPopovv

Ищите у себя проблему. Код рабочий, компилировал и на unicode и на ansi версии.
Возможно антивирус блокирует изменение файла.
Автор: Hell_Dog2011
Дата сообщения: 26.01.2014 14:00
вообщем прикомпеляции просисходит ошибка вот скрипт http://rghost.ru/51937375
Автор: vint56
Дата сообщения: 26.01.2014 14:51
Hell_Dog2011Hell_Dog2011 16:00 26-01-2014
Цитата:
вообщем прикомпеляции просисходит ошибка вот скрипт http://rghost.ru/51937375

Скрипт написан для ansi версий на uinocode ошибка вот это добпаь и будет для unicode либо переустанови компилятор

function NumToStr(Float: Extended): string;
begin
Result:=Format('%.2n', [Float]);
StringChange(Result, ',', '.');
while ((Result[Length(Result)]='0') or (Result[Length(Result)]='.')) and (Pos('.',Result)>0) do SetLength(Result,Length(Result)-1);
end;

function MbOrTB(Float: Extended): string;
begin
if Float<1024 then Result:=NumToStr(Float)+' Мб'
else if (Float/1024)<1024 then Result:=NumToStr(Float/1024)+' Гб'
else if (Float/(1024*1024))<1024 then Result:=NumToStr(Float/(1024*1024))+' Тб'
end;

Лутшее установи Ansi версию на unicode артефакты на кнопках
Автор: AlekseyPopovv
Дата сообщения: 26.01.2014 14:57
vint56
Помоги удалить строку из файла hosts. Как советует tryroom не получается.
Автор: vint56
Дата сообщения: 26.01.2014 15:03
AlekseyPopovv
procedure DeinitializeUninstall();
var
HostFile: TStringList;
Index: Integer;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
Find('127.0.0.1 localhost', Index);
Delete(Index);
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;
Автор: AlekseyPopovv
Дата сообщения: 26.01.2014 15:46
vint56
Вылазит ошибка в конце удаления проги. Изменил вот эту строчку:
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
на
SaveToFile(ExpandConstant('D:\hosts'));
ошибка исчезла, файл сохраняет в указанном месте, но строку из файла не удаляет.
Почему возникает ошибка при сохранении файла hosts по пути {sys}\drivers\etc\hosts и как всё таки удалить строку из файла hosts? Быть может только у меня такое?
Автор: vint56
Дата сообщения: 26.01.2014 16:08
AlekseyPopovv удаления они оба работают '127.0.0.1 www.example.com' и при удалений должнобыть так если будет пробел он конечно его не найдет
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10' 127.0.0.1 www.example.com', True); твой пример
if IndexOf('127.0.0.1 www.example.com') <> -1 then Delete(IndexOf('127.0.0.1 www.example.com')); что дали там есть пробелы 1 www он в хосте не находит ну если не может сохранять значит что с доступом у тебя

[more=проверил у себя оба примера работают]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
SaveStringToFile(ExpandConstant('{sys}')+'\drivers\etc\hosts', #13#10'127.0.0.1 www.example.com', True);
end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
HostFile: TStringList;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
if IndexOf('127.0.0.1 www.example.com') <> -1 then Delete(IndexOf('127.0.0.1 www.example.com'));
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;

procedure DeinitializeUninstall();
var
HostFile: TStringList;
Index: Integer;
begin
HostFile := TStringList.Create;
try
with HostFile do
begin
LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
Find('127.0.0.1 www.example.com', Index);
Delete(Index);
SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
end;
finally
HostFile.free;
end;
end;[/more]

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

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


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