Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 3]

Ветеран


Сообщения: 1133
Благодарности: 581


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Не могу вкурить, как сделать на панели секции [Tasks] элемент так, чтобы галка стояла и нельзя было снять.

Затык - я не могу подобрать названия элементов, для секции компонентов я делаю так
WizardForm.ComponentsList.ItemEnabled [WizardForm.ComponentsList.Items.IndexOf (ExpandConstant ('{cm:abcd}'))] := False;
по названию компонента находится он сам и отключается.

А для секции [Tasks] как сделать искомое (чтобы галка на задаче стояла и не снималась)???
Спасибо!

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 15:55, 18-03-2011 | #1091



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата 0.07:
как исправить эту ошибку? подскажите плз »
Увеличить объём диска или купить новый винчестер... именно об этом говорит ваша ошибка...
Ну а если серьёзно, то нужно просто добавить завершающий знак ';' в самый конец 358 строки.

Цитата R.i.m.s.k.y.:
чтобы галка на задаче стояла и не снималась »
Всё очень просто, нужно просто перехватить нажатие на нужный элемент, т.е.:
Пример

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Tasks]
Name: desktopicon; Description: Create a &desktop icon; GroupDescription: Additional icons:
Name: desktopicon\common; Description: For all users; GroupDescription: Additional icons:; Flags: exclusive
Name: desktopicon\user; Description: For the current user only; GroupDescription: Additional icons:; Flags: exclusive unchecked
Name: quicklaunchicon; Description: Create a &Quick Launch icon; GroupDescription: Additional icons:; Flags: unchecked
Name: associate; Description: &Associate files; GroupDescription: Other tasks:

[Code]
procedure TasksListClickCheck(Sender: TObject);
var
  Item: Integer;
begin
  Item := WizardForm.TasksList.Items.IndexOf('&Associate files');
  if WizardForm.TasksList.ItemIndex = Item then
    WizardForm.TasksList.Checked[item] := True;
end;

procedure InitializeWizard();
begin
  WizardForm.TasksList.OnClickCheck := @TasksListClickCheck;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:58, 18-03-2011 | #1092


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


у меня выдает такую ошибку:" Disk spanning must be enabled in order to create an installation larger than 2100000000 bytes in size."
я так понимаю это означает, что запрещено использовать в инсталляторе файлы больше, чем 2Гб.
как можно это исправить?

Отправлено: 20:42, 18-03-2011 | #1093


Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


0.07, пользуйся гуглом, это означает, что нельзя делить инсталл на части больше двух гигабайт. Пропиши в секцию [Setup]
Код: Выделить весь код
DiskSpanning=true
DiskSliceSize=1566000000

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:41, 18-03-2011 | #1094


Пользователь


Сообщения: 81
Благодарности: 4

Профиль | Отправить PM | Цитировать


Народ подскажите пожалуйста можно ли сделать так чтобы inno setup создавала только .exe файлы без .bin файлов, ну и конечно же чтобы все файлы включённые были в этом .exe. А то хотел сделать маленький инсталятор, одним файлом, но не знаю как, а несколько файлов не удобно заливать
Выручите плиз!!!!!!!!!!




------------
Хорошая игр - это русифицированная игра!!!

-------
Если вам понравился мой совет, то нажмите "Полезное сообщение" :)


Отправлено: 09:30, 21-03-2011 | #1095


Аватара для Habetdin


Автор проектов


Сообщения: 3649
Благодарности: 1498

Профиль | Сайт | Отправить PM | Цитировать


actavir, "поиск по теме рулит "
Код: Выделить весь код
[Setup]
DiskSpanning=false

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:15, 21-03-2011 | #1096


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вопрос следующий:
Как в скрипте вызвать функцию из WinAPI? Функция GetFileVersionInfo.
Знаю, что в Делфях это делается через подключения в uses модуля Windows.
Как это сделать в InnoSetup???

Отправлено: 11:48, 21-03-2011 | #1097


Аватара для Krinkels

Пользователь


Сообщения: 90
Благодарности: 22

Профиль | Отправить PM | Цитировать


ryabis
А в инно просто вызываешь данную функцию из длл. Примерно так:
function GetFileVersionInfo(lptstrFilename: PAnsiChar; dwHandle, dwLen: DWORD; lpData: Pointer): BOOL; external 'GetFileVersionInfoA@version stdcall delayload'

-------
Рок моя честь, а моя честь моя жизнь. krinkels.org


Отправлено: 12:56, 21-03-2011 | #1098


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Krinkels, бьюсь уже весь день... Как мне в Inno объявить функцию VerQueryValue и системную ф-ю AllocMem

Код: Выделить весь код
function AllocMem( Size: Cardinal ): Poiner;
Код: Выделить весь код
BOOL WINAPI VerQueryValue(
  __in   LPCVOID pBlock,
  __in   LPCTSTR lpSubBlock,
  __out  LPVOID *lplpBuffer,
  __out  PUINT puLen
);
C остальным, вроде, разобрался. )))

Отправлено: 14:46, 21-03-2011 | #1099


Аватара для Krinkels

Пользователь


Сообщения: 90
Благодарности: 22

Профиль | Отправить PM | Цитировать


ryabis
Код: Выделить весь код
function VerQueryValue(pBlock: Pointer; lpSubBlock: PAnsiChar; var lplpBuffer: Pointer; var puLen: UINT): BOOL; external 'VerQueryValueA@version stdcall delayload'
А первую наверное придется в ручную писать, кусок из дельфи:
Код: Выделить весь код
function AllocMem(Size: Cardinal): Pointer;
begin
  GetMem(Result, Size);
  FillChar(Result^, Size, 0);
end;

-------
Рок моя честь, а моя честь моя жизнь. krinkels.org


Отправлено: 19:17, 21-03-2011 | #1100



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 3]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход