![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Автоопределение каталога установки при инсталяции и внесение значений в Реест |
|
Разное - [решено] Автоопределение каталога установки при инсталяции и внесение значений в Реест
|
Пользователь Сообщения: 52 |
Привет всем. Перейду сразу к делу.
При запуске любого инсталятора происходит автоопределение каталога установки, а затем внесение значений в реест (думаю это дело рук dll библиотек). Вернее определяется буква диска куда будет устанавливаться программа. И вносятся необходимые значения в реест. К примеру: [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\DefaultIcon] @="C:\\Program Files\\WinDjView\\WinDjView.exe,0" и другие... В многих программах по изготовлению инсталяторов можно добавлять reg файлы. Созданный инсталятор инсталирует приложение, может быть чего то еще делает (все зависит от фантазии автора, не суть) и вносит изменения в реест, которые берет из reg файла. Все бы хорошо, но что если буква локального диска не C, а D? Тогда это приведет к катастрофическим последствиям! Пробовал устанавливать такое значение @="%PROGRAMFILES%\\WinDjView\\WinDjView.exe,0", но не срослось. Или это в обще не уместно? Может кто знает как заставить систему (пусть хоть через батник) распознавать буквы локальных дисков, передавать эти значения переменным и собственно сгенерировав значения ветвей реестра добавлять их в этот самый реестр. Извиняюсь за ошибки и за столь развернутый вопрос. |
|
Отправлено: 19:20, 31-01-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
Цитата A drum moons:
|
||
Отправлено: 07:09, 22-02-2015 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 10:23, 22-02-2015 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Продемонстрируйте — это значит продемонстрируйте. Можете использовать скриншоты.
|
Отправлено: 10:47, 22-02-2015 | #23 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Так я и использовал скриншоты. Или надо более подробней? Если надо, то могу.
|
Отправлено: 11:07, 22-02-2015 | #24 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Установил родную от мозиллы. Посмотрел реестр, a там только в HKLM все суется. Видать для всех юзверей. Ну и ладно.
Без сервисов яндекса и плагинов браузер летает. Хотя до этого отключал, но не все. Признаюсь мне нравиться, некоторые фишки в яндексе (переводчик и встроенный поисковик этого сервиса). Но все равно интересно, как инсталлятор от Яндекса сумел определить SID (ну или что то типо того). Это не критически важно, но если узнаете, то дайте мне знать, спасибо. |
Отправлено: 11:22, 22-02-2015 | #25 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
Понимаю что справку RusHelp.chm даже не открывали (Совет: Почитайте обязательно!)? Цитата A drum moons:
И тогда ваши внесения: Цитата A drum moons:
Правильнее будет так: Цитата A drum moons:
Цитата A drum moons:
Смотрите как это происходит: инсталлятор отрабатывает именно так. Хочется через реестр? Вот вам через реестр: Действия при инсталляции
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.djv] @="DjVu.Document" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.djvu] @="DjVu.Document" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document] @="DjVu Document" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\DefaultIcon] @="C:\\Program Files\\WinDjView\\WinDjView.exe,0" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\command] @="\"C:\\Program Files\\WinDjView\\WinDjView.exe\" \"%1\"" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\ddeexec] @="[open(\"%1\")]" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\ddeexec\Application] @="WinDjView" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\ddeexec\IfExec] @="[rem open]" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\ddeexec\Topic] @="System" Действия при деинсталляции
Вот пару примеров WinDjView. |
|||||
Отправлено: 11:43, 22-02-2015 | #26 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Покажите скриншоты с информацией, на основании которой Вы сделали выводы о:
Цитата A drum moons:
|
|
Отправлено: 11:44, 22-02-2015 | #27 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Nordek, но я собираю инсталлы для себя на WPI, с своими заранее выставленными, сконфигурированными настройками, конечно можно использовать ключи тихой установки, но это чревато тем, что потом надо будет настраивать приложение под себя, а это лишние телодвижения. Windjviewer это пройденный этап, и про переменные окружения мне давно известно. Про ключ /p в командной строке для смены каталога установки программы я не знал, снимаю шлапу.
Чем SIM плох я не понимаю, да он проще всяких навороченных inno setup'ов, но так мне не надо создавать всяких диалоговых окон, файлов ответа и т.д. Мне требуется запаковать файлы и добавить кусты реестра и все, тем более это тихая установка, освобождает от лишнего гемора. Да и какой пользователь будет ставить на D:\? Вот Вы сами так часто ставите? Я думаю нет потому как,если ось на другом диске и она полетит, то после переустановки оси все необходимое в реестре для WinDjViewer'а тоже будет потеряно. Я думаю выбор директории не так уж и важен, тем более если инсталлятор правильно вносит данные в реестр. Конечно у пользователя может быть тысяча причин чтобы инсталлировать на другой диск, но на практике такое встречается весьма редко 1 из 100. Iska, вот скрин это уже русская сборка от Моzill'ы (не от яндекса) Ссылка на русскую версию. В чисто английской сборке HKU не присутствует. Думаю можно обойтись и без HKU, взять от английской версии кусты реестра, файлы от русской версии firefox'а + можно прилепить профиль с заранее установленными дополнениями и слить воедино. |
Отправлено: 12:59, 22-02-2015 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать A drum moons, как я и предполагал, Вы некорректно интерпретируете результаты, показанные на приведённом скриншоте.
«S-1-5-21-<machine RID>-500» — это SID учётной записи встроенного администратора (см., например: 2.4.2.4 Well-Known SID Structures). Под которым, как я полагаю, Вы и производите установку. «HKU\S-1-5-21-<machine RID>-500» — реальное положение в реестре загруженного куста текущего (HKCU) пользователя. Т.е., в реальности всё пишется в HKCU, никаких «определений SID» не происходит, да и ни к чему это. Ровно то же самое происходит и ниже, с «HKU\S-1-5-21-<machine RID>-500_CLasses» — это реальное положение в реестре пользовательской части описания классов, которая после её наложения на машинную часть описания классов, отображается в реестре как «HKEY_CLASSES_ROOT». Т.е., и тут нет никаких «определений SID» при инсталляции. Происходит обычная работа с HKCR. Про детали работы с реестром можете почитать здесь же, на сайте: реестр site:www.oszone.net - Поиск в Google, прежде всего — Введение: описание реестра Windows. |
Отправлено: 13:42, 22-02-2015 | #29 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Значит твики добавляются в HKCU, а после работы реестра (слияний и т.д.), изменения отображаются в HKU. Именно в HKCU надо добавлять твики, которые добавлены в HCU. Я Вас правильно понял?
|
Отправлено: 13:59, 22-02-2015 | #30 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Архивирование с удалением каталога при помощи запуска батника из того же каталога | HAMMER7 | Скриптовые языки администрирования Windows | 0 | 09-04-2012 20:29 | |
Установка - при инсталяции Vista Business зависает при появлении ProgressBar. | _ib_ | Microsoft Windows Vista | 5 | 18-09-2008 05:17 | |
Загрузка - [решено] Черный экран после установки недопустимых значений для разрешения экрана | Кварц | Microsoft Windows 2000/XP | 4 | 21-03-2008 22:34 | |
Внесение изменений во все листы книги Excel при помощи VB макросов | Vadikan | Программирование и базы данных | 4 | 29-12-2005 02:10 | |
Ошибка при инсталяции | OSAMA | Непонятные проблемы с Железом | 21 | 26-05-2004 23:55 |
|