• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
96 гостей, 3 пользователей

  • InnoSetup Ultra 5 0 5 1
avatar_WYLEK

InnoSetup Ultra

Автор WYLEK, 01 мая 2011, 19:39:00

« предыдущая - следующая »

Gnom

Ответ #45 : 23 февраля 2012, 11:24:00 #45
Цитата: WYLEKподсказка вот
Ага, поправил. это косяк форумного тега, бывает такое. Заодно поправил, чтоб и под юникодом работало.

Xotabush

Ответ #46 : 04 мая 2012, 14:54:00 #46
Всем привет!,Вопрос есть возможность в программе поменять значок инсталлятора.

Добавлено (04.05.2012, 12:54:25)
---------------------------------------------
Всем привет,чет у нас тишина.
Сегодня столкнулся с проблемой
Извините, вам запрещён просмотр содержимого спойлеров.

У кого какие мысли,дело происходит при компиляции.
Но вопрос о том как заменить значок инсталлятора остается  

Krig

Ответ #47 : 04 мая 2012, 17:05:00 #47
Цитата: XotabushСегодня столкнулся с проблемой[/b]

Там же в сообщении написано в чем проблема: Требуемая функция или процедура "ShowSelectUserTask" не найдена.
Это означает, что функция или процедура "ShowSelectUserTask", которую использует твой скрипт, не найдена. Возможная причина: или не установлен плагин, откуда идет её вызов, или в скрипте не сделано её объявление, или ещё чего. Что-то конкретно тяжело сказать.

Xotabush

Ответ #48 : 04 мая 2012, 22:09:00 #48
Цитата: KrigВ разделе скрипта  [Setup]напиши параметр SetupIconFile, а его значением укажи полный путь к своему значку. При сборке инсталлятора будет использован значок, который ты указал. Например: SetupIconFile=F:TMPCSvalve.ico.
С этим разобрался,все получилось.

Gnom

Ответ #49 : 05 мая 2012, 11:19:00 #49
Цитата: XotabushУ кого какие мысли,дело происходит при компиляции.
нет функции или процедуры, на которую опирается Check. скрин смазанный, да и без скрипта сложно точно сказать.

Xotabush

Ответ #50 : 05 мая 2012, 18:08:00 #50
Если это поможет решить проблему

Извините, вам запрещён просмотр содержимого спойлеров.

Gnom

Ответ #51 : 05 мая 2012, 18:42:00 #51
Это помогло решить проблему
 Собственно, это скрипт полученный анпакером. соответственно, нет оригинальной секции кода, вот и ошибка - нет фукции или процедуры CheckInstallFor (она была как раз в секции кода) тоесть, нужно логически решить, что эта функция должна была делать, и согласно полученной логике ее воспроизвести. либо убрать проверки Check вообще и боротся с полученными в результати глюками (что не факт, может и прокатить, но все равно, раз была проверка, значит она нужна)

Xotabush

Ответ #52 : 05 мая 2012, 20:52:00 #52
Спасибо за совет, буду разбираться

Leserg

Ответ #53 : 01 июля 2012, 23:10:00 #53
Всем привет!

Захотелось мне как-то собрать к одной программе инсталлятор с помощью программы Inno Setup. Как известно, этот установщик выпускается в двух редакциях: ANSI и Unicode. В отличии от ANSI, редакция Unicode позволяет создать инсталляторы, язык интерфейса которых будет всегда верно отображаться на системе пользователя, независимо от региональных установок. Исходя из соображений того, что система у меня дойч, а проверять и отлаживать работу установщика как-то необходимо, то я выбрал Unicode версию программы и приступил к работе. С помощью простенького мастера создания инсталляторов, который идет вместе с программой, можно быстро собрать простейший установщик. Но мне этого оказалось недостаточно. Необходимо было решать дополнительные задачи в процессе установки ПО, плюс хотелось наделить сам инсталлятор некоторыми особенностями, например отображения дополнительного кликабельного текста. С помощью описанных здесь примеров, а также примеров собранных на просторах сети Интернет, удалось решить все задачи, которые я для себя по-напридумывал.

Но вот при отладке инсталляторе я столкнулся с неприятным сюрпризом. Те из вас, кто пользуется ANSI версией Inno Setup, далее могут не читать, т.к. эта информация касается только особенностей Unicode версии.


Извините, вам запрещён просмотр содержимого спойлеров.
Кто ищет, тот всегда найдет!

gazon01

Ответ #54 : 02 июля 2012, 08:26:00 #54
Цитата: LesergТут же, как говорится, не отходя от кассы, набросал небольшую утилиту,
а мог бы и ссылкой поделиться
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла

Gnom

Ответ #55 : 02 июля 2012, 10:25:00 #55
Цитата: gazon01Пользоваться функцией мне не позволил мой уровень знаний Inno Setup
Вносим хекстекст в текстовый файл, добавляем в файлы, распаковываем в нужный момент.
далее просто

procedure InitializeWizard();
var
    s : AnsiString;
    i : Integer;
begin
   ExtractTemporaryFile('hex.txt');
    LoadStringFromFile(ExpandConstant('{tmp}hex.txt'), s);
    for i := 0 to 1 do
    begin
      with TLabel.Create(WizardForm) do
      begin
        Transparent := True;
        Parent := WizardForm;
        case i of
          0:begin
              AutoSize := False;
              Align := alClient;
            end;
          1:begin
              Caption := s;
              SetBounds(ScaleX(45), ScaleX(330), ScaleX(80), ScaleX(13));
              onclick := @Click;
              onmousedown := @MouseDown;
              onmouseup := @MouseUp;
              onmousemove := @MouseMove;
            end;
        end;
      end;
    end;
end;
Лейбелы сделал неименованными, поскольку там не производится над ними никаких операций, плюс в цикле, для сокращения размера кода

Leserg

Ответ #56 : 02 июля 2012, 22:24:00 #56
Цитата: gazon01Можно и исходничком...(в личку)
Если интересно, то отправил через ЛС. Правда сильно не пинай, это моя первая программа на С#, хоть и сделана по Войдите на сайт для перехода по ссылке, но адаптирована мною для решения поставленной задачи (может где и начудил). Написана в Microsoft Visual Studio 2010.

Цитата: GnomВносим хекстекст в текстовый файл, добавляем в файлы, распаковываем в нужный момент.
Спасибо за пример. Но я пока не могу понять, как работать с несколькими строками. К примеру, будет 50 - 100 строк. Как считывать нужную строку и вставлять в нужное место, будь-то диалог или сообщение? Пронумеровывать их что-ли, типа: 1. Первая строка. 2. Вторая строка. и .т.д... N. строка. Или для каждой строки делать отдельный файл. В общем, этот вопрос для меня пока очень смутный. На данном этапе мне проще всего записать хекстекст прямо в сценарии.
Кто ищет, тот всегда найдет!

Gnom

Ответ #57 : 04 октября 2012, 15:48:00 #57
заодно добавлю вот такую фишку в поправленом мелоч,но все-дже

Leserg

Ответ #58 : 04 октября 2012, 22:47:00 #58
Слушай Gnom, обнови в своей сборке плагин Войдите на сайт для перехода по ссылке. Точнее сказать версия осталась та же, но человек её модифицировал, сделал версии ANSI и Unicode (вторая ссылка рабочая). А то у тебя в обеих версиях лежит версия ANSI, которая с Unicodе не дружит.

 Еще у меня непонятка одна возникла. Не пойму я по какому принципу объединять несколько сценариев в один, когда получается несколько одинаковых процедур и функций (function InitializeSetup(), procedure InitializeWizard(), procedure DeinitializeSetup() и т.д.). Есть какие-то алгоритмы или правила?
 По отдельности компилируешь - работает. А копируешь все в один сценарий - не работает.
Кто ищет, тот всегда найдет!

Gnom

Ответ #59 : 05 октября 2012, 08:27:00 #59
isgsg.dll работает и в анси и в юникоде. Просто в ее вызове нужно сменить единственный параметр string на ansistring и все. и никаких доработок не требуется, тем более со стороны.(лично я доверяю только авторским исправлениям, за ооочень редким исключением)
А объединение скриптов - это целое дело, но многие через него проходят. смысл такой, что все повторяющиеся функции нужно переименовать и вызвать в одной общей функции.
Напимер, есть несколько процедур InitializeWizard - в одной мы цепляем музыку, в другой - оформление, в третьей еще чего-нибудь. делаем так :

procedure Musick();
begin
.........
end;
procedure Redezign();
begin
.........
end;
procedure Picture();
begin
.........
end;
procedure InitializeWizard();
begin
    Redezign;
    Picture;
    Musick;
end;
с функциями несколько сложнее, поскольку они должны чего-нибудь возвращать.

тут можно строить цепочки или поступить так-же, как с процедурами, но лучше переносить содержимое в одну - тут общего совета дать уже не могу, поскольку ситуация не так ясна, как с процедурами, и в каждом отдельном случае нужно уже смотреть.

* Ваши права на сайте

    TinyPortal

  • Вы не можете создавать статьи.
  • Вы не можете изменять свои статьи.
  • Вы не можете писать комментарии.
  • Вы не можете управлять статьями.
  • Вы не можете загружать файлы в TPdownloads.
  • Вы не можете управлять TPlistimages.

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика