Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Как зарегестрировать свою программу в системе?


Автор: ДЫМ 2.11.2004, 02:22
Хочу написать инсталлер для своей программы.
Куда и как файлы копировать - понятно. Но вопрос в следующем -
как сделать так, чтобы программа появилась в списке установленных программ, чтобы при вызове
"Установка и удаление программ" ее можно было удалить (понятное дело, что надо писать унинсталлер который в данном случае и вызовется)? И еще, - установленные программы запускаются из любого места, хотя их нет в списке PATH, как заставить мою программу делать то же самое?

Автор: sniron 2.11.2004, 02:46
А если взять и твою готовуюпрограмму сразу через InstallShield Express пропустить это решит проблему?

Автор: shilnik 2.11.2004, 05:47
Лучший инсталлер, ИХМО: InnoSetup.

Автор: Illusion Dolphin 2.11.2004, 13:39
Самый лучший инсталер это собственный инсталер ;-)

Код

var
 freg: TRegistry;
begin
freg:=Tregistry.Create;
try
 freg.RootKey:=windows.HKEY_LOCAL_MACHINE;
 freg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MyProgram',true);
 freg.WriteString('UninstallString','"'+filename+'"'+' /uninstall'); //что запустить для унинстала
 freg.WriteString('DisplayName','MyProgram);
 freg.WriteString('DisplayVersion','1.0');
 freg.WriteString('HelpLink','Http://www.mysite.ru');
 freg.WriteString('Publisher','Copyright (c) 2004 by I');
 freg.WriteString('URLInfoAbout','mailto:mymail@yandex.ru');
 except
 freg.free;
 exit;
end;
freg.free;


При унинстале не забудь всё это дело из реестра удалить.

Автор: bartram 2.11.2004, 22:44
ДЫМ, используй инсталер NSIS очень прост в обращении

Автор: MacTep 3.11.2004, 00:08
Лучший инсталлер, конечно, свой инсталлер. Но вот только его нет времени писать, как всегда. Я пользуюсь CreateInstall и меня очень даже устраивает! :)

Автор: Medved 3.11.2004, 00:42
М
 
Модератор: Постите темы в соответствующий раздел.

Автор: ДЫМ 3.11.2004, 02:26
А никто не знает, что это за раздел?
HKEY_CLASSES_ROOT\Applications\

В него не надо при инсталляции ничего писать?

А где взять NSIS или CreateInstall, или документацию по InnoSetup?

Прошу прощения у модератора, если не в тему.

Автор: krid24 3.11.2004, 03:43
http://www.jrsoftware.org/ - последняя версия+исходники+кой-какие инструменты. Документация и примеры - в наборе.
Как раз для Delphi-программеров - и исходники на Delphi и скрипты для инсталяшек пишутся на Delphi-подобном языке.

Автор: Medved 3.11.2004, 11:42
Все завист от того, что вы хотите использовать.
Если зарегистрировать расширпение, то для этого необходимо добавить соответствующие ключи в реестр.

Если же просто:

Тогда достаточно:

Цитата
Для настроек уникальных для компьютера:
HKEY_LOCAL_MACHINE\SOFTWARE\наименование твоей организации\имя программы

Для настроек уникальных для пользователя в пределах одного компьютера:
HKEY_CURRENT_USER\SOFTWARE\наименование твоей организации\имя программы

Авторы Pegas, Vit

Автор: ДЫМ 4.11.2004, 03:07
Все понятно, спасибо, но все же, что это за раздел
HKEY_CLASSES_ROOT\Applications\


Автор: krid24 4.11.2004, 05:20
Там перечислены программы, которые попадают в окно "Открыть с Помощью" (если они ассоциированы с каким-нибуть расширением). Там же можно запретить показывать прогу в этом окне (если создать пустой строковый параметр NoOpenWith). И там же можно, например запретить винде показывать прогу в меню кнопки "Пуск" слева (т.н. список часто используемых программ), если зоздать пустой строковый параметр NoStartPage.
Короче, похоже там винда ведет учет запускаемым прогам, но и самому там, как видишь можно поменять кое-чего.
Хотя, я например заметил, что винда часто оттуда не удаляет проги, которые уже деинсталлированы. Но в окне OpenWith они все-таки не появляются. Так что, судя по всему этот раздел в основном - на усмотрение винды (за небольшим исключением).

Автор: MacTep 4.11.2004, 18:17
Create Install можно найти при помощи любого Yandex'а или Rambler'а - это не проблема!

Автор: Medved 4.11.2004, 22:46
Рекомендую NSIS - выбор профессионалов.

Автор: MacTep 9.11.2004, 17:25
А где можно NSIS найти?

Автор: MacTep 9.11.2004, 22:02
NSIS я скачал, вот только не знаю, с чего начать? Подскажите! Спасибо!

Автор: Medved 10.11.2004, 02:51
http://www.wasm.ru/tools/15/nsis.exe

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

Автор: MacTep 10.11.2004, 22:55
Pegas, да, конечно, высылай, буду благодарен. Адрес: macTepgmp@yandex.ru. Жду! Заранее спасибо! smile

Автор: Stalker Ghost 11.11.2004, 17:41
NSIS можно найти здесь: http://nsis.sourceforge.net/

Автор: Medved 11.11.2004, 22:38
Выкладываю. Большая просьба не распространять эту статью. Она еще не дописана, работы ведуться.

Автор: MacTep 11.11.2004, 22:51
Спасибо, читнем!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)