|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1273 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Johny777
ненене я не зря привел скриншот, PrivilegesRequired проверка на входимость пользователя в системную локальную/доменную группу Администраторы А на моем скрине выше - запуск от root-администратора (в лине это root, в винде не знаю как называется, причем пользователь Администратор и вот этот root-администратор - разные вещи, у последнего ВСЕ права на ВСЁ, в тч на реестр) Вот такой запуск мне и нужен, от root'a |
------- Отправлено: 14:43, 26-11-2012 | #1331 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата Johny777:
Теперь опять про CreateFile с параметром lpSecurityAttributes. Можно объявить как lpSecurityAttributes: SECURITY_ATTRIBUTES, заполнить самому структуру и в функцию передать объявленную переменную типа SECURITY_ATTRIBUTES, а можно объявить как lpSecurityAttributes: Longint, вычислить адрес объявленной переменной самому (сам понимаешь, что в Inno адрес такой переменной не получить. Исключение: для переменной строкового типа можно получить ее адрес при помощи ф-ии CastStringToInteger) и передать в функцию. Но 0 передать можно (This parameter can be NULL). В общем, для просветления кармы почитай http://www.transl-gunsmoker.ru/2009/09/blog-post.html Цитата R.i.m.s.k.y.:
|
||
Отправлено: 17:53, 26-11-2012 | #1332 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Цитата Johny777:
|
|
Отправлено: 21:29, 26-11-2012 | #1333 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
При запуске от рут-админа (как на скрине выше) доступны локальные ресурсы пользователя, но с админскими правами, а если запустить от имени другого пользователя и ввести "Администратор" - пасс, ресурсы совсем другие Энивей по вашей логике должен работать скрипт [Setup] AppId={{DACC4133-A178-4B85-842A-58B74AEDE27E} AppName=My Program AppVersion=1.5 AppPublisher=My Company, Inc. AppPublisherURL=http://www.example.com/ AppSupportURL=http://www.example.com/ AppUpdatesURL=http://www.example.com/ DefaultDirName={pf}\My Program DefaultGroupName=My Program DisableProgramGroupPage=yes OutputBaseFilename=setup Compression=lzma SolidCompression=yes PrivilegesRequired=admin [Registry] Root: HKCU; SubKey: Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.TS\UserChoice; ValueType: string; ValueName: ProgId; ValueData: Applications\mpc-hc.exe --------------------------- Ошибка --------------------------- Ошибка создания ключа реестра: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.TS\UserChoice RegCreateKeyEx: сбой; код 5. Access is denied. Нажмите «Повтор», чтобы повторить попытку, «Пропустить», чтобы пропустить файл, или «Отказ» для отмены установки. --------------------------- Abort Retry Ignore --------------------------- |
|
------- Отправлено: 11:18, 27-11-2012 | #1334 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать del.
|
Последний раз редактировалось TecktonEast, 27-11-2012 в 17:06. Причина: решено Отправлено: 14:45, 27-11-2012 | #1335 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать люди.помогите мне объединить эти два скрипта
procedure InitializeUninstallProgressForm(); begin with TBitmapImage.Create(nil) do begin Parent := UninstallProgressForm; Bitmap.LoadFromResourceName(HInstance, '_IS_logo'); Stretch:= true; SetBounds(ScaleX(20), ScaleY(315), ScaleX(154), ScaleY(42)); {первые 2 параметра - координаты левогого верхнего угла по горизонтали и вертикали, дальше ширина и высота, до которой растянуть} end; end; procedure InitializeUninstallProgressForm(); begin FileCopy(ExpandConstant('{app}\WizardSmallImage.bmp'), ExpandConstant('{app}\WizardSmallImage.bmp'), False); with UninstallProgressForm.WizardSmallBitmapImage do begin Bitmap.LoadFromFile(ExpandConstant('{app}\WizardSmallImage.bmp')); end; end; |
------- Отправлено: 21:28, 27-11-2012 | #1336 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Цитата habib2302:
|
|
Отправлено: 01:32, 28-11-2012 | #1337 |
Забанен Сообщения: 158
|
Цитата R.i.m.s.k.y.:
На всё про всё пара примеров. Как вы правильно заметили Цитата R.i.m.s.k.y.:
Цитата El Sanchez:
Как не пытайтесь. вот это: [Registry] Root: HKLM; Subkey: SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MY_HARDWARE_SERVICE; ValueType: dword; ValueName: NextInstance; ValueData: $00000001; Flags: uninsdeletekeyifempty uninsdeletevalue Про добавление привилегий папке или файлу, вообще молчу. Добавлю: Ни разу не пробовал, но уверен что например NSIS способен дать повышенные привилегии, Inno нет. |
|||
Последний раз редактировалось SoulSide, 28-11-2012 в 14:09. Отправлено: 13:52, 28-11-2012 | #1338 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Цитата SoftLine:
Если можно расширить вопрос не только записью в реестр но запуском приложений от рут-админа |
|
------- Последний раз редактировалось R.i.m.s.k.y., 28-11-2012 в 14:11. Отправлено: 14:03, 28-11-2012 | #1339 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
Однако есть приложения, уровень доступа которого определить система или не может, или нет необходимости. Это либо какое-нибудь старое, не подготовленное к работе в системе с UAC, приложение (без манифеста, без подписи, от неизвестного издателя), либо, например, та же консоль - cmd.exe. Запуск ее не требует админских прав, запустится она с правами обычного пользователя, но с помощью нее можно пытаться выполнять команды, доступные администраторам, например, копирование в системную директорию system32 или в корень системного диска. Естественно ничего не выйдет, ведь консоль работает с правами обычного пользователя. Вот для таких программ, для которых уровень доступа определить нельзя или нет необходимости, но запустить их с повышенными правами очень хочется и сделана опция в контекстном меню "Запуск от имени администратора". Это не запуск с правами от какого-то мифического супер-пупер администратора, а повышение своих же прав согласно наличию выданного системой администраторского маркера доступа. Microsoft-у следовало бы назвать эту опцию, например, "Запуск с повышенными правами", однако решили, что оттягивающее на себя слово "...администратора" убедит пользователя спать спокойно и не волноваться, что его урезали в правах (IMHO, конечно ![]() Цитата R.i.m.s.k.y.:
Цитата R.i.m.s.k.y.:
Цитата SoftLine:
|
||||
Отправлено: 23:07, 29-11-2012 | #1340 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|