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

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

Автор: Krinkels
Дата сообщения: 23.05.2011 12:18
NumberI

Цитата:
как задать несколько условий в Чеке

Читай справку, там все есть.


Цитата:
что такое can_cont() ??? нигде в инете нет ответа

И не найдешь. Это самописная функция. В том куске скрипта что ты выложил ее нету. Либо скрипт скопируй полностью, либо удали из скрипта такой кусок: Check: Can_cont()
Автор: NumberI
Дата сообщения: 23.05.2011 12:33
добавил код, я не видел в справке в чеке несколько условий, а те варианты что нашел в интернете не подошли

или имеешь ввиду чек в коде? а не в ране?

вот так пробовал, ничего не подошло:
check: can_cont() and iswin64
check: (can_cont() and iswin64)
check: (can_cont()) and (iswin64)
check: ((can_cont()) and (iswin64))
Автор: vovka00723
Дата сообщения: 23.05.2011 12:39
NumberI
должно работать и без всяких скобок
все значения должны быть типа boolean
Автор: CAHEK77
Дата сообщения: 23.05.2011 13:21
Gnom3,спс инстал какой то "кривой"
Автор: Gnom3
Дата сообщения: 23.05.2011 13:40
Sergey_Demchuk
Вот накидал для твоего случая, должно сработать:
[more=Код][Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Components]
;Check: c; -компоненты будут показаны только если программа установлена.
Name: news; Description: Обновить; Check: c;
Name: dels; Description: Удалить; Check: c;

[Code]
function c: Boolean;
begin
//проверяем наличие программы
if RegValueExists(HKLM, 'ключ', 'значение') then // ищем в реестре наличие программы
//проверяем наличие компонента
if FileExists('характерный для компонента файл в папке с программой') then Result:=True;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then //перед установкой
//function IsComponentSelected(const Components: String): Boolean;
if IsComponentSelected('dels') then begin //если выбран компонент dels

// function DeleteFile(const FileName: string): Boolean;
DeleteFile('файл1 который нужно удалить, прописывать нужно кождый файл отдельно')
DeleteFile('файл2 который нужно удалить, прописывать нужно кождый файл отдельно')
DeleteFile('файл3 который нужно удалить, прописывать нужно кождый файл отдельно')
end;
// если есть еще какойто код в процедуре CurStepChanged, то писать его здесь
end;
[/more]

CAHEK77, не любо, как говорится, не кушай, добивать его не стал, поскольку другая мысль пришла в голову и вертикальная панель стала неактуальной, выдрать ее - несложно.
Цитата:
инстал какой то "кривой"

Никто не мешает тебе прямой написать.
Автор: NumberI
Дата сообщения: 23.05.2011 15:01
а почему не срабатывает winvnc -install ???
и все-таки что такое conCont ?
Автор: SotM
Дата сообщения: 23.05.2011 15:25

Цитата:
почему не срабатывает winvnc -install

А этот форум то тут причём?! Тут не обсуждают вопросы почему какой-то там winvnc не устанавливается.


Цитата:
и все-таки что такое conCont

Ну скорей всего это какая-то переменная, которая отсутствует у тебя в скрипте.
Автор: moonlight82
Дата сообщения: 23.05.2011 16:11
Ребят, как на OnClick:= повесить две процедуры?
OnClick:= @IconsOnClick and GroupOnClickIcon; не идет
Автор: NumberI
Дата сообщения: 23.05.2011 16:37

Цитата:
Цитата:
почему не срабатывает winvnc -install

А этот форум то тут причём?! Тут не обсуждают вопросы почему какой-то там winvnc не устанавливается.


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



Цитата:
Цитата:
и все-таки что такое conCont

Ну скорей всего это какая-то переменная, которая отсутствует у тебя в скрипте.



вот все что написано в коде, затем она чекается по всему скрипту:
function Can_cont(): Boolean;
begin
if ConCont <> 5 then
Result := false;
if ConCont = 5 then
Result := true;
end;
Автор: troyan90
Дата сообщения: 23.05.2011 20:31
moonlight82
никак. объедини процедуры
Автор: aklak
Дата сообщения: 23.05.2011 21:33
А кто-то делал инсталятор уникальной формы, т.е. не квадратной или прямоугольной, а например с вырезанной картинкой, наложенную на какую-то плоскость и выступающую из нее с боку?
З.Ы: Просто это сложно объяснить на словах, надеюсь меня правильно поняли)
Автор: Edison007007
Дата сообщения: 23.05.2011 21:48
aklak
Я делал, и что?
Автор: aklak
Дата сообщения: 23.05.2011 21:56
Edison007007
Можешь поделиться скриптом, пожалуйста?
Автор: Gnom3
Дата сообщения: 23.05.2011 22:05
aklak
В шапке скритпы StarCraft 2 от htuos и Two Worlds II+ISDone (0.5i) от Kosako то, что тебе нужно.
Автор: aklak
Дата сообщения: 23.05.2011 22:13
Gnom3
Спасибо, попробую разобраться)
Автор: Despofix
Дата сообщения: 24.05.2011 09:45
беру функцию:

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data 1.bin'), ExpandConstant('{app}\data'), '', false, 'pasword', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;


вместо в pasword ввожу пароль, при упаковке архива тоже ставлю пароль, но при запуске инсталятатора при этапе распаковки выдает ошибку, что не так?
Автор: Shady_Lancer
Дата сообщения: 24.05.2011 15:12
Скажите как сделать установку только для текущего пользователя?
Автор: SotM
Дата сообщения: 24.05.2011 15:44
Shady_Lancer
А ты примеры смотрел? Там вроде как явно показано.
Автор: 6PuJIJIuaHT
Дата сообщения: 24.05.2011 18:16
Despofix
В пятом isdone по моему косяк с паролями. Если не прав поправьте.
Автор: hataq
Дата сообщения: 24.05.2011 19:49
подскажите почему может быть такое, после установки игры (репака) появляется запрос о перезагрузке, в [setup]
прописано
AlwaysRestart=no
но однако оно все равно появляется... в первый раз такое не знаю в чем дело... может что то в скрипте фриарка пропсиано? типа при извлечении большого объема, перезагрузка компа обязательна, типа для очистки памяти?!О_о
Автор: SotM
Дата сообщения: 24.05.2011 19:50
hataq
А ты еще что-то ставишь кроме самой игры?
Автор: hataq
Дата сообщения: 24.05.2011 19:52
SotM
софт, но он ведь не зависим к инсталлятору?!
отдельно все идет, а перезагрузку предлогает именно основной сетапник
---------
очень странно... видать дело и правда в софте... без него перезагрузку не просит, если установить с софтом то предлогает... как лечить кто поможет?
Автор: SotM
Дата сообщения: 24.05.2011 20:19

Цитата:
если установить с софтом

Дык, телепаты в отпуске. Ты не сказал - какой софт и как ставится.
Автор: hataq
Дата сообщения: 24.05.2011 20:29
SotM
ну так через РАН все по деревенски))

Код: Filename: {src}\DirectX\DXSETUP.exe; WorkingDir: {src}\DirectX; StatusMsg: Идет установка DirectX; Tasks: DirectX; Flags: waituntilterminated
Filename: {src}\Redist\vcredist_x86.exe; WorkingDir: {src}\Redist; StatusMsg: Идет установка Microsoft Visual C++; Tasks: VCRedist; Check: not IsWin64; Flags: waituntilterminated
Filename: {src}\Redist\vcredist_x64.exe; WorkingDir: {src}\Redist; StatusMsg: Идет установка Microsoft Visual C++; Tasks: VCRedist; Check: IsWin64; Flags: waituntilterminated
Filename: {src}\GFWL\gfwlivesetup.exe; WorkingDir: {src}\GFWL; StatusMsg: Идет установка Game for Windows Life; Tasks: GamesforWindowsLife; Flags: waituntilterminated
Filename: {src}\OpenAL\OpenALwEAX.exe; WorkingDir: {src}\OpenAL; StatusMsg: Идет установка OpenAL; Tasks: OpenAL; Flags: waituntilterminated
Filename: {src}\Rapture3D\rapture3d.exe; WorkingDir: {src}\Rapture3D; StatusMsg: Идет установка Rapture3D; Tasks: Rapture3D; Flags: waituntilterminated
Автор: moonlight82
Дата сообщения: 24.05.2011 21:10
[more]procedure IconsOnClick(Sender: TObject);
begin
if Icons.Checked = False then
Icons.Checked:= True else
Icons.Checked:= False;
end;

procedure StartMenuIconOnClick(Sender: TObject);
begin
if Group.Checked = False then
Group.Checked:= True else
Group.Checked:= False;
end;

procedure GroupOnClickIcon(Sender: TObject);
begin
if Group.Checked = False and Icons.Checked = False then
begin
WelcomeOption3.Caption:='Ярлыки не будут созданы...';
end;
if Group.Checked = True and Icons.Checked = False then
begin
WelcomeOption3.Caption:='Будут созданы ярлыки в меню «Пуск»...';
end;
if Group.Checked = False and Icons.Checked = True then
begin
WelcomeOption3.Caption:='Будут создан ярлык на рабочем столе...';
end;
if Group.Checked and Icons.Checked = True then
begin
WelcomeOption3.Caption:='Будут созданы ярлыки в меню «Пуск» и на рабочем столе...';
end;
end;

lblIcons:= TLabel.Create(WizardForm);
with lblIcons do
begin
Caption:= ExpandConstant('{cm:icons}');
Transparent := True;
Font.Name:='Arial';
Font.Size:= 8;
Font.Color:=$FFFFFF;
OnClick:= @IconsOnClick;
Parent:= WizardForm.WelcomePage;
end;

Icons:= TCheckBox.Create(WizardForm);
with Icons do
begin
Parent:= WizardForm.WelcomePage;
Checked:= True;
OnClick:= @GroupOnClickIcon;
end;


Group:= TCheckBox.Create(WizardForm);
with Group do
begin
Parent:= WizardForm.WelcomePage;
Checked:= True;
OnClick:= @GroupOnClickIcon;
end;

lblGroup:= TLabel.Create(WizardForm);
with lblGroup do
begin
Caption:= ExpandConstant('{cm:group}');
Transparent := True;
Font.Name:='Arial';
Font.Size:= 8;
Font.Color:=$FFFFFF;
Parent:= WizardForm.WelcomePage;
OnClick:= @StartMenuIconOnClick;
end;
[/more]
Если "выключить" оба чекбокса в инсталле то появляется такой текст "Будут создан ярлык на рабочем столе..."
А нужен "Ярлыки не будут созданы..."
Подскажите в чем проблема и как ее решить....
Автор: hataq
Дата сообщения: 24.05.2011 21:12
moonlight82
тебе просто текст изменить? или назначение чекбокса? подробнее...
Автор: nik1967
Дата сообщения: 24.05.2011 21:21
moonlight82
Инсталлом от Каталистов заморачиваешься?
Автор: 6PuJIJIuaHT
Дата сообщения: 24.05.2011 21:24
hataq
Пробуй, подходит под любой софт:

[Setup]
RestartIfNeededByRun=no
Автор: hataq
Дата сообщения: 24.05.2011 21:30
6PuJIJIuaHT
спасибо, через 10 минут скажу результат!
nik1967
да ладно не жмись, дай ему ваш скрипт))
ПС прива)
Автор: moonlight82
Дата сообщения: 24.05.2011 21:39
nik1967
Пишу аналог...
hataq
Мне не нужен скрипт, просто нужна помощь, не хватает опыта.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


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