Модераторы: Akella, bartram
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа для создания инсталляторов, с функцией работы с реестром 
:(
    Опции темы
WolfAlone
Дата 30.4.2012, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Доброго времени суток! Пытаюсь найти программу, для создания инсталляторов. Ключевой особенностью этой программы должен быть функционал, позволяющий извлечь из реестра путь, что бы предложить его пользователю как путь установки по умолчанию. Основная проблема заключается в том, что путь в реестре прописан не в "чистом" виде, а в виде как в примере ниже.

Пример:
Код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.csx\shell\open\command]
@="\"D:\\Games\\CS\\hl.exe\" \"%1\""


Дополнительными преимуществами программы будут:
1. Бесплатность
2. Минимальный размер инсталляционного модуля.

Пробовал следующий софт:
  • Nullsoft Install System
  • Inno Setup

В Inno не нашел функционала для извлечения подобного пути из реестра вообще (получилось взять только "чистый" путь), а с NSIS что-то у меня совсем ничего не получилось...

Подскажите пожалуйста программу, способную справиться с этой задачей и/или пример для NSIS который мог бы извлечь подобный путь и использовать его в качестве пути установки по умолчанию.

Благодарю за внимание.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Akella
  Дата 3.5.2012, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 35
Всего: 329



Не совсем понимаю о ченм именно речь. Что за чистый путь?
У Inno есть паскаль-скрипты, например:

Код

function GetKvxPathFromRegistry(): string;
Var
  KVX2008_PATH: string;
begin
  KVX2008_PATH := '';

  If RegKeyExists(HKCU, 'Software\Make It Team') Then Begin
    RegQueryStringValue(HKCU, 'Software\Make It Team', 'KVX2008_PATH', KVX2008_PATH);

  end;//If RegKeyExists(HKLM, 'Software\Make It Team') Then Begin

  if KVX2008_PATH <> '' then
    result := KVX2008_PATH
  else
    result := ''
end;

procedure InitializeWizard();
var
  newInstallFolder: String;
begin
  newInstallFolder := GetKvxPathFromRegistry();

  if newInstallFolder = '' then
    begin
      MsgBox('Установщик не смог определить, где установлена программа "Kvartal Pro". Установите "Kvartal Pro" и запустите её как минимум 1 раз, а затем закройте', mbInformation, MB_OK);
      WizardForm.Close;
    end;



  if Length(newInstallFolder) > 2 then
  begin
    if Copy(newInstallFolder, 1, 1) = '"' then
      newInstallFolder := Copy(newInstallFolder, 2, Length(newInstallFolder) - 2)
    if Length(newInstallFolder) > 1 then
      WizardForm.DirEdit.Text := newInstallFolder;
  end;
end;


Добавлено через 2 минуты и 45 секунд
Цитата(WolfAlone @  30.4.2012,  21:35 Найти цитируемый пост)
 предложить его пользователю как путь установки по умолчанию.


Может лучше без реестра?

user posted image
PM MAIL   Вверх
WolfAlone
Дата 3.5.2012, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Akella, спасибо большое, попробую разобраться!

Цитата(Akella @  3.5.2012,  09:06 Найти цитируемый пост)
Может лучше без реестра?

Уже пробовал, но к сожалению, 70% конечных пользователей плохо понимают, что такое "обновление" ("дополнение") и как его правильно установить (проще говоря, по какой-то причине не могут правильно выбрать каталог для установки). А "прямого" пути в реестре к сожалению нет, есть только путь к EXE'шнику для связи расширения с программой, откуда собственно этот путь и нужно извлечь. По этому, мне видиться только 1 выход из этой проблемы - правильно указывать путь установки "по дефолту".

Добавлено через 7 минут и 43 секунды
Цитата(Akella @  3.5.2012,  09:06 Найти цитируемый пост)
Не совсем понимаю о ченм именно речь. Что за чистый путь?

"Чистый" путь, это когда автор программы (инсталлятора) предусматривает в реестре такой параметр (строку/значение/путь), по которому можно определить, где именно установлена программа (каталог/папка).

Например, "C:\Program Files (x86)\My Program". В моём же случае, мне приходиться извлекать путь до программы из ветки реестра которая отвечает за ассоциацию расширения с EXE'шником.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
Akella
  Дата 3.5.2012, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 35
Всего: 329



Цитата
HKEY_CLASSES_ROOT

Не знаю, даст ли винда простому пользователю (твоей программе) без поднятия прав до привилегий админа доступ к этой ветке реестра?

Добавлено через 51 секунду
Пробуй запускать инсталлятор с поднятием привилегий.
PM MAIL   Вверх
Poseidon
Дата 23.5.2012, 09:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 1
Всего: 133



Цитата(WolfAlone @  3.5.2012,  12:31 Найти цитируемый пост)
к сожалению, 70% конечных пользователей плохо понимают, что такое "обновление" ("дополнение") и как его правильно установить (проще говоря, по какой-то причине не могут правильно выбрать каталог для установки).
Если ты обновляешь свою программу, то Inno знает к ней путь, если ты не менял AppId. Все установится в ту папку, куда была установлена программа первоначально.


Это сообщение отредактировал(а) Poseidon - 23.5.2012, 09:43


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
WolfAlone
Дата 26.7.2012, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: 1
Всего: 5



Poseidon, если бы это была моя программа, я бы позаботился об автоматическом прописывании текущего пути в реестр, для возможности последующих обновлений, без лишних проблем. Но, программа к сожалению, не моя...


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программное обеспечение"
Deface
Akella

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, Akella, bartram.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.