Создаем install для разных проектов.Идеи и реализации тут .

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#1 Сообщение 24.01.2009, 22:40

темку создал для удобства..делаем (я и [user] )установщики для разных проектов,связанных со стимом/играми ..
Поэтому буду писать сюда идеи..прошу помочь знающих в их реализации:)
[user] переходи на Inno .Поставь DefaultDirName={reg:HKLMSOFTWAREValveSteam,InstallPath|{pf}InstallPath}
и будет находить путь папки стима,используя реестр..

вот примерный скрипт на inno для SteamUP
[spoiler=""см""]

Код: Выделить всё

[Setup]
SourceDir=.
OutputDir=Setup
AppName=SteamUP
AppVerName=SteamUP
AppVersion=SteamUP
AppPublisher=cs.rin.ru [compile by artemon]
AppCopyright=cs.rin.ru [compile by artemon]
AppPublisherURL=cs.rin.ru
AppSupportURL=cs.rin.ru
AppUpdatesURL=cs.rin.ru
DefaultDirName={reg:HKLMSOFTWAREValveSteam,InstallPath|{pf}InstallPath}
DefaultGroupName=SteamUP
AllowNoIcons=yes
InfoBeforeFile=H:installsteamupREADME SteamUp!.TXT
OutputBaseFilename=setup
WizardImageFile=H:installWizModernImage-steaml.bmp
WizardSmallImageFile=H:installWizModernSmallImagesteam.bmp
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/fast
SlicesPerDisk=1
SetupIconFile=H:installSteamUpICO.ico

[Languages]
Name: "russian"; MessagesFile: "compiler:LanguagesRussian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"

[Files]
Source: "H:installsteamup*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension


[Icons]
Name: "{group}SteamUP"; Filename: "{app}SteamUp!.exe"; WorkingDir: "{app}";
Name: "{userdesktop}SteamUP"; Filename: "{app}SteamUp!.exe"; WorkingDir: "{app}"; Tasks: desktopicon;
Name: "{group}{cm:UninstallProgram,SteamUP}"; Filename: "{uninstallexe}"

[Run]
Description: "{cm:LaunchProgram, SteamUP}"; Filename: "{app}SteamUp!.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked

[UninstallDelete]
Type: filesandordirs; Name: "{app}"

[Code]
const
  dURL=2;

var
  URLLabel,URLLabelShadow:TLabel;


procedure URLLabelClick(Sender: TObject);
var
  ErrorCode:integer;
begin
  ShellExec('open','cs.rin.ru','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;

procedure URLLabelMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
  URLLabel.Top:=URLLabel.Top+dURL;
  URLLabel.Left:=URLLabel.Left+dURL;
  URLLabel.Font.Style:=URLLabel.Font.Style+[fsUnderline];
  URLLabel.Font.Color:=clBlue;
  URLLabelShadow.Visible:=False;
end;

procedure URLLabelMouseUp(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
begin
  URLLabel.Top:=URLLabel.Top-dURL;
  URLLabel.Left:=URLLabel.Left-dURL;
  URLLabel.Font.Style:=URLLabel.Font.Style-[fsUnderline];
  URLLabel.Font.Color:=clMaroon;
  URLLabelShadow.Visible:=True;
end;

procedure InitializeWizard;
begin
  URLLabelShadow:=TLabel.Create(WizardForm);
  with URLLabelShadow do begin
    Top:=ScaleY(331);
    Left:=ScaleX(25);
    Caption:='cs.rin.ru';
    AutoSize:=True;
    Parent:=WizardForm;
    Transparent:=True;
    Font.Color:=$969696;
    Font.Size:=9;
    Font.Style:=Font.Style+[fsBold];
  end;
  URLLabel:=TLabel.Create(WizardForm);
  with URLLabel do begin
    Top:=ScaleY(331)-dURL;
    Left:=ScaleX(25)-dURL;
    Caption:='cs.rin.ru';
    AutoSize:=True;
    Parent:=WizardForm;
    Cursor:=crHand;
    Transparent:=True;
    Font.Color:=clMaroon;
    Font.Size:=9;
    Font.Style:=Font.Style+[fsBold];
    BringToFront;
    OnClick:=@URLLabelClick;
    OnMouseDown:=@URLLabelMouseDown;
    OnMouseUp:=@URLLabelMouseUp;
  end;
  WizardForm.Position:=poScreenCenter;
end;
[/spoiler]

Вот пока у меня несколько вопросов по Inno,может кто поможет..
1)как сделать запрос на удаление или неудаление файлов/папки (при деинсталяции)?
2)как применить скин (вроде бы можно через библиотеку для нсиса?)?
3)и вопрос посложнее..можно ли в инсталятор встроить кнопочку(расположить например в правом нижнем углу) для
отключения звука в инсталяторе,если в инстал включена музыка..(плеер не предлогать..хочется одну кнопу..вкл и выкл,и чтоб не появлялось отдельно от окна инстала..ну конечно если это возможно..)

з.ы. пока всё prankster

[user]
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 3501
Зарегистрирован: 18.07.2008
Благодарил (а): 2 раза
Поблагодарили: 17 раз
Контактная информация:

#2 Сообщение 25.01.2009, 14:33

Да, на Inno надо переходить... Но, пока у меня не получается реализовать в нём кое-что...
Поставь DefaultDirName={reg:HKLM\SOFTWARE\Valve\Steam,InstallPath|{pf}\InstallPath}
и будет находить путь папки стима,используя реестр..
А если этого значения в реестре нет, он укажет по умолчанию %programfiles%\%AppName% ?

В будущем планирую делать 2 версии установщика: с файлами платформы (установленный лиц. стим не требуется, для нубов) и без файлов платформы (для профессионалов). Пока делаю только 1-й вариат... и испрользую в нём, на всякий случай, steam.cfg:

Код: Выделить всё

BootStrapperInhibitAll=enable
...Ни кто точно не знает, что они сделают в новой платформе... Например, в текущей версии они сделали невозможным, на их взгляд, использование но-стим мастерсервера... Но решение проблемы я нашёл за несколько минут :D. Так же, воспользовавшись наличием steam.cfg, я подменил 2 файла в папке Public: url_list.txt и steamui_russian.txt. Но из-за steam.cfg есть и 1 неприятный момент: стим-клиент иногда не запускается... приходится завершать процесс и запускать его заново... Кое-что сделал для решение этой проблемы... написал батник, автоматически перезапускающий кряк. стим-клиент...
© [user]

South
Разработчик
Разработчик
Сообщения: 287
Зарегистрирован: 18.06.2006
Откуда: с работы
Поблагодарили: 2 раза

#3 Сообщение 30.01.2009, 23:19

думаю что на руборде есть ответы на вопросы из первого поста
ЗЫ что подразумевается под
установщики для разных проектов
?
если утилиты, то установщик ни к чему
если игры, то вроде и так обходились все время
все пропало

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#4 Сообщение 30.01.2009, 23:34

дай ссылку пожалуйста на пост с руборда..просто я там не часто бываю..плохо ориентируюсь..

South
Разработчик
Разработчик
Сообщения: 287
Зарегистрирован: 18.06.2006
Откуда: с работы
Поблагодарили: 2 раза

#5 Сообщение 30.01.2009, 23:52

нугдетоздесь
для начала скачай "Коллекция скриптов и Сборник вопросов" из шапки и ... ну там разберешься думаю. если не нашел ответа, смотри текущую и предыдущие части (их уже 400 стр. накопилось). ну и поиск в помощь. там все что можно было, давно обмусолили по несколько раз
ЗЫ некоторые вопросы обозвали нерешабельными хоть это и не правда, все можно сделать, если захотеть
все пропало

Аватара пользователя
argnist
VIP
VIP
Сообщения: 1083
Зарегистрирован: 21.05.2006
Откуда: Украина, Днепропетровск
Поблагодарили: 1 раз

#6 Сообщение 31.01.2009, 01:14

кстати, там где-то можно найти пример скрипта такого же инсталлера, как в л4д нашем и упк :)
я спрашивал знающий народ, там где-то мне и овтечали

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#7 Сообщение 22.02.2009, 16:12

А на кой вам Inno? Юзайте Advanced Installer - получше будет (или я в этом ниче не смыслю)

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#8 Сообщение 22.02.2009, 16:28

первый раз слышу :blush: дай пример инстала ,собранного с помощью этой программы..? дай самый лучший :D

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#9 Сообщение 22.02.2009, 16:29

Примерами тут ничего не покажешь. Лови прогу (крякнутая и на рус. языке). prankster С помощью этой проги можно делать самые сложные многоступеньчатые инсталы с кучей функций.:)

Описание:
Advanced Installer Enterprise 6.3

Год выпуска: 2008
Версия: 6.3
Разработчик: Caphyon
Платформа: Windows
Совместимость с Vista: полная
Системные требования:

Минимальные:
Pentium 233 MHz CPU
128 MB RAM
1024x768 screen resolution
32 MB hard drive space
Windows 2000 Service Pack 4
Windows Installer 2.0

Рекомендуемые:
Pentium 4 class CPU
512 MB RAM
1600x1200 screen resolution
1 GB hard drive space
Windows XP Service Pack 2 / Vista
Windows Installer 3.1 / 4.0
Latest Windows Platform SDK

Язык интерфейса: русский
Таблэтка: Присутствует

Описание:
Настоящее Windows Installer де факто является стандартом установки приложений на платформе Windows. Создание сложных файлов, поддерживаемых Windows Installer, требует тщательного планирования и кропотливой работы. Advanced Installer предоставляет простой интерфейс для создания продвинутых инсталляторов Ваших приложений.

Advanced Installer - профессиональная программа для создания MSI-установщиков приложений для операционных систем Windows. Advanced Installer работает под управлением ОС Windows 2000/XP, а созданные установщики могут быть запущены в системах Windows 9x/ME/NT/2000/XP. Программа крайне проста в использовании (для своего уровня), все взаимодействие с ней осуществляется через удобный интерфейс, так что вам не придется изучать большое количество документации и писать сложных скриптов - каждое действие логично и интуитивно выполняется через систему внутренних команд. Созданные проекты сохраняются в формате XML для дальнейшего использования.
По сравнению с Wise, InstallShield и другими программами для создания MSI-пакетов, Advanced Installer имеет гораздо более понятный интерфейс, с помощью которого Вы создадите свой пакет установки за считанные минуты.

ЗЫ: Описание украл с торрента, где качал... :D
По мне дык программа навороченная, но довольно простая в освоении.
Последний раз редактировалось OutFace 22.02.2009, 17:00, всего редактировалось 1 раз.

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#10 Сообщение 22.02.2009, 16:59

спасибо! главный вопрос - можно ли менять сам вид интерфейса установки?( не только баннер справа,и сверху,а как в инстале l4d в сборке ксмании)

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#11 Сообщение 22.02.2009, 17:01

Там можно каждый диалог отдельно настраивать.

Советую при создании инстала выбирать пункт "Предприятие" - функций больше.

Аватара пользователя
argnist
VIP
VIP
Сообщения: 1083
Зарегистрирован: 21.05.2006
Откуда: Украина, Днепропетровск
Поблагодарили: 1 раз

#12 Сообщение 22.02.2009, 17:06

OutFace
прогрессбар можно модифицировать? бордер/цвет и размеры кубиков

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#13 Сообщение 22.02.2009, 17:08

argnist
вроде бы нет :( ..я не нашел (

OutFace
Майор
Майор
Сообщения: 773
Зарегистрирован: 28.01.2009
Поблагодарили: 1 раз

#14 Сообщение 22.02.2009, 17:15

можно сделать так :lol: :lol: :lol: :D

Аватара пользователя
[artemon]
Капитан
Капитан
Сообщения: 342
Зарегистрирован: 11.08.2008
Откуда: тут нашлось столько гнилья?
Контактная информация:

#15 Сообщение 22.02.2009, 17:17

это если создать проект установки visual studio? круто,ща помужусь :D

Ответить