Inno Setup. Сделайте за меня

  • Автор темы Автор темы LexBell
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
tr011tmn, команды препроцессора работают только при компиляции скрипта.
как-то так должно выглядеть.
[SOURCE="iss"]var
BackBtnCheck : Boolean;
.........................................

BackBtnCheck := FileExists(AvRes+'\backup.7z');
case BackBtnCheck of
true : MsgBox('Файл найден, install continues', mbInformation, MB_OK);
false : MsgBox('Файл не найден, install stops', mbCriticalError, MB_OK);
end;
BtnSetVisibility(Backbtn,BackBtnCheck);
BtnSetVisibility(UnBackbtn,not BackBtnCheck);[/SOURCE]

Спасибо большое за подсказку но не вышло, независимо от наличия файла высвечивает только кнопку UnBackbtn. Забавно мне удалось добиться видимости только кнопки Backbtn, вам UnBackbtn, но желаемого по очереди не получается :(

посетила мысль, а нельзя ли в case загнать BtnSetVisibility? ведь тогда проблема будет решена :-)
 
tr011tmn,
Код:
  .........................................
 
  if FileExists(AvRes+'\backup.7z') then
  begin
  BtnSetVisibility(Backbtn,True);
  BtnSetVisibility(UnBackbtn,False);
  MsgBox('Файл найден, install continues', mbInformation, MB_OK);
  end else begin 
  BtnSetVisibility(Backbtn,True);
  BtnSetVisibility(UnBackbtn,False);
  MsgBox('Файл не найден, install stops', mbCriticalError, MB_OK);
  end;
что мешает так сделать?
 
Последнее редактирование:
LexBell, sergey3695, спасибо за направление в верном русле, удалось реализовать желаемое благодаря вашим подсказкам, результатом стало:

Код:
var
BcbRes: String;
Result1: String;
.......................................
      // отработка кнопки бэкапа
      if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'reg_value','InstallLocation', BcbRes) then begin
        Result1:= BcbRes;
        end
        else
      if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'reg_value','InstallLocation', BcbRes) then begin
        Result1:= BcbRes;
        end
        else
      BcbRes:='path_to_install';
      if FileExists(BcbRes+'\backup.7z') then begin
        BtnSetVisibility(Backbtn,False);
        BtnSetVisibility(UnBackbtn,True);
        MsgBox('Файл найден, install continues', mbInformation, MB_OK);
      end else begin
        BtnSetVisibility(Backbtn,True);
        BtnSetVisibility(UnBackbtn,False);
        MsgBox('Файл не найден, install stops', mbCriticalError, MB_OK);
      end;
      //конец обработки бэкапа
 
товарищи, подскажите как убрать сию рамку???
нашёл что надо изменить WizardForm.BorderStyle:=bsSingle; на WizardForm.BorderStyle:=bsNone; но там нет ничего подобного.
скрипт от Krinkels Team.
 

Вложения

  • 02dc2bb09b4263f52b766880a85476c9.jpg
    02dc2bb09b4263f52b766880a85476c9.jpg
    124.9 KB · Просмотры: 74
Последнее редактирование:
Правка скрипта

Подскажите как сделать проверку на наличие определённых файлов в указанной дирректории и их удаление и/или переименование.
 
Последнее редактирование:
dotWizard,
begin
if FileExists(ExpandConstant('{app}\name.xxx')) then
begin
DeleteFile(ExpandConstant('{app}\name.xxx')) /// удаление
RenameFile(ExpandConstant('{app}\name.xxx'),ExpandConstant('{app}\name2.xxx')); /// переименование
end
end;
 
dotWizard
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Components]
Name: action; Description: Что делать с файлом; Flags: fixed; Types: full custom
Name: action\del; Description: Удалить файл; Flags: exclusive;
Name: action\ren; Description: переименовать файл; Flags: exclusive;

procedure InitializeWizard();
begin
WizardForm.TypesCombo.Hide;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpInstalling then
begin
if FileExists(ExpandConstant('{app}\multiset.ini')) then
If IsComponentSelected('action\del') then
DeleteFile(ExpandConstant('{app}\multiset.ini'));
if FileExists(ExpandConstant('{app}\multiset.ini')) then
If IsComponentSelected('action\ren') then
RenameFile(ExpandConstant('{app}\multiset.ini'), ExpandConstant('{app}\multiset.ini.bak'));
end;
end;
 
dotWizard, вместо DeleteFile используй функцию DelTree. В открытом компиляторе нажми F1, и забей DelTree в поиске в открывшейся справке. Там с примерами. Эта функция может удалять: только указанный файл, удаление всех файлов из указанной подпапки и удаление указанной папки со всем содержимым. примеры каждого варианта использования, приложены к описанию функции в справке. К инно вообще прилагается очень подробная справка.
 
Exe на Crack

Как должен выглядеть inno Setup код который после устанвки игры заменил оригинальный Exe файл на Crack.И чтобы етот Crack после распаковки ставился как патч и сам находил директорию где установлена игра и заменил оригинал exe на себя.И чтобы после распаковки файл Crack непрятался в своей папке а устанавливался "голый" поверху с заменой (Original Game Exe).
 
простая распаковка архива в папку с установленной игрой {app}

Добавлено через 41 секунду
любой скрипт скачай...

Добавлено через 1 минуту
Как должен выглядеть inno Setup код который после устанвки игры заменил оригинальный Exe файл на Crack.И чтобы етот Crack после распаковки ставился как патч и сам находил директорию где установлена игра и заменил оригинал exe на себя.И чтобы после распаковки файл Crack непрятался в своей папке а устанавливался "голый" поверху с заменой (Original Game Exe).

:o:o
 
NightTrap, ну это просто шедевр...:rolf:
-----
Извините за флуд, но это действительно классно так описывать простые вещи.
-----
оригинальный Exe файл на Crack
Заранее кинуть кряк взамен оригинального exe никак? ты же не собираешься делать выбор на установку кряка... если да,то пакуем файлы для кряка в отдельный архив и распаковываем в папку с игрой (в нужную директорию),а оригинальный exe в другом архиве скажем. Тут уже в зависимости от выбранного.
 
Последнее редактирование:
Подскажите пожалуйста, как можно сделать кнопку запуска/паузы музыки через Басс на этой панели
 
Дамир, просто так не сделать. но можно:
1. использовать скин (тогда можно будет сделать одну из трех кнопок нужной при условии если максимизация ненужна)
(просто используя скин можно будет заменить картинку через SkinBuilder). но надо будет нарисовать кнопку. (но картинка при проигрывании и паузе не будет меняться)
2. использовать классический стиль установщика (как у win xp) тогда можно будет отрисовать как-то дополнительную кнопку. но это геморойно.
3. не загонятся. поставить bsNone и с помощью ботвы все сделать (чтобы кнопки с наложением картинки) или самому просто кнопки разместить.
// лучше 3 пункт.
 
sergey3695, неа, не получается, код диабло разбирал так до конца и не разобрал, слишком навороченный. Нашел еще подобное в скрипте Xenius 2 но там так же, все в одной куче. Не поможешь написать простой инсталлятор(созданный через мастер Inno Setup) только с использованием Басс и ботвы с кнопкой пуск/пауза, как вот тут
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху