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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

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


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

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


Доброго времени суток.
Подскажите код
что бы перед началом установки инсталятор удалил определённый файл и только потом начинал установку программы.
и второе, если выбрать определённый компонент, скажем патч в инсталяторе, что бы установился в начале он и только потом все остальные файлы.

Отправлено: 21:52, 19-10-2012 | #1151



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

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


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

Ветеран


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

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


Цитата ToBeLife:
что бы перед началом установки инсталятор удалил определённый файл и только потом начинал установку программы »
Код: Выделить весь код
[CODE]
procedure RD(Dir:string);
begin
  Exec('cmd.exe', ' /c rd /S /Q  ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

procedure RF(file:string);
begin
  Exec('cmd.exe', ' /c del /F /Q  ' + '"'+file+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

Function InitializeSetup: Boolean;
var file2delete : string;
Begin
  file2delete := твой файл;
  RF(file2delete);
  if (not FileExists(file2delete)) then Result := true else Result := False;
end;
Цитата ToBeLife:
второе, если выбрать определённый компонент, скажем патч в инсталяторе, что бы установился в начале он и только потом все остальные файлы. »
Читай в справке Installation Order.
Установщик выполняет скрипт сверху вниз, так что как вариант в секции Files просто нужно поставить файлы "твоего компонента" первыми.

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

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

Отправлено: 22:09, 19-10-2012 | #1152


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


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

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


R.i.m.s.k.y.,
Благодарствую, и как всегда спасибо.

Отправлено: 22:14, 19-10-2012 | #1153


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

Ветеран


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

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


El Sanchez,
расскажи пожалуйста, поподробнее про ключи реестра в 64-х битных системах
К примеру три ключа
- HKLM\SOFTWARE\Wow6432Node
- HKLM64\SOFTWARE\
- HKLM\SOFTWARE\
к каким разрядностям относятся? не являются первый и третий ключи синонимами и если нет - в каких случаях юзается первый и последний?

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


Отправлено: 22:14, 19-10-2012 | #1154


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


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

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


R.i.m.s.k.y.,
простите благодушно, по поводу кода, у меня inno ругается на неизвестный идентификатор res
Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
подскажите пожалуйста

Отправлено: 22:55, 19-10-2012 | #1155


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

Ветеран


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

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


ToBeLife,
Код: Выделить весь код
[CODE]
var res : integer;

procedure RD(Dir:string);
begin
  Exec('cmd.exe', ' /c rd /S /Q  ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

procedure RF(file:string);
begin
  Exec('cmd.exe', ' /c del /F /Q  ' + '"'+file+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

Function InitializeSetup: Boolean;
var file2delete : string;
Begin
  file2delete := твой файл;
  RF(file2delete);
  if (not FileExists(file2delete)) then Result := true else Result := False;
end;

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

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

Отправлено: 23:09, 19-10-2012 | #1156


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


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

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


простите, это я невнимателен, ещё раз спасибо

Отправлено: 23:13, 19-10-2012 | #1157


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

Ветеран


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

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


ToBeLife, та ни, это я строчку var res : integer; забыл

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


Отправлено: 06:03, 20-10-2012 | #1158


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


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

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


R.i.m.s.k.y.,
а в каком формате писать, просто имя с расширением или в кавычки брать?

Цитата R.i.m.s.k.y.:
Begin
file2delete := твой файл;
RF(file2delete);
if (not FileExists(file2delete)) then Result := true else Result := False;
end; »
потому как нужный файл не удаляется.

Отправлено: 13:03, 20-10-2012 | #1159


Аватара для Johny777

Ветеран


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

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


R.i.m.s.k.y., ToBeLife,
можно ж проще
просто удаление:
читать дальше »
Код: Выделить весь код
function InitializeSetup(): Boolean;
begin
  Result := not FileExists(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  if not Result then Result := DeleteFile(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
end;


если у файла есть атрибут "только чтение":
читать дальше »
Код: Выделить весь код
function GetFileAttributes(lpFileName: string): integer;external 'GetFileAttributesA@kernel32.dll stdcall';
function SetFileAttributes(lpFileName: string; dwFileAttributes: integer): integer;external 'SetFileAttributesA@kernel32.dll stdcall';

function InitializeSetup(): Boolean;
begin
  Result := not FileExists(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  if not Result then
  begin
    if (GetFileAttributes(ExpandConstant('{userdesktop}\Half-Life 2.lnk')) and FILE_ATTRIBUTE_READONLY) = FILE_ATTRIBUTE_READONLY then SetFileAttributes(ExpandConstant('{userdesktop}\Half-Life 2.lnk'), FILE_ATTRIBUTE_NORMAL);
    Result := DeleteFile(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:24, 20-10-2012 | #1160



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход