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

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

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

Ветеран


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


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

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


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


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

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать;

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

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

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

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


Ссылка на архив предыдущей темы (также можно скачать из вложения)

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 22:06, 23-08-2009

 

Аватара для semiono

Ветеран


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

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


Всё это легко можно здалать знающим Паскаль в секции [соdе], только Serega, пропал кудато и занят,
а все остальные спят тут. :\

Цитата mash:
Или такой вопрос, можно ли сделать чтоб инсталлятор считывал значение в реестре »
RegQueryStringValue()
Цитата mash:
и запускал файл rus.reg »
Exec(), ShellExecute() и всякие If, Then итп. я в этом сам не орентируюсь

В справке почитай:
Pascal Scripting /Support Functions Reference
жаль там примеров кот наплакал.

-------
Полезное сообщение


Отправлено: 12:31, 31-05-2010 | #1851



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

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


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата mash:
Или такой вопрос, можно ли сделать чтоб инсталлятор считывал значение в реестре, например »
Код: Выделить весь код
[Files]
Source: Reg.reg; DestDir: {tmp}; AfterInstall: NLS
[_Code]
Procedure NLS();
Var NLS1: string; res : integer;
begin
  RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage','10001', NLS1);
  if NLS1 <> 'www' then Exec('reg.exe', ' import ' + ' ' + AddQuotes(ExpandConstant('{tmp}\reg.reg')),ExpandConstant('{tmp}'),SW_HIDE, ewWaitUntilTerminated, res);
end;
Примерно так.

А по первому вопросу я без понятия, как через код сказать инно, что хорошо бы в конце ребутнуться.

Цитата semiono:
жаль там примеров кот наплакал »
Зато в шапке темы примеров полно!

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 31-05-2010 в 13:42.

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

Отправлено: 13:14, 31-05-2010 | #1852


Новый участник


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

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


люди добрые подскажите как сделать так чтоб выбраный ярлык во время инсталяции отправляло на раб стол
и как сделать нормальную деинстоляцию программы а то выдаёт ошибку что какой то файл не распознан данной версией
подправте мои скрипт
[СODE]
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{EC6A737E-3DBD-471F-B85C-D3451AB4A69A}
AppName=Tom Clancy's Rainbow Six Vegas
AppVerName=Tom Clancy's Rainbow Six Vegas
DefaultDirName={pf}\Tom Clancy's Rainbow Six Vegas
DefaultGroupName=Tom Clancy's Rainbow Six Vegas
DisableProgramGroupPage=true
OutputDir=C:\
OutputBaseFilename=setup
SetupIconFile=C:\Documents and Settings\Стас\Рабочий стол\autorun.ico
DiskSpanning=yes
SlicesPerDisk=1
DiskSliceSize=2100000000
DiskClusterSize=4096
ReserveBytes=0
Compression=lzma/normal
SolidCompression=true
UninstallDisplayIcon={app}\R6Vegas_Game(tanik).exe
UninstallDisplayName=Tom Clancy's Rainbow Six Vegas

[Languages]
Name: english; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl

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

[Files]
Source: D:\Игры\Tom Clancy's Rainbow Six Vegas\Binaries\R6Vegas_Game(tanik).exe; DestDir: {app}; Flags: ignoreversion
Source: D:\Игры\Tom Clancy's Rainbow Six Vegas\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Tom Clancy's Rainbow Six Vegas; Filename: {app}\R6Vegas_Game(tanik).exe
Name: {commondesktop}\Tom Clancy's Rainbow Six Vegas; Filename: {app}\R6Vegas_Game(tanik).exe; Tasks: desktopicon

[Run]
Filename: {app}\R6Vegas_Game(tanik).exe; Description: {cm:LaunchProgram,Tom Clancy's Rainbow Six Vegas}; Flags: nowait postinstall skipifsilent
[СODE]





ps.я чайник сильно не ругайте

Последний раз редактировалось konder1995, 31-05-2010 в 19:01.


Отправлено: 15:44, 31-05-2010 | #1853


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата konder1995:
я чайник сильно не ругайте »
Это видно раз мастером делали. А вот за то что ошибку не написали - поругаем. Ласково пожурим и за портянку кода - такой код надо заключать в теги [СODE] [/СODE]

Код: Выделить весь код
[Tasks]
Name: desktopicon; Description: Поместить ярлык на рабочий стол;  GroupDescription: Дополнительные ярлыки; Flags: unchecked
Секция [Icons] нормально написана на первый взгляд, должно помещаться все. Птичкой отмечаем нужную галку при инсталляции? А то секция [Tasks] была не очень хорошо написана, на отдельной странице задач было все верно написано? А то может там и непонятно что требуется.

Я не играл в Tom Clancy's Rainbow Six Vegas, но где у него должен правильно лежать запускной экзешник? В Binaries? судя по [Files] он кладется в папку {pf}\Tom Clancy's Rainbow Six Vegas и оттуда запускается, на него и ярлыки. Не есть гуд и переименовывать запускные экзешники.

Код: Выделить весь код
[Run]
Filename: {app}\R6Vegas_Game(tanik).exe; Description: Запустить Tom Clancy's Rainbow Six Vegas; Flags: shellexec postinstall skipifsilent
Примерно так.

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

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

Отправлено: 16:10, 31-05-2010 | #1854


Аватара для semiono

Ветеран


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

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


Цитата R.i.m.s.k.y.:
А по первому вопросу я без понятия, как через код сказать инно, что хорошо бы в конце ребутнуться. »
if NLS1 <> 'www' then Exec('shutdown.exe', '-r -f -t 00...


Посмотрите мой вопрос, пожалууста? http://forum.oszone.net/post-1422716-1839.html
Ато всё дело стало. Если нет решения так нет. Буду батники тогда ваять.

Если даже взять BINARY данные, то из реестра они в файл пишуться как квадраты,
значится надо конвертировать это перед записью в файл?
Хотяб с REG_BINARY подскажите, если уж REG_NONE действительно проблемно.

-------
Полезное сообщение


Отправлено: 18:38, 31-05-2010 | #1855


Новый участник


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

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


Такой вопрос:
1)как сделать так чтоб программу можно было запускать через меню пуск?
2)как задать запуску и удаленю иконки?
Заранее спасибо.

Отправлено: 21:37, 31-05-2010 | #1856


Аватара для semiono

Ветеран


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

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


Цитата konder1995:
как сделать так чтоб программу можно было запускать через меню пуск? »
Name: "{userprograms}\Miranda"; Filename: "{pf}\Miranda\Miranda.exe"; WorkingDir: "{pf}\Miranda"; IconFilename: "{pf}\Miranda\Miranda.ico"; Comment: "Miranda"

Цитата konder1995:
как задать запуску и удаленю иконки »
так же

-------
Полезное сообщение


Отправлено: 21:45, 31-05-2010 | #1857


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата semiono:
if NLS1 <> 'www' then Exec('shutdown.exe', '-r -f -t 00 »
Некрасиво. А если сетуп не успеет закончить свои делы и команда ребутнет комп? Надо грамотно - чтобы инсталлер сам предложил перегрузится.

Цитата semiono:
Посмотрите мой вопрос, пожалууста »
Смотрел, все что мог сказать по этому вопросу я уже сказал. Не знаю я как инно дружит с Reg_none & Reg_Binary. Когда мне надо какой-нить экзот занести в реестр, я ключ из реестра импортирую в рег-файлик, потом через ISTool его импортирую и смотрю как он получился в коде инно, дальше уже смотрю что там есть.
А вот что пишет справка инно про типы регданных
Код: Выделить весь код
The data type of the value. This must be one of the following:

none
string
expandsz
multisz
dword
qword
binary

If none (the default setting) is specified, Setup will create the key but not a value. In this case the ValueName and ValueData parameters are ignored.
If string is specified, Setup will create a string (REG_SZ) value.
If expandsz is specified, Setup will create an expand-string (REG_EXPAND_SZ) value.
If multisz is specified, Setup will create an multi-string (REG_MULTI_SZ) value.
If dword is specified, Setup will create a 32-bit integer (REG_DWORD) value.
If qword is specified, Setup will create a 64-bit integer (REG_QWORD) value.
If binary is specified, Setup will create a binary (REG_BINARY) value.
Reg_None нету в перечне.

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 08:51, 01-06-2010 | #1858


Новый участник


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

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


Уважаемый R.i.m.s.k.y., я в скриптах просто ноль, скажите, Вы написали пример скрипта для одного значения:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"10001"=""

Я правильно понял?
А если повесить перезагрузку на файл reg.reg? Можно такое?

Увидел значение ("10001"=""), винда англ,запускается reg и по нему перезагрузка, а? Будет ли она в конце инсталляции правда?

Последний раз редактировалось mash, 01-06-2010 в 10:53.


Отправлено: 10:35, 01-06-2010 | #1859


Новый участник


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

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


Всем привет!Я новичок в Inno Setup ноль(((дайте пожалуйста скрипт в котором можно например архив FreeArc разделить на 2 диска,например если у меня архив 8гб а мне нужно чтобы он был 2 по 4гб,когда например первый установится чтоб просил вставить второй диск.Помогите пожалуйста((

Отправлено: 12:05, 01-06-2010 | #1860



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход