|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Разное - [решено] Автоопределение каталога установки при инсталяции и внесение значений в Реест |
|
Разное - [решено] Автоопределение каталога установки при инсталяции и внесение значений в Реест
|
Пользователь Сообщения: 52 |
Профиль | Отправить PM | Цитировать Привет всем. Перейду сразу к делу.
При запуске любого инсталятора происходит автоопределение каталога установки, а затем внесение значений в реест (думаю это дело рук 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:
Цитата A drum moons:
Цитата A drum moons:
Скрытый текст
и никакого «импорта файлов реестра». Коллега, у Вас, к сожалению, весьма извращённое представление о процессах, которые происходят (и должны происходить) при инсталляции приложения. Цитата A drum moons:
Скрытый текст
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\DjVu.Document\DefaultIcon] "@"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,\ 00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,44,00,6a,00,56,00,69,00,\ 65,00,77,00,5c,00,57,00,69,00,6e,00,44,00,6a,00,56,00,69,00,65,00,77,00,2e,\ 00,65,00,78,00,65,00,2c,00,30,00,00,00 Цитата A drum moons:
Цитата A drum moons:
|
|||||||
Отправлено: 20:22, 31-01-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Согласен. Исправлюсь. С REG_SZ я лоханулся конкретно.
Цитата Iska:
Цитата Iska:
Ах да, я просто упаковываю всю директорию установленной программы и хочу добавить все ветки реестра этой программы в инсталляцию для последующего тихого развертывания. И всего то. |
||
Отправлено: 21:11, 31-01-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
Цитата A drum moons:
Импортируете файл реестра в проект: Скрытый текст
Вот это, так сказать, Ваш вариант: Скрытый текст
В реальности же он несёт всё те же ошибки, если приложение будет установлено не в «%ProgramFiles%\WinDjView». Потому, после импорта проверяете и правите при необходимости каждый параметр, используя константы или переменные компилятора (а, возможно, и препроцессора), указывающие на путь установки приложения, указываете, как поступать с параметром при инсталляции и при деинсталляции и т.п. Например — «{app}\WinDjView.exe,0». В момент инсталляции константа «{app}» будет заменена реальным путём, выбранным пользователем. Цитата A drum moons:
P.S. На будущее: smart install maker Inno Setup. Прочие вопросы Скрипты Inno Setup. Помощь и советы [часть 7] |
|||
Отправлено: 23:01, 31-01-2015 | #4 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Решил я опробовать Inno Script Generator, лично мой вердикт - геморойно.
Подумал воспользоваться Inno Script Studio, если все SIM не получится, но не пришлось. Все таки собрал инсталлятор на Smart Install Maker'е 5.0.4.10, который поддреживает тип EXPAND_SZ (До этого была версия помоложе, без данной поддержки, к стати в этом и была проблема). И все отлично, а главное просто. Так зачем все усложнять? Хочу выразить благодарность за уделенное мне время пользователю Iska! Спасибо, что откликнулись на мой зов, и спасибо за expandsz! |
|
Отправлено: 12:46, 01-02-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
Скрытый текст
Цитата A drum moons:
hh.exe "mk:@MSITStore:%ProgramFiles%\Smart%20Install%20Maker\rushelp.chm::/variables.html"
Цитата:
Т.е., Вы обязаны использовать, например, такое: Скрытый текст
|
|||
Отправлено: 21:27, 01-02-2015 | #6 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Буду краток. Делаю скрытую установку, то есть без диалоговых окон, инсталляция будет по умолчанию, без вмешательства пользователя. Про импорт файлов реестра в SIM это и так ясно.
Проблема у меня в другом. Собираю инсталлятор. Чищу реестр от всего с чем связан поисковый запрос djv, djvu (ассоциацию файлов и т.д. и т.п). Запускаю собранный инсталлятор, все отрабатывает на ура, но например при запуске любого документа djvu происходит ошибка типа он не ассоциирован с нужным им расширением. Снова очищаю реестр. Запускаю родной инсталлятор от автора данного ПО. И все нормально проходит и ассоциация, и т.д. В общем проблема только в этом. Хотя я думаю проблема в том, что я не создовал ассоциацию в HKCR. А создавал в HKLM. Недавно натолкнулся на эту статью. Буду пробовать. |
Отправлено: 11:00, 02-02-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
Цитата A drum moons:
Цитата A drum moons:
И да — оригинальная инсталляция «WinDjView» создаётся именно в HKLM-части: Скрытый текст
Windows Registry Editor Version 5.00 [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] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open] [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" Цитата A drum moons:
|
||||
Отправлено: 11:11, 02-02-2015 | #8 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Вся проблема была в том, что SIM коряво экспортирует значения в реестр. Например:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\shell\open\command] @="\"C:\\Program Files\\WinDjView\\WinDjView.exe\" \"%1\"" - как надо. @="\\\"C:\\Program Files\\WinDjView\\WinDjView.exe\\\" \\\"%1\\\"" - как это делает SIM Хотя если залезть в реестр, то можно убедиться, что SIM все сделал как надо, хотя это не так... |
Отправлено: 13:19, 04-02-2015 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата A drum moons:
|
|
Отправлено: 13:32, 04-02-2015 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|