Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 4]

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата sancheolz:
Дату файла из пакета я собираюсь узнать так: в качестве DestDir будет указана %TEMP%, уже от туда с использованием того же вызова winAPI будет извлечена дата, а затем из темпа файл отправится либо в {app} либо в /dev/null)) в соответствии с его актуальностью »
sancheolz, тогда в лог деинсталлятора запишутся "темповые" файлы и при удалении программы деинсталлятор будет выковыривать их из %TEMP%, а не из {app}, в результате останется программная папка с файлами. В таком случае необходимо в скрипт добавить:
Код: Выделить весь код
[UninstallDelete]
Type: filesandordirs; Name: {app}
Цитата sancheolz:
Остается уповать на сохранность атрибута даты при всех распаковках\запаковках. Он ведь сохраняется? »
Да, если не использовать флаг touch.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:38, 26-01-2012 | #681



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


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

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


Добрый день.Не подскажите что нужно сделать в скрипте ISDone чтоб были распакованы указанные файлы из архива FreeArc(Не все, а только один или несколько).Заранее спасибо.

-------
Стремись не к тому, чтобы добиться успеха, а к тому, чтобы твоя жизнь имела смысл.(Альберт Эйнштейн)


Отправлено: 16:58, 26-01-2012 | #682


Аватара для Gnom_aka_Lexander

Ветеран


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

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


LinkOFF, Прочитать справку к IsDone. Внимательно!

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:43, 26-01-2012 | #683


Аватара для Johny777

Ветеран


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

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


мне никто не поможет немного отредактировть http://forum.oszone.net/post-1843626-672.html ???
Appid=ob
пробовал вписывать свой ключ
if RegQueryStringValue(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ob_is1','Install Dir', AppPath) then
или
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ob_is1','Install Dir', AppPath) then
менял shift.exe на run_hl2.exe
добавлял path + '\half life 2' и Exec(path + '\half life 2\run_hl2.exe'

ничего не видит

мне хотя бы один пример для одной конпи с поиском через реестр, последующим поиском файла и как результат - запуском приложения

Отправлено: 17:52, 26-01-2012 | #684


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Johny777:
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ob_is1','Install Dir', AppPath) »
Johny777, Inno не создает ключ Install Dir, поэтому ничего и не нашлось. Нужно искать InstallLocation. Допустим, что функция RegQueryStringValue вернет в AppPath значение C:\Program Files\Half Life 2 Orange Box\, тогда код может быть таким:
Код: Выделить весь код
[Setup]
AppID=ob

[code]
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'InstallLocation', AppPath) then
        Exec(AppPath + '\half life 2\run_hl2.exe', '', '', SW_SHOWNORMAL, ewNoWait, ResultCode);
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:11, 26-01-2012 | #685


Аватара для Johny777

Ветеран


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

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


El Sanchez,
спасибо конечно , но к сожалению кнопка серая
сделал так (хотя скорее всего ошибся где-то)
Код: Выделить весь код
 
[Setup]
AppID=ob
AppName=AutoRUN
VersionInfoDescription=AutoRUN
VersionInfoProductName=AutoRUN
AppVerName=AutoRUN
VersionInfoProductVersion=1.0.0.0
VersionInfoVersion=1.0.0.0
VersionInfoCompany=john
VersionInfoCopyright=Copyright © John
CreateAppDir=no
OutputDir=.
OutputBaseFilename=Autorun



procedure PlayButtonClick(Sender: TObject);
var
  exe: string;
begin

  exe:='run_hl2.exe';
  if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'InstallLocation', AppPath) then
  begin
    Exec(AppPath + '\half life 2\run_hl2.exe', '', '', SW_SHOWNORMAL, ewNoWait, ResultCode);
  AutoRun.Close;
  PostMessage(WizardForm.CancelButton.Handle, BM_CLICK, 0, 0);
  end
end;

по сути кнопка "играть" появляется вместо кнопки "установить"
я её на 100 пикселей влево сдвинул

вот целиком
http://rghost.ru/36146504

Последний раз редактировалось Johny777, 27-01-2012 в 02:32.


Отправлено: 00:08, 27-01-2012 | #686


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Johny777:
но к сожалению кнопка серая »
Johny777, а я кнопку и не делал, я лишь указал на ошибку поиска исполняемого файла через реестр.
Цитата Johny777:
вот целиком
http://rghost.ru/36146504 »
Johny777, аж 71 байт. Пустой, короче .
В общем, переделал ваш вариант: http://rghost.ru/36156009
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:59, 27-01-2012 | #687


Пользователь


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

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


Подскажите,

Вводится кнопка about:

CancelButton := WizardForm.CancelButton;

AboutButton := TButton.Create(WizardForm);
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
AboutButton.Top := CancelButton.Top;
AboutButton.Width := CancelButton.Width;
AboutButton.Height := CancelButton.Height;
AboutButton.Caption := '&About...';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := WizardForm;

Как сделать так, чтобы она отображалась только на Welcome page?

Отправлено: 19:47, 27-01-2012 | #688


Аватара для nik1967

Старожил


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

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


Цитата leshcat:
Как сделать так, чтобы она отображалась только на Welcome page? »
Код: Выделить весь код
Procedure CurPageChanged(CurPageID: Integer);
Begin
  if CurPageID = 1 then
    AboutButton.Show
  else
    AboutButton.Hide;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:27, 27-01-2012 | #689


Аватара для Johny777

Ветеран


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

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


El Sanchez,
спасибо, что помогаете
заработало

объединить кнопку "установить" и "играть" задумка хорошая,
скажите пожалуйста!
А можно сделать, что бы запускался не run_hl2.exe, а hl2.exe с параметрами
Run_hl2.exe это бывший батник с параметрами, кторый можно использовать, но лучше (если это возможно) сделать как у меня в секции RUN (например Parameters: -steam -game hl2 -appid 220)
по сути будет проверяться наличие одного и того же hl2.exe, но в различных директориях
уже перечитал всю ветку Inno Setup "помощь и советы часть 2", но настолько не продвинулся , что б всё самостоятельно реализовать

(спасибо за картинку , но Orange Box это внутреннее название. У меня сортировка по версии движков идёт. В реале "Source Engine 15" sp (без тим фортресс))
выкладываю скрипт целиком со всем прилагающимся, если нужно
http://rghost.ru/36163770
http://rghost.ru/36164295
http://rghost.ru/36164749
http://rghost.ru/36165097
http://rghost.ru/36165223
оставил только экзешники и батники - для проверки запуска хватит, но игра не запустится, вылетит с ошибкой нехватки библиотеки

Последний раз редактировалось Johny777, 28-01-2012 в 12:02.


Отправлено: 23:08, 27-01-2012 | #690



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход