![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Ivan_009,
Отправил в ЛС. |
Отправлено: 16:21, 31-08-2012 | #781 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать Johny777, R.i.m.s.k.y., Спасибо.
R.i.m.s.k.y., да это было не важно что из окон открыто. Главное было параметры shutdown в инно узнать. просто я прописывал перезагрузку как указала команда shutdown help [Run] Filename: shutdown.exe; Parameters: -r -t 5; Flags: runhidden nowait postinstall unchecked что в конечном счете у меня перезагрузка не происходила. а оказалось что в инно параметры задаются совсем другим способом. а так для надежности есть более радикальный и удобный способ. например |
Последний раз редактировалось SatHan, 31-08-2012 в 18:17. Отправлено: 17:54, 31-08-2012 | #782 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать SatHan, есть глобальная функция NeedRestart - почитай про нее
|
------- Отправлено: 17:55, 31-08-2012 | #783 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать El Sanchez, в том варианте, который вы предложили, при компиляции пишет type mismatch
Вот код: var phMPQ: THandle; function SFileSetAddFileCallback(hMpq: THandle; pfnAddFileCB, pvUserData: Longint): BOOL; external 'SFileSetAddFileCallback@files:stormlib.dll stdcall'; procedure AddFileCallback(pvUserData: Longint; dwBytesWritten, dwTotalBytes: DWORD; bFinalCall: BOOL); begin // end; // procedure CurStepChanged(CurStep: TSetupStep); begin SFileSetAddFileCallback (phMPQ, @AddFileCallback, 0); end; А вот так пробовал я. В этом случае компилируется, но выходит ошибка в инсталляторе "Exeption: Accsess violation at adress xxxxxxxx. Write of address xxxxxxxx var phMPQ: THandle; type TCallback = procedure (pvUserData: Integer; dwBytesWritten, dwTotalBytes: DWORD; bFinalCall: BOOL); function SFileSetAddFileCallback(hMpq: THandle; pfnAddFileCB: TCallback; pvUserData: Integer): BOOL; external 'SFileSetAddFileCallback@files:stormlib.dll stdcall'; procedure AddFileCallback(pvUserData: Integer; dwBytesWritten, dwTotalBytes: DWORD; bFinalCall: BOOL); begin // end; // Procedure CurPageChanged(CurPageID: Integer); begin SFileSetAddFileCallback (phMPQ, @AddFileCallback, 0); end; |
Отправлено: 21:20, 31-08-2012 | #784 |
![]() Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать Цитата SatHan:
при принудительном завершении setup.tmp и setup.exe всё равно нагрузка идёт, в %temp% обнаружил папки *..tmp. в одной из них есть ещё папка _isetup в ней два файла _RegDLL.tmp и _shfoldr.dll может из за них идёт нагрузка. мож на них нада какую процедуру повесить? |
|
Отправлено: 07:04, 01-09-2012 | #785 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата al1511:
Цитата al1511:
CallbackAddr - функция из расширенной китайской версии Inno, возвращающая указатель на callback-функцию AddFileCallback. Если у вас оригинальная версия, то для работы с callback-функциями понадобится сторонняя библиотека innocallback.dll |
||
Отправлено: 12:20, 01-09-2012 | #786 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
|
|
Отправлено: 18:23, 02-09-2012 | #787 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Callback работает, но теперь возникла другая проблема )) Во время упаковки файлов в архив окно Inno Setup зависает (как будто ждёт завершения выполнения dll) и отвисает только тогда, когда заканчивается добавление файлов в архив... Информация в окне во время добавления файлов не меняется, и окошко даже нельзя двигать...
Помогите, пожалуйста, разобраться! |
Отправлено: 10:31, 03-09-2012 | #788 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Народ помогите новичку! слепил скрипт из is game script generator и решил вставить скин из isskins при компиляции выдает такую ошибку, что не так сделал?
[Setup] SourceDir=. OutputDir=Setup AppName=GTA San Andreas AppVerName=GTA San Andreas AppVersion=GTA San Andreas AppPublisher=Îëåã Ãèíèÿòîâ AppCopyright=Îëåã Ãèíèÿòîâ AppPublisherURL=SpiCeMaN@spaces.ru AppSupportURL=SpiCeMaN@spaces.ru AppUpdatesURL=SpiCeMaN@spaces.ru DefaultDirName={pf}\GTA San Andreas DefaultGroupName=GTA San Andreas AllowNoIcons=yes OutputBaseFilename=setup WizardImageFile=C:\Users\Vadim\Desktop\ISS\GTA-San-Andreas.bmp WizardSmallImageFile=C:\Users\Vadim\Desktop\ISS\grand_theft_auto_san_andreas_icon_v2_1_by_kamizanon-d4tuvym.bmp SetupIconFile=C:\Users\Vadim\Desktop\ISS\grand_theft_auto_san_andreas_icon_v2_1_by_kamizanon-d4tuvym.ico WindowVisible=no WindowShowCaption=no WindowResizable=no Compression=lzma/normal DiskSpanning=yes DiskSliceSize=2100000000 SlicesPerDisk=1 LicenseFile=license.txt [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" [Files] Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression Source: "bass.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression Source: "C:\Users\Vadim\Desktop\ISS\GTA_San_Andreas-GTA_San_Andreas.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression Source: C:\Users\Vadim\Desktop\ISS\ISSkin.dll; DestDir: {tmp}; Flags: dontcopy Source: C:\Users\Vadim\Desktop\ISS\tiger.cjstyles; DestDir: {tmp}; Flags: dontcopy Source: "C:\GAMES\GTA San Andreas\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension [Icons] Name: "{group}\GTA San Andreas"; Filename: "{app}\gta_sa.exe"; WorkingDir: "{app}"; Name: "{userdesktop}\GTA San Andreas"; Filename: "{app}\gta_sa.exe"; WorkingDir: "{app}"; Tasks: desktopicon; Name: "{group}\{cm:UninstallProgram,GTA San Andreas}"; Filename: "{uninstallexe}" [Run] Description: "{cm:LaunchProgram, GTA San Andreas}"; Filename: "{app}\gta_sa.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked [UninstallDelete] Type: filesandordirs; Name: "{app}" [сode] procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall'; procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall'; function InitializeSetup(): Boolean; begin ExtractTemporaryFile('aqualux.cjstyles'); LoadSkin(ExpandConstant('{tmp}\aqualux.cjstyles'), ''); Result := True; end; procedure DeinitializeSetup(); begin UnloadSkin(); end; const Indent=10; dURL=2; var URLLabel,URLLabelShadow:TLabel; procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall'; procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall'; procedure URLLabelClick(Sender: TObject); var ErrorCode:integer; begin ShellExec('open','SpiCeMaN@spaces.ru','','',SW_SHOWNORMAL,ewNoWait,ErrorCode); end; procedure URLLabelMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin URLLabel.Top:=URLLabel.Top+dURL; URLLabel.Left:=URLLabel.Left+dURL; URLLabel.Font.Style:=URLLabel.Font.Style+[fsUnderline]; URLLabel.Font.Color:=clBlue; URLLabelShadow.Visible:=False; end; procedure URLLabelMouseUp(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin URLLabel.Top:=URLLabel.Top-dURL; URLLabel.Left:=URLLabel.Left-dURL; URLLabel.Font.Style:=URLLabel.Font.Style-[fsUnderline]; URLLabel.Font.Color:=clMaroon; URLLabelShadow.Visible:=True; end; function InitializeSetup:boolean; begin ExtractTemporaryFile('GTA_San_Andreas-GTA_San_Andreas.mp3'); ExtractTemporaryFile('bass.dll'); Result:=True; end; procedure InitializeWizard; begin URLLabelShadow:=TLabel.Create(WizardForm); with URLLabelShadow do begin Top:=ScaleY(331); Left:=ScaleX(25); Caption:='SpiCeMaN@spaces.ru'; AutoSize:=True; Parent:=WizardForm; Transparent:=True; Font.Color:=$969696; Font.Size:=9; Font.Style:=Font.Style+[fsBold]; end; URLLabel:=TLabel.Create(WizardForm); with URLLabel do begin Top:=ScaleY(331)-dURL; Left:=ScaleX(25)-dURL; Caption:='SpiCeMaN@spaces.ru'; AutoSize:=True; Parent:=WizardForm; Cursor:=crHand; Transparent:=True; Font.Color:=clMaroon; Font.Size:=9; Font.Style:=Font.Style+[fsBold]; BringToFront; OnClick:=@URLLabelClick; OnMouseDown:=@URLLabelMouseDown; OnMouseUp:=@URLLabelMouseUp; end; ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'www.csmania.ru',False,False,0,Indent); end; procedure DeinitializeSetup; begin KillMP3Panel; end; |
Отправлено: 11:14, 03-09-2012 | #789 |
![]() Сообщения: 3650
|
Профиль | Сайт | Отправить PM | Цитировать spice, в секции [code] дублируются одинаковые функции/процедуры InitializeSetup и DeinitializeSetup. Fixed version, вроде должно работать
![]() procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall'; procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall'; const Indent=10; dURL=2; var URLLabel,URLLabelShadow:TLabel; procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall'; procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall'; procedure URLLabelClick(Sender: TObject); var ErrorCode:integer; begin ShellExec('open','http://spaces.ru/mysite/?name=SpiCeMaN','','',SW_SHOWNORMAL,ewNoWait,ErrorCode); end; procedure URLLabelMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin URLLabel.Top:=URLLabel.Top+dURL; URLLabel.Left:=URLLabel.Left+dURL; URLLabel.Font.Style:=URLLabel.Font.Style+[fsUnderline]; URLLabel.Font.Color:=clBlue; URLLabelShadow.Visible:=False; end; procedure URLLabelMouseUp(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer); begin URLLabel.Top:=URLLabel.Top-dURL; URLLabel.Left:=URLLabel.Left-dURL; URLLabel.Font.Style:=URLLabel.Font.Style-[fsUnderline]; URLLabel.Font.Color:=clMaroon; URLLabelShadow.Visible:=True; end; function InitializeSetup:boolean; begin ExtractTemporaryFile('GTA_San_Andreas-GTA_San_Andreas.mp3'); ExtractTemporaryFile('bass.dll'); ExtractTemporaryFile('aqualux.cjstyles'); LoadSkin(ExpandConstant('{tmp}\aqualux.cjstyles'), ''); Result:=True; end; procedure InitializeWizard; begin URLLabelShadow:=TLabel.Create(WizardForm); with URLLabelShadow do begin Top:=ScaleY(331); Left:=ScaleX(25); Caption:='SpiCeMaN@spaces.ru'; AutoSize:=True; Parent:=WizardForm; Transparent:=True; Font.Color:=$969696; Font.Size:=9; Font.Style:=Font.Style+[fsBold]; end; URLLabel:=TLabel.Create(WizardForm); with URLLabel do begin Top:=ScaleY(331)-dURL; Left:=ScaleX(25)-dURL; Caption:='SpiCeMaN@spaces.ru'; AutoSize:=True; Parent:=WizardForm; Cursor:=crHand; Transparent:=True; Font.Color:=clMaroon; Font.Size:=9; Font.Style:=Font.Style+[fsBold]; BringToFront; OnClick:=@URLLabelClick; OnMouseDown:=@URLLabelMouseDown; OnMouseUp:=@URLLabelMouseUp; end; ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'www.csmania.ru',False,False,0,Indent); end; procedure DeinitializeSetup; begin UnloadSkin(); KillMP3Panel; end; |
------- Отправлено: 11:59, 03-09-2012 | #790 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|