Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата A drum moons:
При запуске любого инсталятора происходит автоопределение каталога установки, »
Нет. Каталог установки «по умолчанию» задаётся при создании инсталлятора. Рекомендуется использовать путь:
Код: Выделить весь код
Путь к «Program Files»\«Компания»\«Приложение»
При наличии уже установленного приложения (например, более ранней версии) правильный инсталлятор определяет данный факт и предлагает путь для установки не «по умолчанию», а в каталог ранее установленного приложения.

Цитата A drum moons:
а затем внесение значений в реест (думаю это дело рук dll библиотек). Вернее определяется буква диска куда будет устанавливаться программа. И вносятся необходимые значения в реест. »
Ещё раз нет. Происходит иначе, нежели Вы описали.

Цитата A drum moons:
В многих программах по изготовлению инсталяторов можно добавлять reg файлы. Созданный инсталятор инсталирует приложение, может быть чего то еще делает (все зависит от фантазии автора, не суть) и вносит изменения в реест, которые берет из reg файла. »
В разных бредовых псевдоинсталляторах и не такое бывает. В правильных — файл реестра можно импортировать в проект инсталляции, Затем на его основе создаются отдельные записи в проекте, которые затем могут быть использованы при инсталляции для создания разделов, параметров и задания значений параметров реестра. Причём в Вашем примере:
Цитата A drum moons:
К примеру:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DjVu.Document\DefaultIcon]
@="C:\\Program Files\\WinDjView\\WinDjView.exe,0" »
путь «C:\Program Files\WinDjView\WinDjView.exe» строится по вышеописанным выше мною принципам:
Скрытый текст
  • при установке инсталлятор проверяет, не было ли ранее установленной версии приложения «WinDjView»;
  • при положительном ответе — для установки предлагается путь, куда было ранее установлено это приложение;
  • при отрицательном — запрашивает у ОС путь к «Program Files», добавляет путь к нему путь «WinDjView» и предлагает для инсталляции его;
  • производит в реестре потребные изменения, в их числе — регистрирует тип документа;
  • при задании пути к иконке приложения используется ранее определённый путь.

и никакого «импорта файлов реестра».

Коллега, у Вас, к сожалению, весьма извращённое представление о процессах, которые происходят (и должны происходить) при инсталляции приложения.

Цитата A drum moons:
Пробовал устанавливать такое значение @="%PROGRAMFILES%\\WinDjView\\WinDjView.exe,0", но не срослось.»
Для использования переменных окружения нужно использовать «REG_EXPAND_SZ», а не «REG_SZ». А «REG_EXPAND_SZ» в файле реестра выглядит как набор строк с hex-значениями, например:
Скрытый текст
Код: Выделить весь код
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