PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [48] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Dodakaedr
19-06-2014, 13:54
как этот значок динамика прикрепить к определенному компоненту? »
Для меня это сложная задача. Честно не знаю.
Ну а с смайл аймагом чего делать? »
И этого я не знаю.

Irenis
19-06-2014, 15:52
Добрый день! Подскажите пожалуйста, что нужно прописать в скрипте, чтобы во время установки игры ярлык на рабочем столе создавался автоматически (без запроса "создавать ярлык на рабочем столе"). Спасибо))

Dodakaedr
19-06-2014, 15:55
Добрый день! Подскажите пожалуйста, что нужно прописать в скрипте, чтобы во время установки игры ярлык на рабочем столе создавался автоматически (без запроса "создавать ярлык на рабочем столе). Спасибо)) »
В секции [Tasks] удалите [Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
а в секции [Icons] удалите Tasks: desktopicon
Name: "{commondesktop}\Моя программа"; Filename: "{app}\MyProg.exe";
[Setup]
AppName=My programm
AppVersion=1.0
DefaultDirName={pf}\My programm
OutputDir=.

[Files]
Source: "C:\Program Files\Inno Setup 5 Ultra\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion

[Icons]
Name: "{commondesktop}\My Programm"; Filename: "{app}\MyProg.exe";

Irenis
22-06-2014, 15:56
Нужна еще помощь. Как сделать так, чтобы по завершению установки, приложение запустилось автоматически? Что поправить в скрипте? Спасибо :)

Dodakaedr
22-06-2014, 16:04
Нужна еще помощь. Как сделать так, чтобы по завершению установки, приложение запустилось автоматически? Что поправить в скрипте? Спасибо »
удалите в флаге postinstall [Run]
Filename: "{app}\MyProg.exe"; Flags: nowait skipifsilent

Из справки:
postinstall
Действителен только в секции [Run]. Указывает инсталлятору создать задание с флажком (checkbox) на странице мастера Установка завершена. Пользователь может выбрать из предложенного списка параметры, которые он хочет запустить или отменить. Раньше этот флаг назывался showcheckbox.

dinis.grek
23-06-2014, 16:00
Привет ребят. Подскажите почему никак не могу подключить isgsg.dll, можно пример посмотреть, буду благодарен.
Скриншот ошибки компиляции:
http://hostingkartinok.com/show-image.php?id=c535ec15460882e08a0ba575e12e569a

Файл библиотеки isgsg.dll и картинка лежат рядом со скриптом.


[Files]
Source: "isgsg.dll"; Flags: "DontCopy";
Source: "Splash.png"; Flags: "DontCopy";

[КОД]
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer);
external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';

procedure InitializeWizard;
begin
ExtractTemporaryFile('Splash.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\Splash.png',{#SplS},{#SplR},{#SplE},0,2 55,False,$FFFFFF,10);
end;

TryRooM
23-06-2014, 16:53
dinis.grek,
http://rghost.ru/56533384

Shkutu
23-06-2014, 18:28
День добрый!
Есть задача удалять все файлы определенного формата перед установкой приложения. Файлы располагаются в папках типа {app}\aaa\aaa1, {app}\aaa\aaa2 и тд, и таких пронумерованных папок может быть любое, заранее неизвестное количество. Пробовала так:
[InstallDelete]
Type: files; Name: "{app}\aaa\aaa*\*.fr3.exe"

Но этот вариант не работает. Не подскажете, чем заменить?

Dodakaedr
23-06-2014, 19:17
удалять все файлы определенного формата перед установкой приложения. »
По поводу удаления по маске можно попробувать так:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
DelTree(ExpandConstant('{app}') + '\aaa\aaa1\*.fr3.exe', False, True, False);
end;
end;

таких пронумерованных папок может быть любое, заранее неизвестное количество. »
а вот с этим проблема...еще не дорос:) или посмотрите на это (http://forum.oszone.net/post-1911053-1840.html) может что-то оттуда вырежите .

Shkutu
23-06-2014, 23:55
Dodakaedr, дык вся проблема-то как раз в этом неизвестном количестве папок. само по себе удаление и секция installdelete прекрасно делает

Shkutu
24-06-2014, 13:54
И еще такой вопрос, а вернее два:)
Можно ли как-то достучаться до файлов, которые упакованы в инсталлятор? Ну какая-нибудь системная константа или типа того что-нибудь, чтобы можно было скопировать файл, запакованный в инсталлятор, руками, а не через секцию [files].
И можно ли как-нибудь руками выставить значения выбранных компонентов? Ну т е компоненты есть, но пользователь страницу с компонентами не видит. А сами выбранные компоненты определяются программно, в коде.

Habetdin
24-06-2014, 14:49
Shkutu, если нужно извлечение файлов из секции Code - ExtractTemporaryFile (http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_extracttemporaryfile)

Shkutu
24-06-2014, 16:06
Habetdin, спасиб, что совсем про ExtractTemporaryFile вылетело из головы:)
А для выбора нужных компонентов можно заюзать WizardForm.ComponentsList, вроде работает)

Mayson_Noir@vk
24-06-2014, 20:19
Добрый день!

Я совсем новичок в программе, только начинаю разбираться. Немного сложно конечно.
Хотел бы попросить о помощи.
У меня есть файл допустим 1.jpg мне нужно найти в определенной папке такой же файл и заменить его.
Пожалуйста помогите (если конечно не лень :).

Заранее спасибо :)

Dodakaedr
24-06-2014, 21:24
через секцию [Files]
Source: 1.jpg; DestDir: {app}; Flags: ignoreversion

Source: 1.jpg; - это ваш файл;
DestDir: {app}; - папка установки (здесь можете указать определенную папку)
Flags: ignoreversion - заменить.

Mayson_Noir@vk
24-06-2014, 21:51
Я неправильно выразился. Есть папка, и подпапки. Мне нужно найти этот файл, и тогда только заменить...

saurn
25-06-2014, 09:19
Мне нужно найти этот файл, и тогда только заменить... »
[Files]
Source: 1.jpg; DestDir: {app}\folder\subfolder; Flags: overwritereadonly ignoreversion; Check: FileExists(ExpandConstant('{app}\folder\subfolder\1.jpg'));

roman_kudin@vk
25-06-2014, 12:54
Привет всем. Прошу помощи в таком деле. Как сделать копирование файлов из одной папки в папку с приложением при выборе определенного пункта инсталлятора?

Habetdin
25-06-2014, 15:30
копирование файлов из одной папки в папку с приложением при выборе определенного пункта инсталлятора? »
Пример копирования из папки Uncompressed рядом с инсталлятором в папку data в папке приложения:
[Files]
Source: "{src}\Uncompressed\*"; DestDir: "{app}\data"; Flags: createallsubdirs recursesubdirs ignoreversion external skipifsourcedoesntexist; Tasks: copyfiles

[Tasks]
Name: copyfiles; Description: Скопировать файлы; GroupDescription: Дополнительные задачи

На всякий случай: проверка из секции code, выбрана ли задача - IsTaskSelected (http://www.jrsoftware.org/ishelp/topic_isxfunc_istaskselected.htm)

roman_kudin@vk
25-06-2014, 22:48
пример.

В папке {app} находится папка audio, ее надо скопировать по следующему адресу {app}\files. Как такое реализовать?




© OSzone.net 2001-2012