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

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

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

Ветеран


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


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

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


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


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

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

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

  • 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.3 [11.09.2009] - Скачать;


Ссылка на архив предыдущей темы (также можно скачать из вложения)

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


Отправлено: 22:06, 23-08-2009

 

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


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

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


S.E.K.T.O.R. Спасибо з помощь

Отправлено: 09:12, 27-09-2009 | #171



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

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


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


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

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


Подскажите пожалуйста.
Имеется код
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Languages]
Name: "Russian"; MessagesFile: "compiler:Languages\Russian.isl"
 
[CustomMessages]
Russian.NeedTmpSpaceMsg=Для работы инсталлятора недостаточно свободного места на системном диске. %nТребуется не менее %1 Мб. %nДоступно %2 Мб.
 
[_code]
function InitializeSetup(): Boolean;
var
  TmpDirFreeMB, TmpDirTotalMB, TmpDirNeedMB: Cardinal;
 
begin
  TmpDirNeedMB:= 5000000; // сколько МЬ требуется
    Result := True;
  GetSpaceOnDisk(ExpandConstant('{tmp}'), True, TmpDirFreeMB, TmpDirTotalMB);
  if TmpDirFreeMB < TmpDirNeedMB then begin MsgBox(FmtMessage(ExpandConstant('{cm:NeedTmpSpaceMsg}'), [inttostr(TmpDirNeedMB),inttostr(TmpDirFreeMB)]), mbError, MB_Ok); Result := False; exit;; end;
end;
Как сделать при помощи функции ByteOrTB от Виктора Доброва чтобы показывалось сообщение в Гб

Последний раз редактировалось msatmb, 27-09-2009 в 20:55. Причина: подправил


Отправлено: 20:51, 27-09-2009 | #172


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


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

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


msatmb, думаю, так:
читать дальше »

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program

[Languages]
Name: "Russian"; MessagesFile: "compiler:Languages\Russian.isl"

[CustomMessages]
Russian.NeedTmpSpaceMsg=Для работы инсталлятора недостаточно свободного места на системном диске. %nТребуется не менее %1. %nДоступно %2.

[_code]
const
    oneMB=1024*1024;
       
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 ByteOrTB(Bytes: Extended; noMB: Boolean): String; 
    Begin
        if not noMB then Result:= NumToStr(Int(Bytes)) +' Mb' else
            if Bytes*oneMB < 1024 then if Bytes = 0 then Result:= '0' else Result:= NumToStr(round(Bytes*oneMB/1024)) +' Bt' else
                if Bytes*oneMB/1024 < 1024 then Result:= NumToStr(round((Bytes*oneMB/1024)*10)/10) +' Kb' else
                    If Bytes*oneMB/oneMB < 1024 then Result:= NumToStr(round(Bytes*oneMB/oneMB*100)/100) +' Mb' else
                        If Bytes*oneMB/oneMB/1000 < 1024 then Result:= NumToStr(round(Bytes*oneMB/oneMB/1024*1000)/1000) +' Gb' else
                            Result:= NumToStr(round(Bytes*oneMB/oneMB/oneMB*1000)/1000) +' Tb';
End;

function InitializeSetup(): Boolean;
var
  TmpDirFreeMB, TmpDirTotalMB, TmpDirNeedMB: Cardinal;
begin
  TmpDirNeedMB:= 5000000; // сколько Mb требуется
    Result := True;
  GetSpaceOnDisk(ExpandConstant('{tmp}'), True, TmpDirFreeMB, TmpDirTotalMB);
  if TmpDirFreeMB < TmpDirNeedMB then begin MsgBox(FmtMessage(ExpandConstant('{cm:NeedTmpSpaceMsg}'), [ByteOrTB(TmpDirNeedMB,true),ByteOrTB(TmpDirFreeMB,true)]), mbError, MB_Ok); Result := False; exit;; end;
end;

Отправлено: 21:24, 27-09-2009 | #173


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


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

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


BlackSelf, Спасибо, только пришлось умножить на oneMB, а то он мне в Мегах и килобайтах показывал
т.е.
ByteOrTB(TmpDirNeedMB*oneMB,true),ByteOrTB(TmpDirFreeMB*oneMB,true) Вроде правильно показал
И я почемуто думал, что нужно обязательно делить на oneMB как в других скриптах. А оказывается можно и так
и вопрос.
Если конечно пользовался скриптом для распаковки архивов FreeArcВерсия 3.3 от Bulat Ziganshin, 13-09-2009
- FreeArcExtract() поддерживает опцию '-wPATH' для задания каталога для временных файлов

Каким образом прописать эту опцию в скрипте

Последний раз редактировалось msatmb, 27-09-2009 в 21:44. Причина: дополнил


Отправлено: 21:40, 27-09-2009 | #174


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


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

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


Скажите можно ли сделать так чтобы пользователь при установке указал букву диска,а инсталлятор уже в зависимости от буквы диска прописал в реестр ключ.Например install path: С:\Games\Driver\driver.exe. Возможно сделать такое?

Отправлено: 23:59, 27-09-2009 | #175


Аватара для A1EXXX

Старожил


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

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


Lancer2404, если я правильно понял, тебе нужно, чтобы в реестр заносился ключ в зависимости от указанного пути. Вместо С:\Games\Driver\driver.exe напиши {app}, например:
Цитата:
Root: HKLM; Subkey: "SOFTWARE\Activision\Call of Duty 4"; ValueName: "InstallPath"; ValueType: String; ValueData: "{app}";

Отправлено: 00:27, 28-09-2009 | #176


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


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

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


Serega, K.I.S. 2010 сообщает, что REG-Converter содержит вирус virus.Win32.induc.a! Это правда?!!
Перезакачивал архив - рекакция антивируса на этот архив та же.

И в самом деле программа функционирует подозрительно... Крошечный reg-файл из нескольких строк конвертирует секунд 7 - 10 и при этом CPU загружает на 100%!

p.s. когда будет свободное время отформатирую жёсткий диск...

Последний раз редактировалось user_123, 29-09-2009 в 08:05.


Отправлено: 12:16, 28-09-2009 | #177


Аватара для A1EXXX

Старожил


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

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


user_123, каспер - зло! Мой NOD32 молчит, а прога нормально работает, файлы конвертит мгновенно! Если сомневаешься, отправь файл в Лабораторию или на virusinfo....

Отправлено: 14:56, 28-09-2009 | #178


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


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

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


A1EXXX Спасибо.А можно так сделать чтобы при установке на win xp один путь а при установке на висту другой.Так возможно сделать?

Отправлено: 17:05, 28-09-2009 | #179


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


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

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


Подскажите, пожалуйста.
Как добавить страницу, содержащую несколько радио буттонов, и в зависимости от сделанного выбора с инсталлятора должен копироваться тот или иной файл.

Поискав по форуму, нашел:

[Tasks]
Name: chk1; Description: Ключ 1; GroupDescription: Дополнительно:; Flags: exclusive
Name: chk2; Description: Ключ 2; GroupDescription: Дополнительно:; Flags: exclusive

А как теперь связать выбор с тем или иным файлом и скопировать именно его destination, никак не могу понять.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:31, 28-09-2009 | #180



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход