![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Инсталлер [D3, D5, D7, Win95/98, WinXP]
Васька © (2004-07-08 15:42:00)Подскажите кто знает, как написать инсталлер для своей проги и ,если можно, подробнее.Спасибо!
wl (2004-07-08 19:31:00) [1]zip self-extration, как-то так
кактусбел (2004-07-08 18:42:00) [2]inno setup классный инсталятор воспользуйся им ,он и компактнор упаковывает и русския язык подоерживеет
Amoeba (2004-07-08 18:30:00) [3]
> если привычного *.dpk нету?
А причем здесь *.dpk??? Это же не компонент, а самостоятельная программа для создания дистрибутивов.
http://www.jrsoftware.org/isinfo.php
Но исходники ее доступны (ссылка была дана в прошлом посте?).
Zhekson (2004-07-08 17:50:00) [4]InnoSetup Видать хороший инсталятор, но вот как его установить, если привычного *.dpk нету?
Кто знает и кому не трудно, ответьте пожалуйста. Остальных прошу не беспокоить.
nejest (2004-07-08 17:18:00) [5]Как написать маленький инсталлятор ?
Мне понравился следующий вариант: главное приложение само выполняет функции инсталлятора. Первоначально файл называется Setup.exe. При запуске под этим именем приложение устанавливает себя, после установки программа переименовывает себя и перестает быть инсталлятором.
Пример:
Application.Initialize;
if UpperCase(ExtractFileName(Application.ExeName))='SETUP.EXE'
then Application.CreateForm(TSetupForm, SetupForm) // форма инсталлятора
else Application.CreateForm(TMainForm, MainForm); // форма основной программы
Application.Run;
Если не устраивает вариант с 2 формами, то можешь испрользовать вариант с вставкой 1 экзешника в другой:
Вставить какую-нибудь программу внутрь EXE файла
1. Пишем в блокноте RC-файл, куда прописываем все нужные нам программы, например:
ARJ EXEFILE C:\UTIL\ARJ.EXE
2. Компилируем его в ресурс при помощи Brcc32.exe. Получаем RES-файл.
3. Далее в тексте нашей программы:
implementation
{$R *.DFM}
{$R test.res} //Это наш RES-файл
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
// Записывает в текущую папку arj.exe
ExtractRes('EXEFILE', 'ARJ', 'ARJ.EXE');
end;
Amoeba (2004-07-08 16:59:00) [6]Возьми за образец InnoSetup. Написан на Delphi, исходники (одной из предыдущих версий) доступны: http://www.jrsoftware.org/download.php/issrc-3.0.7.zip
Bart (2004-07-08 16:32:00) [7]Installshield - не всегда оправдан. Если программулина представляет собой exe который кроме "HelloWorld" ничего не показывает и не испльзует никаких извращений типа midas, установку ODBC то проще написать инсталлер самоме (через ресурсный файл).
А создавать так проект с помощью InstallShield будет неразумно - т.к. размер инсталляшки будет во много раз больше.
Сформулируй - что надо устанавливать.
DimKa (2004-07-08 16:26:00) [8]Набираешь команду программистов, и пишешь...
Главное чтобы он (инсталлер) не получился больше программы.
За этим надо четко следить... :)
ПЛОВ (2004-07-08 16:09:00) [9]
> как написать инсталлер для своей проги
руками
> если можно, подробнее
можно и подробнее. 3-4 пальцами каждой руки набираем исходник инсталятора, потом жмем F9 ждем и... готово
)))))))))))
> См Installshield
Советую так и сделать
Oleg_ (2004-07-08 16:04:00) [10]См Installshield
Zhekson (2004-07-08 15:47:00) [11]Ты чёткий вопрос задал.
А ты наверное подробный ответ ожидал увидеть? Теперь я к тебе присоединяюсь. Тоже буду ждать чёткого ответа.