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

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

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

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

Ветеран


Contributor


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


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

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


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



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

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

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


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

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


Спасибо — boss911, Nordek, Iska и Dodakaedr за отзыв, разъяснение и помощь!
Через HKCU удаляется отлично. Вопрос закрыт, ВСЕМ добра!

Отправлено: 13:06, 26-11-2019 | #411



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

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


SHVtYW4=


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

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


Цитата Adjective:
Через HKCU удаляется отлично. »
Помните, HKEY_CURRENT_USER:
При установке/деинсталляции из текущего пользователя (A) - Полезен только для текущего пользователя (A).
При установке/деинсталляции из текущего пользователя (A) - Для других пользователей (B, C, D) бесполезен.

В будущем: Для преобразования файлов *.reg - Используйте Converter или ISTool.
Inno Script Studio также как ISTool умеет импортировать файлы *.reg, но не всегда корректно.

Converter

ISTool

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 19:11, 26-11-2019 | #412


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


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

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


Привет всем,

пытаюсь вызвать функцию ShellExecute из подключенной библиотеки, результате выдает что файл не найден. Что я делаю не так?

Код: Выделить весь код
[Сode]                 

function ShellExecute(hwnd: HWND; lpOperation: string; lpFile: string; lpParameters: string; lpDirectory: string; nShowCmd: Integer) : THandle;
external 'ShellExecuteW@shell32.dll stdcall';

function MessageBox(hWnd: Integer; lpText, lpCaption: AnsiString; uType: Cardinal): Integer;
external 'MessageBoxA@user32.dll stdcall';     

procedure pro();
var s : string;
    res : integer;
begin

res := ShellExecute(0, 'open', 'notepad.exe', '' ,'', SW_SHOW);
s := Format('%d', [res]);
MessageBox(0, 'result=' +s, 'MessageBoxA', MB_OK);

end;

Отправлено: 19:43, 07-12-2019 | #413


Аватара для habib2302

Ветеран


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

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


web_form, если честно не знаю т.к эти страницы создавались с ноля

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


Последний раз редактировалось habib2302, 12-12-2019 в 21:14.


Отправлено: 20:59, 12-12-2019 | #414


Аватара для nik1967

Старожил


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

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


Цитата web_form:
а как сделать чтобы лого показалась во всех пунктах Инсталятора »
В procedure CurPageChanged(CurPageID: Integer);
на соответствующих страницах указать родителя (Parent:= ) лого

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


Отправлено: 11:46, 13-12-2019 | #415


Аватара для habib2302

Ветеран


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

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


nik1967, в curPageChanged можно добавить только для финишной страницы. А как быть с cancel page?

module\page.iss
procedure CurPageChanged(CurPageID: integer);
begin
#ifdef WinTB
case CurPageID of
wpWelcome: begin
TaskBarButtonEnabled(hback, false);
end;
wpSelectDir: begin
TaskBarButtonEnabled(hback, true);
TaskBarButtonImage(hnext, hImg2, IMAGE_ICON);
end;
wpInstalling: begin
TaskBarButtonEnabled(hback, false);
TaskBarButtonEnabled(hnext, false);
end;
wpFinished: begin
TaskBarButtonEnabled(hnext, true);
TaskBarButtonEnabled(hcancel, false);
end;
end;
#endif
if CurPageID=wpWelcome then begin
HideComponents;
Bevel2.show;
Bevel3.show;


TextLabel[6].show;
TextLabel[1].show;
WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack');
WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
WizardForm.NextButton.Caption:= CustomMessage(lang+'Buttonnext');
Background.Show;
WizardForm.CancelButton.Left:=ScaleX(5332);
end;

#ifdef InfoBefore
if CurPageID=wpInfoBefore then begin
HideComponents;
WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack');
WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
WizardForm.NextButton.Caption:= CustomMessage(lang+'Buttonnext');
TextLabel[38].show;
TextLabel[39].show;
WizardForm.InfoBeforeMemo.Show;
TextLabel[40].show;
Bevel3.Show;
Bevel2.Show;
Bevel4.Show;
Bevel5.Show;
Bevel6.Show;
Bevel7.Show;
Bevel8.Show;
WizardForm.Bevel1.Show;
WizardForm.Bevel1.SetBounds(0,90,WizardForm.ClientWidth,2);
end;
#endif

if CurPageID=wpSelectcomponents then begin
HideComponents;
case ActiveLanguage of
'eng': Application.Title := 'Setup —- « {#GameName} »';
'rus': Application.Title := 'Óñòàíîâêà —- « {#GameName} »';
end;
TextLabel[26].show;
WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack');
WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
WizardForm.NextButton.Caption:= CustomMessage(lang+'ButtonInstall');
WizardForm.SelectComponentsLabel.show;
//TextLabel[2].show;
TextLabel[7].Show;
Bevel3.Show;
Bevel2.Show;
Background.Hide
Bevel4.Show;
Bevel5.Show;
Bevel6.Show;
Bevel7.Show;
Bevel8.Show;
TextLabel[28].show;
WizardForm.CancelButton.Left:=ScaleX(5332);
WizardForm.Bevel1.Show;
WizardForm.Bevel1.SetBounds(0,90,WizardForm.ClientWidth,2);
WizardForm.ComponentsList.Show;
end;
//-------- Second Page --------\\
if CurPageID=wpSelectDir then begin
HideComponents;
case ActiveLanguage of
'eng': Application.Title := 'Setup —- « {#GameName} »';
'rus': Application.Title := 'Óñòàíîâêà —- « {#GameName} »';
end;
TextLabel[13].show;
TextLabel[29].show;
TextLabel[8].show;
TextLabel[2].show;
TextLabel[14].show;
TextLabel[15].show;
TextLabel[16].show;
TextLabel[17].show;
TextLabel[18].show;
TextLabel[19].show;
TextLabel[20].show;
TextLabel[21].show;
TextLabel[22].show;
WizardForm.CancelButton.Left:=ScaleX(5332);
WizardForm.BackButton.Caption:= CustomMessage(lang+'ButtonBack');
WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
WizardForm.NextButton.Caption:= CustomMessage(lang+'Buttonnext');
Bevel3.Show;
Bevel2.Show;
Background.hide;
Bevel4.Show;
Bevel5.Show;
Bevel6.Show;
bevel7.Show;
Bevel8.Show;
WizardForm.GroupBrowseButton.Show;
WizardForm.GroupEdit.Show;
WizardForm.DirEdit.Show;
WizardForm.SelectDirLabel.Show;
WizardForm.DirBrowseButton.Show;
GetFreeSpaceCaption(nil);
end;
if CurPageID=wpInstalling then begin
HideComponents;

TextLabel[33].hide;
TextLabel[11].show;
TextLabel[12].show;
TextLabel[3].show;
PauseButton1.show;
WizardForm.CancelButton.Caption:= CustomMessage(lang+'ButtonCancel');
TextLabel[30].show;
Bevel3.Show;
Bevel2.Show;
wizardform.cancelbutton.show;
TextLabel[9].show;
Bevel4.Show;
Bevel5.Show;
Bevel6.Show;
Bevel6.Height:=210;
WizardForm.ProgressGauge.Show;
WizardForm.StatusLabel.Show;
WizardForm.CancelButton.Hide;
WizardForm.CancelButton.Left:=WizardForm.NextButton.Left;
CompactButton.Show;
end;
//--------Game was successfully installed PAGE--------\\
if CurPageID=wpFinished then begin
#ifdef WinTB
WintbStart();
#endif

#ifdef WinTB
Win6TaskBarV1_2(WizardForm.Handle, MainForm.Handle, 0);
#endif
case ActiveLanguage of
'eng': Application.Title := 'Setup —- « {#GameName} »';
'rus': Application.Title := 'Óñòàíîâêà —- « {#GameName} »';
end;
with WizardForm do
begin
AutoScroll := False;
ClientHeight := ScaleY(411);
ClientWidth := ScaleX(584);
Position := poScreenCenter;
lPLogo:= ImgLoad(WizardForm.Handle, ExpandConstant('{tmp}\logo.png'), ScaleX(214), ScaleY(368), ScaleX(158), ScaleY(37), True, True);
ImgApplyChanges(WizardForm.Handle);
end;
WizardForm.NextButton.Caption:= CustomMessage(lang+'Buttonfinish');
with langBtn do
begin
Height := ScaleY(30);
Left := ScaleX(5);
Top := ScaleY(372);
Width := ScaleX(31)
OnClick:= @LangBtnClick;
Parent:= WizardForm;
end;
HideComponents;
TextLabel[5].show;
TextLabel[10].show;
Bevel2.Show;
Bevel3.Show;
Background.Show;
Runbtn.show;
end;

//--------Game Fail To Install PAGE--------\\
if (CurPageID = wpFinished) and (ISDoneError=True) then
begin
case
ActiveLanguage of
'eng': Application.Title := 'Setup —- « {#GameName} »';
'rus': Application.Title := 'Óñòàíîâêà —- « {#GameName} »';
end;
#ifdef WinTB
SetTaskBarProgressState(TBPF_ERROR);
WintbStart();
Win6TaskBarV1_2(WizardForm.Handle, MainForm.Handle, 0);
#endif
Runbtn.hide;
WizardForm.NextButton.Caption:= CustomMessage(lang+'Buttonfinish');
with langBtn do
begin
Height := ScaleY(30);
Left := ScaleX(5);
Top := ScaleY(372);
Width := ScaleX(31)
OnClick:= @LangBtnClick;
Parent:= WizardForm;
end;
with WizardForm do
begin
AutoScroll := False;
ClientHeight := ScaleY(411);
ClientWidth := ScaleX(584);
Position := poScreenCenter;
lPLogo:= ImgLoad(WizardForm.Handle, ExpandConstant('{tmp}\logo.png'), ScaleX(214), ScaleY(368), ScaleX(158), ScaleY(37), True, True);
ImgApplyChanges(WizardForm.Handle);
end;
HideComponents;
TextLabel[4].show;
TextLabel[10].show;
Bevel2.Show;
Bevel3.Show;
Background.Show;
end;
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
if
(PageID=wpSelectProgramGroup) then Result:=true;
end;

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


Последний раз редактировалось habib2302, 13-12-2019 в 12:29.


Отправлено: 12:15, 13-12-2019 | #416


Аватара для nik1967

Старожил


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

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


Цитата habib2302:
А как быть с cancel page? »
Я же не знаю, как реализована страница отмены.

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


Отправлено: 12:35, 13-12-2019 | #417


Аватара для habib2302

Ветеран


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

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


nik1967, sorry
https://drive.google.com/file/d/1s9e...2SmLK-AR6FMe2h

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


Отправлено: 12:37, 13-12-2019 | #418


Аватара для nik1967

Старожил


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

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


habib2302, как-то так
https://drive.google.com/open?id=1Wj...tYnwNK7Cexa4my
Все под меня косите

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

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

Отправлено: 13:11, 13-12-2019 | #419


Аватара для habib2302

Ветеран


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

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


web_form, В Main.iss - 711 строка, В module\cancel form.iss - 200 строка, В module\page.iss - 169 и 220 строки

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


Отправлено: 14:15, 13-12-2019 | #420



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

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

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




 
Переход