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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для doctor_allcome

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


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

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


Добрый день! Уважаемые форумчане, кто нибудь может поделиться примером проверки MD5, для нескольких файлов?
По возможности для стандартного Inno, а не для модов (ResTools).

Отправлено: 17:45, 28-04-2016 | #1521



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

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


Аватара для kotyarko@fb

Старожил


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

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


Цитата doctor_allcome:
Уважаемые форумчане, кто нибудь может поделиться примером проверки MD5, для нескольких файлов?
По возможности для стандартного Inno, а не для модов (ResTools). »
Пример:
Код: Выделить весь код
Procedure InitializeWizard();
var
 TFR: TFindRec;
 Filename, Msg: String;
begin
 if FindFirst(ExpandConstant('{src}\*'), TFR) then
 try
  repeat
   if (TFR.Name <> '.') and (TFR.Name <> '..') then
    if TFR.Attributes <> FILE_ATTRIBUTE_DIRECTORY then
    begin
     Filename := ExpandConstant('{src}\') + ExpandConstant(TFR.Name);
     Msg := Msg + Filename + '; MD5: ' + GetMD5OfFile(Filename) + #13#10;
    end;
  until not FindNext(TFR);
 finally
  MsgBox(Msg, mbInformation, MB_OK);
  FindClose(TFR);
 end;
end;

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp


Отправлено: 18:44, 28-04-2016 | #1522


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


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

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


собрал setup, установил программу, после запуска setup заново, setup уже не спрашивает путь для установки...

какой параметр использовать, чтобы всегда setup спрашивал путь установки, независимо от того, стоИт ли эта версия программы или нет?

Отправлено: 16:03, 05-05-2016 | #1523


Аватара для doctor_allcome

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


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

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


Добрый день! Прошу помощи! Есть код, срабатывающий при деинсталляции. Удаляет папку приложения полностью. Необходимо что-бы одна папка (СОХРАНЕНИЯ) не удалялась. Если "СОХРАНЕНИЯ" находятся в Documents and Settings или еще где, то все срабатывает нормально. Но если "СОХРАНЕНИЯ" находятся в {app}\ , то удаляется все из {app}\ включая "СОХРАНЕНИЯ".

Скрытый текст
procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usPostUninstall:
begin
DelTree(ExpandConstant('{app}'),true,true,true);

end;
end;

if CurUninstallStep=usPostUninstall then
begin
if DirExists(ExpandConstant('{app}'+'\СОХРАНЕНИЯ') then
if MsgBox('Вы хотите удалить сохранения?',mbconfirmation, mb_YesNo) = IDYES then
begin
if not DelTree(ExpandConstant('{app}')+'\СОХРАНЕНИЯ', True, True, True) then
MsgBox('Папка с сохранениями не удалена!' #13#13 'Папка не существует или используется другим приложением ...', mbError, MB_OK);
end;
end;
end;

Отправлено: 17:19, 05-05-2016 | #1524


Аватара для ZVSRus

Старожил


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

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


Цитата HomeBasic:
какой параметр использовать
Попробуйте так:

Цитата:
DirExistsWarning=yes

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Отправлено: 19:38, 05-05-2016 | #1525


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

Ветеран


Contributor


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

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


Цитата HomeBasic:
какой параметр использовать, чтобы всегда setup спрашивал путь установки, независимо от того, стоИт ли эта версия программы или нет? »
HomeBasic,
Код: Выделить весь код
DisableDirPage=no
Цитата doctor_allcome:
Есть код, срабатывающий при деинсталляции. Удаляет папку приложения полностью. Необходимо что-бы одна папка (СОХРАНЕНИЯ) не удалялась. Если "СОХРАНЕНИЯ" находятся в Documents and Settings или еще где, то все срабатывает нормально. Но если "СОХРАНЕНИЯ" находятся в {app}\ , то удаляется все из {app}\ включая "СОХРАНЕНИЯ". »
doctor_allcome,
Код: Выделить весь код
[Dirs]
Name: "{app}\СОХРАНЕНИЯ"; Flags: uninsneveruninstall
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:43, 05-05-2016 | #1526


Старожил


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

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


Привет всем прошу помощи не отображаются иконки в ComboBox при Style := csDropDownList;
читать дальше »
; Автор примера sergey3695
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Files]
Source: Setup1.ico; DestDir: {tmp}; Flags: dontcopy; Attribs: hidden system;
Source: Setup2.ico; DestDir: {tmp}; Flags: dontcopy; Attribs: hidden system;

[code]
var
ComboBoxImage: TNewComboBox;
ImageList: TImageList;


procedure ComboBox1DrawItem(Control: TWinControl; index:Integer; Rect: TRect; State: TOwnerDrawState);
begin
ComboBoxImage.Canvas.FillRect(Rect);
ImageList.Draw(ComboBoxImage.Canvas,Rect.left,Rect.top,index);
ComboBoxImage.canvas.textout(Rect.left+ImageList.Width+2,Rect.top, ComboBoxImage.items[index]);
end;


function AddIconInList(ImageList: TImageList; FileName: String): Integer;
var
Icon: TIcon;
begin
Icon := TIcon.Create;
try
Icon.LoadFromFile(FileName);
Result := ImageList.AddIcon(Icon);
finally
Icon.Free;
end;
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('Setup1.ico');
ExtractTemporaryFile('Setup2.ico');

ImageList := TImageList.Create(nil);
AddIconInList(ImageList, ExpandConstant('{tmp}\Setup1.ico'));
AddIconInList(ImageList, ExpandConstant('{tmp}\Setup2.ico'));

ComboBoxImage := TNewComboBox.Create(WizardForm);
with ComboBoxImage do
begin
Parent := WizardForm;
Left := ScaleX(15);
Top := ScaleY(322);
Width := ScaleX(190);
Height := ScaleY(31);
// Style:= csOwnerDrawVariable;
Style := csDropDownList;
Font.Color := clWindowText;
Font.Height := -13;
Font.Name := 'Tahoma';
Font.Style := [];
ParentFont := False;
Text := 'Directx 9';
Items.Add('Directx 9');
Items.Add('Directx 11');
ItemIndex:=0;
OnDrawItem:= @ComboBox1DrawItem;
end;
end;

Последний раз редактировалось vint56, 05-05-2016 в 20:25.


Отправлено: 20:18, 05-05-2016 | #1527


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


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

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


ZVSRus,
к сожалению, ваш параметр DirExistsWarning=yes для моего случая не подходит...

El Sanchez,
спасибо, ваш параметр DisableDirPage=no - то что надо, при повторном запуске setup, он просит указать директорию установки... отлично...

Отправлено: 09:27, 06-05-2016 | #1528


Аватара для doctor_allcome

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


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

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


El Sanchez,
Код: Выделить весь код
 [Dirs]
Name: "{app}\СОХРАНЕНИЯ"; Flags: uninsneveruninstall
Не срабатывает
Код: Выделить весь код
begin
case CurUninstallStep of
usPostUninstall:
begin
DelTree(ExpandConstant('{app}'),true,true,true);
end;
end;
Удаляет все. А должно удаляться только при при выполнении условия
Код: Выделить весь код
if MsgBox('Вы хотите удалить сохранения?',mbconfirmation, mb_YesNo) = IDYES then ....

Отправлено: 10:41, 06-05-2016 | #1529


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

Ветеран


Contributor


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

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


Цитата doctor_allcome:
Удаляет все. А должно удаляться только при при выполнении условия »
doctor_allcome,
Код: Выделить весь код
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  case CurUninstallStep of
    usUninstall:
      if DirExists(ExpandConstant('{app}\СОХРАНЕНИЯ')) and      
      (MsgBox('Вы хотите удалить сохранения?', mbConfirmation, MB_YESNO) = IDYES) then      
        if not DelTree(ExpandConstant('{app}\СОХРАНЕНИЯ'), True, True, True) then
          MsgBox('Папка с сохранениями не удалена!'#13#10'Папка используется другим приложением...', mbError, MB_OK);
  end;  
end;
Цитата vint56:
не отображаются иконки в ComboBox при Style := csDropDownList; »
vint56, при данном стиле и не должны.

Отправлено: 11:46, 06-05-2016 | #1530



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58




 
Переход