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

Компьютерный форум 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

 

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


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

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


Добрый день! У меня возникла небольшая проблема в понимании языка структуры Source в Inno Setup.

Дело в том, что первое окно установки у меня создано посредством скрипта (code), где имеется edit_box. Мне нужно продумать 2 варианта: если в edit_box введено правильное выражение, то в Source необходимо копировать файлы для полной версии программы; если же edit_box пустое или неверное, то устанавливать файлы демо-версии. Вопрос в том, как реализовать этот if и какова структура Source? Например,
Source: "{code:version}/*.dll"; DestDir: "{app}\Programs"

т.е. тут возможны либо "Full/*.dll", либо "Demo/*.dll" (эти папки уже созданы, и в них лежат соответствующие файлы).

Отправлено: 12:59, 15-06-2010 | #1941



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

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


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


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

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


Cinot, ну, например, так (добавьте к своему скрипту):
читать дальше »
Код: Выделить весь код
[Files]
Source: "D:\file1.txt"; DestDir: "{app}\Programs"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: not Full;
Source: "D:\file2.txt"; DestDir: "{app}\Programs"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: Full;

[Code]
var
  FullCheck: TCheckBox;

function Full: Boolean;
begin
  Result:=FullCheck.Checked;
end;

procedure InitializeWizard;
begin
  FullCheck := TCheckBox.Create(WizardForm);
  with FullCheck do
  begin
  Parent := WizardForm;
  Left := 0;
  Top := 0;
  Width := 0;
  Height := 0;
  TabOrder := 0;
  Checked := False;
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
  s: string;
begin
  if CurStep = ssinstall then
  begin
    s:=Edit.Text;
    If s='12345' then FullCheck.Checked:=True
    else FullCheck.Checked:=False;
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:23, 16-06-2010 | #1942


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

Ветеран


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

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


Цитата Cinot:
Вопрос в том, как реализовать этот if и какова структура Source »
Source: "{code:version}/*.dll"; DestDir: "{app}\Programs"; Check: MyCheck

[_Code]
Function MyCheck():boolean;
Begin
//проверка что-то где-то введено
End;

Примерно так.

Если MyCheck возвращает True, то строчка с Check: MyCheck выполняется, если MyCheck возвращает False, то строчка с Check: MyCheck пропускается

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

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

Отправлено: 08:42, 16-06-2010 | #1943


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


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

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


Извините, а более полного примера у Вас не найдётся? У меня что-то ничего не получается сделать на основе этого

Отправлено: 11:33, 16-06-2010 | #1944


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

Ветеран


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

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


Цитата Cinot:
более полного примера у Вас не найдётся »
Надейтся, вот из справки:
Код: Выделить весь код
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"; Check: MyProgCheck
Source: "A\MYFILE.TXT"; DestDir: "{app}"; Check: MyDirCheck(ExpandConstant('{app}\A'))
Source: "B\MYFILE.TXT"; DestDir: "{app}"; Check: DirExists(ExpandConstant('{app}\B'))

[_Code]
var
  MyProgChecked: Boolean;
  MyProgCheckResult: Boolean;

function MyProgCheck(): Boolean;
begin
  if not MyProgChecked then begin
    MyProgCheckResult := MsgBox('Do you want to install MyProg.exe to ' + ExtractFilePath(CurrentFileName) + '?', mbConfirmation, MB_YESNO) = idYes;
    MyProgChecked := True;
  end;
  Result := MyProgCheckResult;
end;

function MyDirCheck(DirName: String): Boolean;
begin
  Result := DirExists(DirName);
end;
Вот из моего инсталлера
Код: Выделить весь код
[Components]
Name: mpc; Description: Настройки Media Player Classic Home Cinema; Check: mpcexists
[_Code]
function mpcexists(): Boolean;
Var MPCPath: string;
begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Gabest\Media Player Classic','ExePath', MPCPath);
  if FileExists (MPCPath) then Result := True else Result := False;
end;
Функцию Check можно лепить во все секции кроме Code и Setup

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

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

Отправлено: 11:59, 16-06-2010 | #1945


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


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

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


Спасибо, очень помогло!

Отправлено: 15:17, 16-06-2010 | #1946


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

Ветеран


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

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


Цитата Cinot:
Спасибо, очень помогло »
Пожалуйста, я конечно, не Serega, но чем смогу - помогу.
Офф: а есть подобный форум по Visual Basic? Чтобы с примерами и справкой с чего начать

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


Последний раз редактировалось R.i.m.s.k.y., 16-06-2010 в 16:20.


Отправлено: 16:08, 16-06-2010 | #1947


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


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

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


Доброго времени суток! Хотелось бы спросить про доп. программное обеспечение игры:

После установки игры DirectX и всякая мелкая дребедень дополнительная копируется в папку с игрой и устанавливается, после чего так и остается там, а можно сделать так, чтобы после установки этих программ их exe-шники автоматически удалялись из папки!?

Последний раз редактировалось SeDmY, 16-06-2010 в 18:55.


Отправлено: 18:29, 16-06-2010 | #1948


Аватара для nik1967

Старожил


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

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


SeDmY,
А зачем копировать DirectX и всякую мелкую дребедень в папку с игрой?
[Run]
Filename: "{src}\DirectX\DXSETUP.exe"; WorkingDir: "{src}\DirectX"; Parameters: "/silent"; Flags: waituntilterminated
То есть программа работает из директории установки: {src}, и не копируется в папку назначения {app}.

Отправлено: 20:08, 16-06-2010 | #1949


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


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

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


Цитата nik1967:
SeDmY,
А зачем копировать DirectX и всякую мелкую дребедень в папку с игрой?
[Run]
Filename: "{src}\DirectX\DXSETUP.exe"; WorkingDir: "{src}\DirectX"; Parameters: "/silent"; Flags: waituntilterminated
То есть программа работает из директории установки: {src}, и не копируется в папку назначения {app}. »
Спасибо за ответ, нужно было втиснуть для стабильной работы, так после установки оставались в папке с игрой! Я сделал немного подругому, в конце добавил :

Source: E:\Games\Support\DirectX\dxwebsetup.exe; DestDir: {app}; Flags: deleteafterinstall

Блин, скрипт выдает мне следующее:



Что не так!?

Отправлено: 20:15, 16-06-2010 | #1950



Компьютерный форум 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




 
Переход