|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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
|
Nordekспасибо! всё работает |
|
Отправлено: 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 | |
|