Имя пользователя:
Пароль:
 | Правила  

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

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

Аватара для 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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



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

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

Отправлено: 11:48, 10-03-2014

 

Аватара для Shift85

Старожил


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

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


Цитата Антон_Мураткин@vk:
Этот файл есть который на скрине »
Антон_Мураткин@vk, Покажите секцию "[Files]" и "ExtractTemporaryFile"
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:49, 21-05-2014 | #721



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

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


Аватара для Dodakaedr

Ветеран


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

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


Цитата Антон_Мураткин@vk:
На скрине показывается ошибка. Этот файл есть который на скрине »
Проверьте путь куда файл извлекается и откуда вызывается, но без скрипта тяжело сказать в чем именно ошибка.

-------
Inno Setup 5 Ultra Unicode

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

Отправлено: 22:01, 21-05-2014 | #722


Аватара для nik1967

Старожил


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

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


Нафиг вообще используете эту библиотеку? В расширенной Inno давно уже есть CallbackAddr - не надо с собой ни InnoCallback.dll, ни CallbackCtrl.dll таскать.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Отправлено: 00:07, 22-05-2014 | #723


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


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

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


Всем привет. Мне нужно реализовать 2 чекбокса на странице "Каталог" в установщике.
Т.е. у нас есть полоска выбора пути (куда устанавливать наши компоненты) и нужно чтобы под ней было 2 чекбокса.

1 чекбокс: Удаление старых компонентов. Т.е. у меня есть папка res_mods... Нужно чтобы при выборе этого чекбокса очищало папку res_mods от всего содержимого.

2 чекбокс: Бекап файлов. У меня есть папка res_mods, но допустим в ней нужные компоненты и я хочу их сохранить. То при выборе этого чекбокса будет создана копия папки res_mods которая будет называться old_res_mods.

Вот это должно выглядеть примерно так:


Буду благодарен за помощь!

Отправлено: 00:46, 22-05-2014 | #724


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


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

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


Shift85, Dodakaedr, Благодарю! Сам разобрался, просто удалил в скрипте строчку CallbackCtrl.dll и всё заработало.

Отправлено: 10:50, 22-05-2014 | #725


Аватара для habib2302

Ветеран


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

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


всем привет. хочу доработать свой репак adobe flash player и допустим если выбрать тихую установку перед установкой запускался деинсталлятор, а если устанавливать в ручную, то деинсталлятор не запускался.

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 13:24, 22-05-2014 | #726


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


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

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


Kashtan007, как-то так
читать дальше »
Код: Выделить весь код
var  ModCheck, BackupCheck: TNewCheckBox;

procedure  InitializeWizard; 
begin
   ModCheck:= TNewCheckBox.Create(PageFromID(wpSelectDir));
   ModCheck.Width := PageFromID(wpSelectDir).SurfaceWidth;
   ModCheck.Parent := PageFromID(wpSelectDir).Surface;
   ModCheck.Caption:='Удалить старые моды';  
   ModCheck.left:=wizardForm.DirEdit.left;
   ModCheck.Top:=wizardForm.DirEdit.top + ScaleY(30);

   BackupCheck:= TNewCheckBox.Create(PageFromID(wpSelectDir));
   BackupCheck.Width := PageFromID(wpSelectDir).SurfaceWidth;
   BackupCheck.Parent := PageFromID(wpSelectDir).Surface;
   BackupCheck.Caption:='Сохранить резервную копию';  
   BackupCheck.left:=wizardForm.DirEdit.left;
   BackupCheck.Top:=ModCheck.top + ScaleY(30);
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:29, 22-05-2014 | #727


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


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

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


habib2302, примерно так
Код: Выделить весь код
function InitializeSetup(): Boolean;
var ResultCode:integer; 
begin
 if WizardSilent then
  if FileExists (ExpandConstant('{uninstallexe}')) then //имхо, если при установке вы что-то пишете в реестр, то перед удалением неплохо было бы еще проверять наличие в реестре данных об уже установленной версии 
   Exec(ExpandConstant('{uninstallexe}'), '/SILENT', '', SW_SHOW,ewWaitUntilTerminated, ResultCode);
 result:=true;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:49, 22-05-2014 | #728


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


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

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


Доброе время суток! Помогите пожалуйста.

Вот этот текст:
Код: Выделить весь код
procedure InitializeWizard();
begin
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('Music.mp3');

  BASS_Init('{tmp}\Music.mp3') //Çàïóñêàåì ìóçûêó
  //Ìîæíî äîáàâèòü â èíñòàëë íåñêîëüêî ïåñåí
  //BASS_Init(ExpandConstant('{tmp}\*'))        //Ïîèñê ïî ìàñêå
  BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4) //Ñîçäàåì êíîïêó âêë/âûêë
end;
Вставить вот в этот текст.
Код: Выделить весь код
procedure InitializeWizard;

begin
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash piratbit.png',700,1000,700,0,255,False,$FFFFFF,10);

ExtractTemporaryFile('Splash WhiteSmoke.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash WhiteSmoke.png',700,1000,700,0,255,False,$FFFFFF,10);

ExtractTemporaryFile('Splash Game.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash Game.png',700,1000,700,0,255,False,$FFFFFF,10);
WizardForm.Position:=poScreenCenter;
IsMyFont;
wzform;
btn;
welcom;
SelectDir;
Components;
ProgramGroup;
ProgramTask;
CreateControls;
Finish;
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall delayload setuponly';

procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';


function InitializeSetup:boolean;
var
  ResCode: integer;
begin
  ExtractTemporaryFile('Skin.cjstyles');
  LoadSkin(ExpandConstant('{tmp}\Skin.cjstyles'), '');
  Result:= true

  if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('IsMyFont.dll');
  Result:=True;
end;
А то у меня выходит ошибка то на end; то на ExtractTemporaryFile('BASS.dll');

З.Ы. Вставлял в другой скрипт всё нормально было. А в другом вот ошибки вылазиют.
Заранее благодарю.

Отправлено: 17:36, 22-05-2014 | #729


Аватара для Dodakaedr

Ветеран


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

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


Антон_Мураткин@vk, Так пробовали?
читать дальше »
Код: Выделить весь код
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall delayload setuponly';

procedure LoadSkinU(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';
procedure UnloadSkinU(); external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';

function InitializeSetup:boolean;
var
  ResCode: integer;
begin
  ExtractTemporaryFile('Skin.cjstyles');
  LoadSkin(ExpandConstant('{tmp}\Skin.cjstyles'), '');
  Result:= true

  if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('IsMyFont.dll');
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('Music.mp3');
  Result:=True;
end;

procedure InitializeWizard;
begin
  BASS_Init('{tmp}\Music.mp3')
  BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4) //Ñîçäàåì êíîïêó âêë/âûêë

ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash piratbit.png',700,1000,700,0,255,False,$FFFFFF,10);
ExtractTemporaryFile('Splash WhiteSmoke.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash WhiteSmoke.png',700,1000,700,0,255,False,$FFFFFF,10);
ExtractTemporaryFile('Splash Game.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash Game.png',700,1000,700,0,255,False,$FFFFFF,10);
WizardForm.Position:=poScreenCenter;
IsMyFont;
wzform;
btn;
welcom;
SelectDir;
Components;
ProgramGroup;
ProgramTask;
CreateControls;
Finish;
end;

-------
Inno Setup 5 Ultra Unicode


Отправлено: 17:55, 22-05-2014 | #730



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты 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




 
Переход