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

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


Цитата Rikill:
R.i.m.s.k.y., можешь показать инсталлятор свой »
это Rimpack на моем сайте, не могу - тайна сия велика есть
довольно здоровая секция реестра - ставится хаали, ффд и тп
но секция код весит более 600 кбайт, определяется железо (видуха/проц), делается бэкап реестра, всякие проверки на компоненты, к примеру если не стоит ависинт но ты выбрал свп - ависинт тоже выберется, и тп. Много всякого за 2 года накопилось, и половину мне подсказали на этом форуме
весь скрипт римпака - на 950 кбайт, к нему идет отдельный модуль "Настройки римпака", общие части вынесены в него и он вызывается параметром комстроки, суммарно за мегабайт текста-кода
кодерим мелочь - всего 200кбайт

оформления в моих дистрах нету

в принципе я отвечаю на вопросы которые я знаю, а все что знаю реализовано в моих дистрах
на сайте даалеко не все, много дистров сделано по работе по мере надобности, но это за темой этого разговора

я же делал дистр для Smooth Video Project, опять же порезав римпак http://www.svp-team.com

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


Последний раз редактировалось R.i.m.s.k.y., 05-07-2011 в 17:17.


Отправлено: 16:58, 05-07-2011 | #2211



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

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


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

Ветеран


Contributor


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

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


Цитата v00sh:
Каким образом нужно исправить код в секции "--add-game-path=", чтобы обновление происходило без ошибок (после = - путь до папки с игрой)? »
v00sh,
Код: Выделить весь код
Parameters: "/q --i-accept-the-pb-eula /ag cod4 --add-game-path=""{app}"" /u"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:02, 05-07-2011 | #2212


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата Neutron:
[ Code]
................
var
AutoRun: TSetupForm;
.........................................
AppPath,UninsPath: string; »
Сюда-же UninsPath1 : AppPath,UninsPath,UninsPath1: string;
Весь код:
читать дальше »
; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
const
BM_CLICK = $00F5;

var
AutoRun: TSetupForm;
img1: TBitmapImage;
PlayButton, InstallButton, SupportButton, ReadmeButton, WebButton, ExitButton, UninstallButton: TButton;
AppPath,UninsPath,UninsPath1: string;
ResultCode: Integer;
procedure CurPageChanged(CurPageID: Integer);
begin
If CurPageID=wpWelcome then
SendMessage(WizardForm.NextButton.Handle, BM_CLICK, 0, 0);
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False
Cancel:=True
end;

procedure PlayButtonClick(Sender: TObject);
var
exe: string;
begin
exe:='shift.exe';
if RegQueryStringValue(HKLM, 'SOFTWARE\Electronic Arts\Game','Install Dir', AppPath) then
begin
Exec(AddBackslash(AppPath) + Exe, '', ExtractFilePath(AddBackslash(AppPath) + Exe), SW_SHOWNORMAL,ewNoWait,ResultCode)
AutoRun.Close;
PostMessage(WizardForm.CancelButton.Handle, BM_CLICK, 0, 0);
end
end;

procedure InstallButtonClick(Sender: TObject);
var
CurPageID: Integer;
begin
Exec(ExpandConstant('{src}\Setup.exe'),'','',SW_SHOW,ewNoWait,ResultCode)
AutoRun.Close;
PostMessage(WizardForm.CancelButton.Handle, BM_CLICK, 0, 0);
end;

procedure SupportButtonClick(Sender: TObject);
begin
shellexec('open', ExpandConstant('{src}\Game.exe'), '', '',SW_SHOWNORMAL, ewnowait, ResultCode)
end;

procedure ReadmeButtonClick(Sender: TObject);
begin
ShellExec('open', ExpandConstant('{src}\readme.txt'),'','', SW_SHOW, ewNoWait, ResultCode)
end;

procedure WebButtonClick(Sender: TObject);
begin
shellexec('open', 'http://localhost', '', '',SW_SHOWNORMAL, ewnowait, ResultCode)
end;

procedure ExitButtonClick(Sender: TObject);
var
CurPageID: Integer;
begin
AutoRun.Close;
PostMessage(WizardForm.CancelButton.Handle, BM_CLICK, 0, 0);
end;

//============================================ Код, собственно вставил сюда ===============================================
procedure UninstallButtonClick(Sender: TObject);
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F367827A-CC84-4C46-98FD-4C484F136272}_is1','UninstallString', UninsPath) then
begin
UninsPath:=RemoveQuotes(UninsPath)
Exec(UninsPath,'','',SW_SHOWNORMAL,ewNoWait,ResultCode)
end
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D9C84A33-61AA-4B8B-B44B-B04A0923592E}_is1','UninstallString', UninsPath1) then
begin
UninsPath1:=RemoveQuotes(UninsPath1)
Exec(UninsPath1,'','',SW_SHOWNORMAL,ewNoWait,ResultCode)
end
AutoRun.Close;
PostMessage(WizardForm.CancelButton.Handle, BM_CLICK, 0, 0);
end;
//============================================ Код, собственно вставил сюда ===============================================
//end;

// Почти в самом низу скрипта, в конце добавил

procedure CreateAutoRun;
begin
//AutoRun
AutoRun := CreateCustomForm;
with AutoRun do begin
Left := 498;
Top := 75;
// Width := 495;
// Height := 340;
Width := 640;
Height := 480;
BorderIcons := [];
BorderStyle:=bsToolWindow //(bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin)
Color := clBtnFace;
Font.Color := clWindowText;
Font.Height := -11;
Font.Name := 'MS Sans Serif';
Font.Style := [];
Position := poScreenCenter;
Caption:='AutoRunName'
end;
//img1
img1 := TBitmapImage.Create(AutoRun);
ExtractTemporaryFile('1.bmp');
with img1 do begin
Parent := AutoRun;
Left := 0;
Stretch:= true;
Top := 0;
Width := Autorun.Width;
Height := Autorun.Height;
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
end;
//PlayButton
PlayButton:= TButton.Create(AutoRun);
with PlayButton do begin
Parent := AutoRun;
Left := 470;
Top := 280;
Width := 150;
Height := 22;
Caption:= 'Play';
Cursor:= crHand;
// ModalResult:= mrOk;
OnClick := @PlayButtonClick;
if not RegQueryStringValue(HKLM, 'SOFTWARE\Game','Install Dir', AppPath) then
begin
PlayButton.Enabled := False;
end
end;
//InstallButton
InstallButton:= TButton.Create(AutoRun);
with InstallButton do begin
Parent:= AutoRun;
Left := 470;
Top := 250;
Width := 150;
Height := 22;
Caption:= 'Install';
Cursor:= crHand;
OnClick := @InstallButtonClick;
end;
//SupportButton
SupportButton:= TButton.Create(AutoRun);
with SupportButton do begin
Parent:= AutoRun;
Left := 470;
Top := 310;
Width := 150;
Height := 22;
Caption:= 'Support';
Cursor:= crHand;
OnClick := @SupportButtonClick;
end;
//ReadmeButton
ReadmeButton:= TButton.Create(AutoRun);
with ReadmeButton do begin
Parent:= AutoRun;
Left := 470;
Top := 340;
Width := 150;
Height := 22;
Caption:= 'Readme';
Cursor:= crHand;
OnClick := @ReadmeButtonClick;
end;
//WebButton
WebButton:= TButton.Create(AutoRun);
with WebButton do begin
Parent:= AutoRun;
Left := 470;
Top := 370;
Width := 150;
Height := 22;
Caption:= 'Web';
Cursor:= crHand;
OnClick := @WebButtonClick;
end;
//ExitButton
ExitButton:= TButton.Create(AutoRun);
with ExitButton do begin
Parent:= AutoRun;
Left := 470;
Top := 430;
Width := 150;
Height := 22;
Caption:= 'Exit';
Cursor:= crHand;
OnClick := @ExitButtonClick;
// ModalResult:= mrCancel;
end;
//UninstallButton
UninstallButton:= TButton.Create(AutoRun);
with UninstallButton do begin
Parent:= AutoRun;
Left := 470;
Top := 400;
Width := 150;
Height := 22;
Caption:= 'Uninstall';
Cursor:= crHand;
OnClick := @UninstallButtonClick;
end;

//===================================================Здесь в конце======================================================
if not (RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F367827A-CC84-4C46-98FD-4C484F136272}_is1','UninstallString', UninsPath) or
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D9C84A33-61AA-4B8B-B44B-B04A0923592E}_is1','UninstallString', UninsPath1)) then begin
InstallButton.Enabled:=true;
UninstallButton.Enabled:=false;
end else begin
InstallButton.Enabled:=false;
UninstallButton.Enabled:=true;
end;
//===================================================Здесь в конце======================================================


AutoRun.ShowModal;
end;

procedure InitializeWizard;
begin
CreateAutoRun;
end;

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


Последний раз редактировалось Gnom_aka_Lexander, 05-07-2011 в 18:27.

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

Отправлено: 17:46, 05-07-2011 | #2214


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


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

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


R.i.m.s.k.y.,


Вообщем над ним или под ним, или при наводке.

Отправлено: 18:53, 05-07-2011 | #2215


Аватара для Krinkels

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


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

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


Друзья, выкладываю длл для работы со Steam ником.
Что умеет:
1. Возвращает число ников в Steam
2. Если несколько ников то может вернуть ник под номером N
3. Если несколько ников то может вернуть путь к нику под номером N
4. Возвращает активный ник
5. В случае ошибки возвращает текст ошибки
Скачать

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

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

Отправлено: 18:57, 05-07-2011 | #2216


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

Ветеран


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

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


leshcat, ну так сразу бы и написал что в списке компонентов
ты компоненты не умеешь делать или тебе надо под списком дополнительный чекбокс? чекбокс в таком случае надо делать через код, а остальное есть в справке и примерах в шапке

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


Отправлено: 19:00, 05-07-2011 | #2217


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


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

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


R.i.m.s.k.y.,

Нет, не чекбокс, его делать я умею
А описание чекбокса дополнительно, типа если на него навести мышкой - даст короткую справку, или если выделишь - вывалится короткая справка снизу.

И еще: можно ли контролировать положение чекбокса(левее,ниже итп)?

Отправлено: 19:22, 05-07-2011 | #2218


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

Ветеран


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

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


leshcat, не, я такое не знаю

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


Отправлено: 19:27, 05-07-2011 | #2219


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


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

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


Цитата leshcat:
А описание чекбокса дополнительно, типа если на него навести мышкой - даст короткую справку, или если выделишь - вывалится короткая справка снизу. »
Вот держи
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:38, 05-07-2011 | #2220



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




 
Переход