|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Забанен Сообщения: 96
|
парни как прописать ярлыки имеется программа на рабочий стол надо 4 ярлыка вывести как сделать?
|
Отправлено: 14:13, 25-10-2015 | #1011 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать vadjliss, Как это читать? Знаки препинания где?
Цитата vadjliss:
|
|
------- Отправлено: 15:10, 25-10-2015 | #1012 |
Забанен Сообщения: 96
|
![]() спасибо! всё работает |
Отправлено: 16:06, 25-10-2015 | #1013 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Всем привет! Таки доделываю скрипт для сборки CS:S, но столкнулся с одним нюансом при установке на Windows 8:
![]() Этот файл запускается после завершения установки Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent _________________________________ Второй глюк. Ниже код создания ярлыков: [Icons] Name: "{group}\Запустить {#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{group}\Сайт сообщества"; Filename: "{#MyAppURL}" Name: "{group}\Удалить сборку"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon |
Последний раз редактировалось Batistas, 25-10-2015 в 23:09. Отправлено: 22:34, 25-10-2015 | #1014 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Здравствуйте уважаемые форумчане.
У меня такой вопрос - имеется кусок скрипта со слайдшоу для препроцессора: Код
[Files] ; Файлы заставки Source: SlideShou\*; DestDir: {tmp}; Flags: dontcopy deleteafterinstall noencryption nocompression; Source: J:\Soft\ISS\Resource\isgsg_0.6.0.69.dll; DestDir: {tmp}; DestName: isgsg.dll; Flags: dontcopy deleteafterinstall noencryption nocompression overwritereadonly [-Code-] //Слайд шоу const Indent=25; function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload'; function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boolean; external 'ssInitialize@files:isgsg.dll stdcall delayload'; procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload'; procedure ssAddImage(FileName:PAnsiChar); external 'ssAddImage@files:isgsg.dll stdcall delayload'; procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload'; procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload'; function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload'; procedure InitializeWizard4(); begin ssInitialize(GetWindowLong(MainForm.Handle,-8),8,False,1,$FF000000); end; procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep=ssInstall then begin ExtractTemporaryFile('Screen (1).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (1).jpg'); ExtractTemporaryFile('Screen (2).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (2).jpg'); ExtractTemporaryFile('Screen (3).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (3).jpg'); ExtractTemporaryFile('Screen (4).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (4).jpg'); ExtractTemporaryFile('Screen (5).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (5).jpg'); ExtractTemporaryFile('Screen (6).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (6).jpg'); ExtractTemporaryFile('Screen (7).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (7).jpg'); ExtractTemporaryFile('Screen (8).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (8).jpg'); ExtractTemporaryFile('Screen (9).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (9).jpg'); ExtractTemporaryFile('Screen (10).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (10).jpg'); ExtractTemporaryFile('Screen (11).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (11).jpg'); ExtractTemporaryFile('Screen (12).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (12).jpg'); ExtractTemporaryFile('Screen (13).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (13).jpg'); ExtractTemporaryFile('Screen (14).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (14).jpg'); ExtractTemporaryFile('Screen (15).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (15).jpg'); ExtractTemporaryFile('Screen (16).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (16).jpg'); ssStartShow; end; if CurStep=ssPostInstall then ssStopShow; end; procedure CurPageChanged2(CurPageID: Integer); begin if CurPageID=wpInstalling then begin WizardForm.MainPanel.Visible:=False; WizardForm.Bevel1.Visible:=False; WizardForm.Width:=ScaleX(395); WizardForm.Height:=ScaleY(142); WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent); WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent); WizardForm.InnerNotebook.Left:=ScaleX(10); WizardForm.InnerNotebook.Top:=ScaleY(10); WizardForm.InnerNotebook.Width:=ScaleX(370); WizardForm.StatusLabel.Left:=ScaleX(0); WizardForm.StatusLabel.Top:=ScaleY(0); WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width; WizardForm.FileNameLabel.Left:=ScaleX(0); WizardForm.FileNameLabel.Top:=ScaleY(20); WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width; WizardForm.ProgressGauge.Top:=ScaleY(40); WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width; WizardForm.CancelButton.Left:=ScaleX(154); WizardForm.CancelButton.Top:=ScaleY(80); end; if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin if WizardForm.Width<>502 then begin WizardForm.Visible:=False; WizardForm.Width:=ScaleX(502); WizardForm.Height:=ScaleY(392); WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2; WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2; WizardForm.MainPanel.Visible:=True; WizardForm.Bevel1.Visible:=True; WizardForm.InnerNotebook.Left:=ScaleX(40); WizardForm.InnerNotebook.Top:=ScaleY(72); WizardForm.InnerNotebook.Width:=ScaleX(417); WizardForm.Visible:=True; end; end; end; procedure DeinitializeSetup3(); begin ssDeInitialize; end; Так вот можно ли каким-нибудь образом организовать автоматическое создание списка изображений (циклом или ещё как) в зависимости от количества файлов в папке, чтобы если Source: SlideShou\* содержит 15 изображений то ExtractTemporaryFile('Screen (1).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (1).jpg'); ....... ExtractTemporaryFile('Screen (15).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (15).jpg'); ssStartShow; а если содержит 30 изображений то ExtractTemporaryFile('Screen (1).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (1).jpg'); ....... ExtractTemporaryFile('Screen (30).jpg'); ssAddImage(ExpandConstant('{tmp}')+'\Screen (30).jpg'); ssStartShow; |
Отправлено: 19:16, 27-10-2015 | #1015 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата palsn2000:
|
|
Отправлено: 19:56, 28-10-2015 | #1016 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать El Sanchez, Спасибо за пример, только вот, даже стыдно в этом признаваться, у меня проблема типа unknown identifier 'i'
![]() когда указываю в константах i = 0; - ругается на строке i := i + 1; когда в Var - ошибка с двоеточием. |
Отправлено: 21:45, 28-10-2015 | #1017 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата palsn2000:
Объявление переменной выглядит так (это вы должны знать чуть-ли не в первую очередь): |
|
------- Отправлено: 09:25, 29-10-2015 | #1018 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать kotyarko@fb, Ошибка с двоеточием у меня была когда я в Var пытался занести i: 0; - потому, что при i: Integer; у меня выскакивает окошко с сообщением "Identifier expected." на строке procedure CurPageChanged2(CurPageID: Integer);
|
Отправлено: 11:08, 29-10-2015 | #1019 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата palsn2000:
Цитата palsn2000:
|
||
------- Отправлено: 12:51, 29-10-2015 | #1020 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|