![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Bartron, http://rghost.ru/6tRGNZ995
Тогда так. Стандартная установка, ошибки нет. |
Последний раз редактировалось TryRooM, 25-11-2015 в 16:06. Отправлено: 15:41, 25-11-2015 | #1101 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
TryRooM, не помогает. Что странно, если прикрутить распаковку через Isdone, то окно работает нормально, ошибки нет, но если распаковка стандартная (что мне и нужно), то появляется ошибка; и если ботву убрать, окно тоже работает нормально, ничего понять не могу...
|
Отправлено: 16:01, 25-11-2015 | #1102 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Bartron, При стандартной установке, скрипт работает. А понять, что у вас не клеится, я не телепат.
|
Последний раз редактировалось TryRooM, 03-02-2016 в 13:32. Отправлено: 16:13, 25-11-2015 | #1103 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 16:27, 25-11-2015 | #1104 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать habib2302,
Исходя из вашего кода, файл Settings.reg должен находиться, в папке WinRAR, тогда, ошибки не будет. |
Отправлено: 16:59, 25-11-2015 | #1105 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать Dodakaedr, Как это все реализовать
|
Последний раз редактировалось ZVSRus, 22-03-2016 в 12:35. Отправлено: 17:07, 25-11-2015 | #1106 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать TryRooM, он там и лежит. Тем более вы сами подумайте зачем я делаю еще проверку на файл??
|
------- Отправлено: 17:11, 25-11-2015 | #1107 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать
habib2302, Вот ваш пример. Скомпилируйте и посмотрите.
|
||||
Последний раз редактировалось TryRooM, 26-11-2015 в 01:20. Отправлено: 17:23, 25-11-2015 | #1108 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
|
|
------- Отправлено: 20:07, 25-11-2015 | #1109 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
ZVSRus, вот код для закрепления [Tasks] Name: ic; Description: {cm:AdditionalIcons}; Components: AIDA64\I; Name: ic\taskbar; Description: Закрепить в панели управления; MinVersion: 0.0,6.1.7600; Flags: unchecked Name: ic\startmenu; Description: Закрепить в пуске; MinVersion: 0.0,6.1.7600; Flags: unchecked [code] function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryEx{#A}@kernel32.dll stdcall'; function LoadString(hInstance: THandle; uID: SmallInt; var lpBuffer: Char; nBufferMax: Integer): Integer; external 'LoadString{#A}@user32.dll stdcall'; function SHGetNewLinkInfo(pszLinkTo, pszDir: String; var pszName: Char; var pfMustCopy: Longint; uFlags: UINT): BOOL; external 'SHGetNewLinkInfo{#A}@shell32.dll stdcall'; function PinToTaskbar(const szFilename: String; IsPin: Boolean): Boolean; // szFilename : full path to executable file // IsPin......: False - unpin from TaskBar, True - pin to TaskBar var hInst: THandle; buf: array [0..255] of Char; i, res: Integer; strLnk, strVerb: String; objShell, colVerbs: Variant; begin Result := False; if (GetWindowsVersion < $06010000) or not FileExists(szFilename) then Exit; { below Windows 7 } { String resources } if IsPin then begin if SHGetNewLinkInfo(szFilename, ExpandConstant('{tmp}'), buf[0], res, 0) then begin while buf[Length(strLnk)] <> #0 do Insert(buf[Length(strLnk)], strLnk, Length(strLnk)+1); if FileExists(ExpandConstant('{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\') + ExtractFileName(strLnk)) then Exit; end; res := 5386; { Pin to Tas&kbar } end else res := 5387; { Unpin from Tas&kbar } { Load string resource } hInst := LoadLibraryEx(ExpandConstant('{sys}\shell32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE); if hInst <> 0 then try for i := 0 to LoadString(hInst, res, buf[0], 255)-1 do Insert(buf[i], strVerb, i+1); try objShell := CreateOleObject('Shell.Application'); colVerbs := objShell.Namespace(ExtractFileDir(szFilename)).ParseName(ExtractFileName(szFilename)).Verbs; for i := 1 to colVerbs.Count do if CompareText(colVerbs.Item[i].Name, strVerb) = 0 then begin colVerbs.Item[i].DoIt; Result := True; Break; end; except Exit; end; finally FreeDLL(hInst); end; end; function PinToStartMenu(const szFilename: String; IsPin: Boolean): Boolean; // szFilename : full path to exe- or lnk-file // IsPin......: False - unpin from StartMenu, True - pin to StartMenu var hInst: THandle; buf: array [0..259] of Char; i, res: Integer; strLnk, strVerb: String; objShell, colVerbs: Variant; begin Result := False; if not FileExists(szFilename) then Exit; if GetWindowsVersion > $06020000 then Exit; { Window 8 and above } { Windows 7 } if (GetWindowsVersion >= $06010000) and boolean(SHGetNewLinkInfo(szFilename, ExpandConstant('{tmp}'), buf[0], res, 0)) then begin while buf[Length(strLnk)] <> #0 do Insert(buf[Length(strLnk)], strLnk, Length(strLnk)+1); if FileExists(ExpandConstant('{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\') + ExtractFileName(strLnk)) then Exit; end; { String resources } if IsPin then res := 5381 { Pin to Start Men&u } else res := 5382; { Unpin from Start Men&u } { Load string resource } hInst := LoadLibraryEx(ExpandConstant('{sys}\shell32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE); if hInst <> 0 then try for i := 0 to LoadString(hInst, res, buf[0], 255)-1 do Insert(buf[i], strVerb, i+1); try objShell := CreateOleObject('Shell.Application'); { below Windows 7 } if GetWindowsVersion < $06010000 then begin objShell.Namespace(ExtractFileDir(szFilename)).ParseName(ExtractFileName(szFilename)).InvokeVerb(strVerb); Result := True; end; { Windows 7 } if GetWindowsVersion >= $06010000 then begin colVerbs := objShell.Namespace(ExtractFileDir(szFilename)).ParseName(ExtractFileName(szFilename)).Verbs; for i := 1 to colVerbs.Count do if CompareText(colVerbs.Item[i].Name, strVerb) = 0 then begin colVerbs.Item[i].DoIt; Result := True; Break; end; end; except Exit; end; finally FreeDLL(hInst); end; end; Procedure CurPageChanged(CurPageID: Integer); Begin Case CurPageID of wpFinished: begin if IsTaskSelected('icons\taskbaricon') then PinToTaskbar(ExpandConstant('{app}\app.exe'), True); if IsTaskSelected('icons\startmenuicon') then PinToStartMenu(ExpandConstant('{app}\app.exe'), True); end; end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var instPath: string; begin case CurUninstallStep of usUninstall: begin PinToTaskbar(ExpandConstant('{app}\app.exe'), False); PinToStartMenu(ExpandConstant('{app}\app.exe'), False); end; end; end; |
|
------- Последний раз редактировалось habib2302, 26-11-2015 в 17:57. Отправлено: 17:49, 26-11-2015 | #1110 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|