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

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

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

Аватара для El Sanchez

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

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


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

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


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

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


Я опять с вопросом о ComponentsDiskSpaceLabel. Как можно загрузить текст на лейбл, из "ComponentsDiskSpaceLabel"
Код: Выделить весь код
Caption:= SetupMessage(msgComponentsDiskSpaceMBLabel);
и
Код: Выделить весь код
Caption:= ComponentsDiskSpaceLabel.Caption
что-то не работают!

Отправлено: 16:58, 19-04-2013 | #241



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

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


Аватара для Mailchik

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


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

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


Nightwishh,
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Code]
procedure InitializeWizard;
 begin
  WizardForm.WelcomeLabel1.Caption := WizardForm.ComponentsDiskSpaceLabel.Caption;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:22, 19-04-2013 | #242


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


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

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


есть вот такая часть скрипта для worldoftanks ))

папка по умолчанию: C:\Games\World_of_tanks

а папка где проверять наличие выглядит так: C:\Games\World_of_tanks\res_mods\0.8.5\audio -именно там она должна быть,иначе при установке любого из двух компонентов пропадает звук,т.к. клиент обращается к папке,где попадают только 2 файла из инсталятора.
Тоесть для проверки могу сделать компонент "zvuk",а вот как прописать путь поиска?
Или второй вариант втихую скопировать нужную папку из одной папки в другую без вмешательство пользователя?

Name: "zvuk"; Description: "Звуки(перед установкой скопируйте папку audio в res_mods\0.8.5\)"
Name: "zvuk\audio"; Description: "Звонок крита";
Name: "zvuk\zasvet"; Description: "Озвучка лампочки";

и потом в секции
[code]

function NextButtonClick(CurPageID: Integer): Boolean;
begin
if CurPageID = wpSelectComponents then
begin
if IsComponentSelected('zvuk') then Result := DirExists(AddBackslash(RemoveBackslash(WizardDirValue())) + 'audio') else Result := True;
if not Result then MsgBox('В выбранной Вами директории установки нет папки "audio"!', mbError, MB_OK);
end else Result := True;
end;

Последний раз редактировалось elmariacci, 19-04-2013 в 18:04.


Отправлено: 17:58, 19-04-2013 | #243


Аватара для Johny777

Ветеран


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

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


Цитата elmariacci:
\....\....\audio »
Хочешь вернуться на два уровня назад? Юзай FileSystemObject (он умеет многое ) :
читать дальше »
Код: Выделить весь код
[code]
function GetParentFolderName(const Path: String): String;
var
    oFS: Variant;
begin
    oFS := CreateOleObject('Scripting.FileSystemObject');
    try
        Result := oFS.GetParentFolderName(path);
    except
        ShowExceptionMessage();
    end;
end;

procedure InitializeWizard();
begin
    MsgBox(GetParentFolderName(GetParentFolderName('C:\Program Files\Adobe\Adobe After Effects CS5')), mbInformation, MB_OK);
end;

несколько примеров его использования есть в шапке темы, остальное в MSDN:
http://msdn.microsoft.com/en-us/libr...=vs.60%29.aspx
http://msdn.microsoft.com/en-us/libr...=vs.60%29.aspx
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:03, 19-04-2013 | #244


Ветеран


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

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


elmariacci, если я вас правильно понял, то так:

Код: Выделить весь код
if IsComponentSelected('zvuk') then Result := DirExists(AddBackslash(RemoveBackslash(WizardDirValue())) + 'res_mods\0.8.5\audio') else Result := True;
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 19-04-2013 | #245


Аватара для Johny777

Ветеран


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

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


Цитата saurn:
0.8.5 »
elmariacci эта папка всегда так называется? (В worldoftanks не гамал)

Последний раз редактировалось Johny777, 19-04-2013 в 18:26.


Отправлено: 18:18, 19-04-2013 | #246


Ветеран


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

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


Цитата Johny777:
Всё верно, но эта папка всегда так называется? »
Мм, а вот об этом я что-то не подумал.

Есть вопрос, просветите неуча. Раньше версию системы через код никогда не проверял. Но тут понадобилось, чтобы некая функция вызывалась, только от версии винды 6 и выше( Тоесть Vista, 7 и т.д.)
Код: Выделить весь код
function iWinVersion(): Boolean;
begin
  GetWindowsVersionEx (Version);
  if (Version.NTPlatform and (Version.Major > 5)) then
  Result := true
  else Result := False;
end;
Оно?

Отправлено: 18:24, 19-04-2013 | #247


Аватара для Johny777

Ветеран


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

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


saurn,
Держи: http://forum.oszone.net/post-2108378-1847.html
Определяемые виндовсы: Windows2000, Windows2003, WindowsXP, WindowsVista, Windows7, Windows8


UPD: если нужны только с 6. то кастрируй функцию :
читать дальше »
Код: Выделить весь код
#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

type
  _OSVERSIONINFO = record
    dwOSVersionInfoSize: DWORD;
    dwMajorVersion: DWORD;
    dwMinorVersion: DWORD;
    dwBuildNumber: DWORD;
    dwPlatformId: DWORD;
    szCSDVersion: array[0..127] of Char;
  end;

function GetVersionEx(var lpVersionInformation: _OSVERSIONINFO): BOOL; external 'GetVersionEx{#A}@kernel32.dll stdcall';

function IsWin7AndNewer(): Boolean;
var
  VersionInformation: _OSVERSIONINFO;
begin
  VersionInformation.dwOSVersionInfoSize := SizeOf(VersionInformation);
  if not GetVersionEx(VersionInformation) then Exit;
  Result := VersionInformation.DwMajorVersion >= 6;
end;

PS: виста и выше это 6.что-то_там

Последний раз редактировалось Johny777, 19-04-2013 в 18:48.

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

Отправлено: 18:33, 19-04-2013 | #248


Ветеран


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

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


Цитата Johny777:
если нужны только с семёрки то кастрируй функцию »
Да, нужно только от висты и выше. Спасибо за примеры, дальше уже разберусь

Цитата Johny777:
эта папка всегда так называется? »
Тоже никогда не играл, но думаю эти циферки зависят от версии клиента. Если имя папки аналогично фактической версии, можно выдернуть номер версии из реестра и подставлять строкой в качестве имени папки, что-то типа:
Код: Выделить весь код
AddBackslash('res_mods') + ClientVersion + '\audio'
Хотя, это наверное уже изврат)

Последний раз редактировалось saurn, 19-04-2013 в 19:00.


Отправлено: 18:44, 19-04-2013 | #249


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


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

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


Цитата Johny777:
Цитата saurn:
0.8.5 »
elmariacci эта папка всегда так называется? (В worldoftanks не гамал) »
нет - это локальный патч на данный момент - дальше могут быть другие цифры типа 0.8.6 и тд

Отправлено: 18:53, 19-04-2013 | #250



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход