|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Скрипты Inno Setup. Помощь и советы [часть 2] |
|
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
|
Ветеран Сообщения: 1133 |
Лимит страниц.
Тема закрыта. Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3] Внимание! Данная тема предназначена только для обсуждения написания скриптов ! Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Ссылка на архив предыдущей темы (также можно скачать из вложения) |
|
------- Отправлено: 22:06, 23-08-2009 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Как выполнить что-нибуть до распаковки файлов?
зачем нужно: я распаковываю 1.exe файл, такой файл уже существует и запущен в процессе установке произойдет ошибка я же хочу до распаковки выполнить команду по убиению процесса 1.exe [Run] Filename: {sys}\cmd.exe; Parameters: /C taskkill /f /im 1.exe; Flags: runhidden; Languages: ; WorkingDir: {sys}; Components: program только как это сделать? |
Отправлено: 15:20, 11-09-2010 | #2321 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Я скачал скрипт с установкой с 2х дисков
#define NeedSize "5890" ;Указываем размер игры,в байтах. ;#define precomp GetEnv("ProgramFiles") + "\FreeArc\PowerPack\Max\*" ;если архивы созданы с PRECOMP, раскомментируйте строку и укажите папку с необходимыми для распаковки файлами (в общем случае это precomp04.exe, PPMonstr.exe, ecm.exe, unecm.exe, packjpg_dll.dll) ;Добавляем архивы #define Archives "{src}\data1.bin;DestDir:{app}\;Disk:1;Components:Russian" #define Archives Archives + "|" + "{src}\data3.bin;DestDir:{app}\;Disk:1" ;архивы указываются так {имя архива;DestDir:путь распаковки;Disk:диск на котором лежит} ;если есть компоненты то так {имя архива;DestDir:путь распаковки;Disk:диск на котором лежит;Components:название компонента} ;остальные архивы, где не указаны компоненты тоже будут распаковываться |
Отправлено: 15:50, 11-09-2010 | #2322 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Подскажите, пожалуйста, как сделать сообщение на странице копирования (там где "зеленая колбаса" ползет).
И как сделать его кликабельным (ссылка на сайт с изменением курсора на "руку") Пытался делать через WizardFormDesigner, вот что он выдал [ISFormDesigner] WizardForm=FF0A005456C73506572F7466C600 [_Code] { RedesignWizardFormBegin } // Don't remove this line! // Don't modify this section. It is generated automatically. var Label1: TLabel; procedure RedesignWizardForm; begin { Label1 } Label1 := TLabel.Create(WizardForm); with Label1 do begin Name := 'Label1'; Parent := WizardForm.InstallingPage; Alignment := taCenter; Caption := 'Все программы в сборке бесплатные.' + #13#10 + 'Кейгены, кряки, серийники, таблЭтки и т.п. не требуются.'; Transparent := False; Left := ScaleX(8); Top := ScaleY(88); Width := ScaleX(400); Height := ScaleY(26); end; { ReservationBegin } // This part is for you. Add your specialized code here. { ReservationEnd } end; // Don't modify this section. It is generated automatically. { RedesignWizardFormEnd } // Don't remove this line! Заранее спасибо! ------------------------------------------------ Цитата Wave_is:
[Components] Name: kill; Description: наша прога; [Files] Components: kill; Source: tmp\1.txt; DestDir: {tmp}; BeforeInstall: KillEmAll; Flags: ignoreversion uninsrestartdelete setntfscompression Components: kill; Source: уже нужные файлы... [_Code] procedure KillEmAll; var Res : Integer; Begin Exec('taskkill.exe', ' /f /im 1.exe ',ExpandConstant('{sys}'),SW_HIDE,ewWaitUntilTerminated,res); end; |
|
------- Последний раз редактировалось jameszero, 08-11-2010 в 18:18. Причина: Тег [code] Отправлено: 15:45, 14-09-2010 | #2323 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 17:48, 14-09-2010 | #2324 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Доброго времени суток всем. Я новичок в этой программе, потому наверно вопросы, которые я задам покажутся вам глупыми.
1. У меня не получается, чтобы установщик включал в себя две и более папок (например я хочу в игре Сталкер упаковать отдельно папку bin и gamedata) 2. И как сделать просто фоновый рисунок сзади вместо BackColor? у меня не получается, я только находил про слайды. [Setup] DiskSpanning=no DiskSliceSize=1500000000 AppName= S.T.A.L.K.E.R. AppVerName=S.T.A.L.K.E.R. MeDVeD EDITION AppPublisher=S.T.A.L.K.E.R. MeDVeD EDITION AppPublisherURL= AppVersion= AppSupportURL= AppUpdatesURL= AppCopyright=Здесь закон - Тайга, а прокурор MeDVeD(С) DefaultDirName={reg:HKLM\Software\GSC Game World\STALKER-SHOC,InstallPath|}\gamedata DefaultGroupName=S.T.A.L.K.E.R. MeDVeD EDITION DisableProgramGroupPage=yes InfoAfterFile=D:\Games\S.T.A.L.K.E.R.\gamedata\описание.doc LicenseFile=D:\12\лицензия.txt OutputDir=C:\ OutputBaseFilename=S.T.A.L.K.E.R. MeDVeD EDITION SetupIconFile=D:\12\иконка.ico UninstallDisplayName=S.T.A.L.K.E.R. MeDVeD EDITION - удаление Compression=lzma SolidCompression=yes WizardImageFile=D:\12\stsmall.bmp WizardSmallImageFile=D:\12\st2.bmp WindowVisible=yes WindowShowCaption=no BackColor=clBlack BackColor2=clBlack VersionInfoVersion= VersionInfoCopyright= UninstallDisplayIcon=D:\12\иконка.ico [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: "D:\Games\S.T.A.L.K.E.R.\gamedata\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "D:\Games\S.T.A.L.K.E.R.\bin\XR_3DA.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "BASS.dll"; DestDir: "{tmp}"; Flags: dontcopy noencryption nocompression Source: "sound.mp3"; DestDir: "{tmp}"; Flags: dontcopy noencryption nocompression [Icons] Name: "{group}\{cm:UninstallProgram,AMК}"; Filename: "{uninstallexe}" [code] const BASS_SAMPLE_LOOP = 4; var mp3Handle: HWND; mp3Name: String; function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean; external 'BASS_Init@files:BASS.dll stdcall delayload'; function BASS_StreamCreateFile(mem: BOOL; f: PChar; offset1: DWORD; offset2: DWORD; length1: DWORD; length2: DWORD; flags: DWORD): DWORD; external 'BASS_StreamCreateFile@files:BASS.dll stdcall delayload'; function BASS_Start: Boolean; external 'BASS_Start@files:BASS.dll stdcall delayload'; function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean; external 'BASS_ChannelPlay@files:BASS.dll stdcall delayload'; function BASS_Stop: Boolean; external 'BASS_Stop@files:BASS.dll stdcall delayload'; function BASS_Free: Boolean; external 'BASS_Free@files:BASS.dll stdcall delayload'; function InitializeSetup(): Boolean; begin ExtractTemporaryFile('BASS.dll'); ExtractTemporaryFile('sound.mp3'); mp3Name := ExpandConstant('{tmp}\sound.mp3'); BASS_Init(-1, 44100, 0, 0, 0); mp3Handle := BASS_StreamCreateFile(FALSE, PChar(mp3Name), 0, 0, 0, 0, BASS_SAMPLE_LOOP); BASS_Start(); BASS_ChannelPlay(mp3Handle, False); Result := True; end; procedure DeinitializeSetup(); begin BASS_Stop(); BASS_Free(); end; Можете подсказать, что и куда добавить? |
Отправлено: 14:39, 16-09-2010 | #2325 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата Cheatkiller:
[Files] Source: stalcker\*; DestDir: {app}\; Flags: ignoreversion recursesubdirs createallsubdirs А по второму вопросу не скажу - я не делал фоновые изображения. Могу только указать на коллекцию скриптов в шапке темы, что-то подобное там есть. Вот пример оттуда [Files] Source: "C:\background.bmp"; DestDir: "{tmp}"; Flags: dontcopy [_Code] function GetSystemMetrics(nIndex:Integer):Integer; external 'GetSystemMetrics@user32.dll stdcall'; procedure InitializeWizard(); var BackgroundBitmapImage: TBitmapImage; s:string; width, height:Integer; bitmap:TBitmap; begin ExtractTemporaryFile('background.bmp'); WizardForm.Position:=poScreenCenter; MainForm.BORDERSTYLE:=bsNone; width:=GetSystemMetrics(61); height:=GetSystemMetrics(62); MainForm.Width:=width; MainForm.Height:=height; width:=MainForm.ClientWidth; height:=MainForm.ClientHeight; s:=ExpandConstant('{tmp}')+'\background.bmp'; BackgroundBitmapImage := TBitmapImage.Create(MainForm); BackgroundBitmapImage.Bitmap.LoadFromFile(s); BackgroundBitmapImage.Align := alClient; BackgroundBitmapImage.Parent := MainForm; BackgroundBitmapImage.Stretch:=True; MainForm.Visible:=True; end; |
|
------- Отправлено: 14:48, 16-09-2010 | #2326 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Сделал на инно поддержку параметров командной строки
Если ставлю /haaliavi /verysilent - работает, если /verysilent /haaliavi - не работает! procedure InitializeWizard(); ... for i:= 1 to ParamCount do begin if (Pos(Lowercase('silent'), Lowercase(ParamStr(i))) > 0) then silent := 1 else silent := 0; end; ... if (silent = 1) then begin //перебор различных параметров ком.строки for i:= 1 to ParamCount do begin if ( (Pos(Lowercase('/haaliavi'), Lowercase(ParamStr(i))) > 0) and haaliexists) then WizardForm.ComponentsList.Checked[WizardForm.ComponentsList.Items.IndexOf('{#haaliaviDesc}')]:=True; end; end; // silent=1 ... [Registry] Components: haaliavi... |
------- Последний раз редактировалось R.i.m.s.k.y., 17-09-2010 в 11:21. Отправлено: 11:08, 17-09-2010 | #2327 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y.,
for i:=0 to ParamCount do begin s:= ParamStr(i); MsgBox(IntToStr(i)+#10#13+s, mbInformation, MB_OK); if (Lowercase(ParamStr(i))='/silent') or (Lowercase(ParamStr(i))='/verysilent') then silent := 1 else silent := 0; end; if silent=1 then for i:= 1 to ParamCount do if (Lowercase(ParamStr(i))='/haaliavi') and haaliexists then MsgBox('haaliexists', mbInformation, MB_OK);; //WizardForm.ComponentsList.Checked[WizardForm.ComponentsList.Items.IndexOf('{#haaliaviDesc}')]:=True; |
Отправлено: 12:51, 17-09-2010 | #2328 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать South, спасибо, но я уже сделал проще - в InitializeSetup получаю строчку параметров целиком, а потом если требуемый параметр найден в этой строчке то...
|
------- Последний раз редактировалось R.i.m.s.k.y., 17-09-2010 в 13:14. Отправлено: 13:04, 17-09-2010 | #2329 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:10, 17-09-2010 | #2330 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Inno Setup .:[все вопросы]:. | Mchik | Автоматическая установка приложений | 1329 | 23-08-2009 20:13 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|